В начало
Остатки номенклатуры по подразделениямВ конфигурации имеются: справочники «Номенклатура» и «Подразделения», документ «Расходная накладная» и реестры накопления «Остатки номенклатуры» и «Остатки по подразделениям». Нужно при выборе позиций номенклатуры Остатки номенклатуры по подразделениям отображать в форме выбора общие остатки, остатки по отделу закупок и остатки по отделу, являющемся текущим поставщиком. Таблица. Измерения и ресурсы регистров накопления
В документе Расходная накладная создаем кнопку и прописываем код для вызова формы выбора справочника Номенклатура. Рис. Добавление кнопки на форму документа «Расходная накладная» Далее пишем код вызова формы выбора справочника Номенклатура как действие кнопки. Листинг. Процедура «Открыть форму выбора»
Также необходимо заполнить Обработку выбора для таблицы «Список номенклатуры», который расположен на форме документа «Расходная накладная». Листинг. Обработка выбора таблицы списка номенклатуры
Ну и наконец, в самой форме выбора справочника Номенклатура необходимо для реквизита Список на закладке «Объект» установить галочку «Произвольный запрос», после чего настроить список ,нажав на ссылку Открыть. Рис. Свойства реквизита «Список» формы выбора справочника «Номенклатура» Откроется конструктор запроса, в котором нужно организовать объединение 3-х вложенных запросов. Листинг. Код объединения вложенных запросов
Далее запускаем режим 1С:Предприятие, открываем документ Расходная накладная, вызываем формы выбора. Сравниваем с регистрами накоплений, вроде все правильно показывается. Рис. Форма выбора с остатками номенклатуры по подразделениям Далее выбираем на этой форме некоторые позиции и нажимаем кнопку «Выбрать». К сожалению выбранные позиции номенклатуры НЕ перенеслись в таблицу «Список номенклатуры» на форме документа «Расходная накладная». Ставим прерывание в процедуре «Обработка выбора» и смотрим переменную «Выбранное значение». Выделяем ее и вычисляем выражение. Рис. Вычисленное выражение для переменной «Выбранное значение» Вроде все правильно, должен возвращаться массив значений выбранных позиций номенклатуры. Жмем на карандаш и получаем далее значение. Рис. Дальнейший расчет значения Странно, опять нет выбранных позиций номенклатуры. Жмем опять на карандаш. Рис. Дальнейший расчет карандашом Все, приехали! Номенклатуры нет, а следовательно обрабатывать данное «Выбранное значение» в обработке выбора совершенно бессмысленно. И, наконец, становится понятно почему собственно таблица «Список номенклатуры» на форме документа «Расходная накладная» не заполнилась выбранными значениями. ПРИМЕЧАНИЕ:
данный эксперимент проводился на версии 8.3, релиз 8.3.6.2014, основной режим
запуска «Управляемое приложение», режим совместимости «Такси». ВЫВОДЫ:
таким образом вложенные запросы нельзя использовать в форме выбора справочника
«Номенклатура», т.к. при дальнейшем выборе значений форме-владельцу не
возвращаются выбранные позиции в виде массива выбранных значений, а вместо
этого массив неких чисел. |
|||||||||||||||