Главная > 1С Предприятие 8.2 > Добавление колонок остатков товаров в табличную часть документа

Добавление колонок остатков товаров в табличную часть документа

Отображение остатков в табличной части

По идее, если брать обычный документ в 1С Предприятие, то можно добавить реквизит “Остаток” и туда заполнять каждый раз значение остатка номенклатуры на складе, но так делать неправильно: при каждом открытии документа будет осуществляться заполнение реквизита текущими значениями остатка на складе. Это приведет к тому, что документ каждый раз при закрытии придется перезаписывать, что по сути неправильно. Для этого необходимо в табличную часть добавить колонку, которая не будет связана с данными документа.

В моем примере я добавляю сразу несколько колонок про остатки для каждого склада по отдельности, включая резерв на выбранных складах в табличную часть списка подбора номенклатуры. Менеджеру удобнее видеть сразу все остатки по товарам, не прибегая к отчету “Ведомость остатков по складах” для того ,что узнать каково наличие на складе. Все сразу видно.

Перед каждым добавлением колонок мы будем удалять “старые” колонки. Например, если пользователь удалил один склад из своего списка желаний.

Добавим колонки программно в табличную часть списка номенклатуры на форме подбора (далее ТЧ). “Список” – это динамический список справочника “Номенклатура”. Для элемента управления установим доступность в “Ложь”, что бы ненароком не изменить значение поля. :)

Далее в предопределенной процедуре “При получении данных” мы удалим из видимости поле “Склад1″, “Склад2″ и т.д. по итерации в зависимости от того, сколько пользователь выбрал складов для отображения.

Если бы мы не скрыли поле склада, то образовалась бы вторая строчка для каждой позиции, а это не красиво. Поэтому я добавил колонку с наименованием склада, заполнил поле значением ссылки склада, а само поле скрыл.

Далее мы в той же процедуре “При получении данных” заполним значения остатков. Собираем все номенклатуры в порции данных, далее узнаем остатки, в разрезе выбранных товаров и складов. “СписокСкладовДляРаботыССделками” – это табличное поле, в котором пользователь добавляет виды складов для отображения в ТЧ. В примере на фото можно видеть, что там есть колонка “Тип цены” – Оптовая. Эта колонка тоже динамическая.

Узнаем список номенклатуры в порции данных:

Проверки на тип номенклатуры в примере я удалил, также как и на родителя.

Узнаем остатки номенклатуры:

Заполняем ячейки строк.

В итоге мы получаем динамическое отображение остатков. Пользователь захотел показывать один склад – без проблем, а может три склада, тоже все нормально. В общем это действительно удобно.

 

 
Категории: 1С Предприятие 8.2
  1. Николай
    18 Ноябрь 2017 в 16:00 | #1

    НЕ отработал код на 1С 8.3.10 УТП 1.2.43.1 (((((

  2. Николай
    18 Ноябрь 2017 в 16:01 | #2

    + не понятно для каких событий и реквизитов написан код

  3. Николай
    18 Ноябрь 2017 в 21:54 | #3

    Переменная не определена (СписокСкладовДляРаботыССделками)

  1. Нет трекбеков.

Уважаемый комментатор, я очень благодарен за оставленные тобой комментарии! Мне очень приятно их читать. Но порой встречаются люди, которые просто в наглую пытаются продвинуть свой ресурс, размещая ссылку в комментариях только для того, что бы увеличить ТИЦ. Меня порой просто удивляют такие люди... С недавних пор я стал сносить ссылки, которые идут на откровенный бред, никак не похожий на мой блог. Все остальные нормальные блоги будут опубликованы! Если Вы спамер, проходите мимо! Не тратьте время зря! Я ведь всё равно проверяю каждый сайт на соответствие с требованиями. :)