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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 
Категории: 1С Предприятие 8.2
Вы должны залогинится для комментирования.