Задача: реализовать заполнение документа "Инвентаризация ОС" основными средствами по МОЛ. (исходная конфигурация БП 2.0, платформа 8.2, толстый клиент). В самой программе предусмотрено заполнение только по подразделению.
Решение:
В типовых решениях предусмотрен механизм расширения функционала форм документов, справочников по части заполнения их данными. Т.е. не вмешиваясь в типовое решение мы можем добавить свои методы в подменю "Заполнить" командой панели свои действия(попросту кнопки).
Сервис → Дополнительные отчеты и обработки → Дополнительные внешние обработки табличных частей
Теперь пару слов об обработке. К такой обработке есть ряд требований, а именно..
За основной алгоритм берём метод действия "по остаткам" (см. первый рисунок) типового решения. Делаем незначительное изменение, а именно добавляем в запрос на выборку данных условие по МОЛ (см. выделение зеленным маркером).
Не забываем указать параметрВЫБРАТЬ МестонахождениеОСБухгалтерскийУчет.ОсновноеСредство КАК ОсновноеСредство, МестонахождениеОСБухгалтерскийУчет.Местонахождение КАК Местонахождение ИЗ (ВЫБРАТЬ МестонахождениеОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство КАК ОсновноеСредство, МестонахождениеОСБухгалтерскийУчетСрезПоследних.Местонахождение КАК Местонахождение, МестонахождениеОСБухгалтерскийУчетСрезПоследних.МОЛ КАК МОЛ ИЗ РегистрСведений.МестонахождениеОСБухгалтерскийУчет .СрезПоследних(&ДатаОстатков, Организация = &Организация) КАК МестонахождениеОСБухгалтерскийУчетСрезПоследних ) КАК МестонахождениеОСБухгалтерскийУчет ГДЕ МестонахождениеОСБухгалтерскийУчет.Местонахождение = &Подразделение И МестонахождениеОСБухгалтерскийУчет.МОЛ = &МОЛ
МОЛ добавляем в реквизиты нашей обработки. Так же организацию и подразделение, на случай, если при заполнении, пользователь решит изменить ранее выбранные значения в шапке документа.Запрос.УстановитьПараметр("МОЛ", МОЛ);
Собственно и всё.
Комментарии
Отправить комментарий