Добрый день !
Конфигурация - доработанная УТП 1.2.64.1
Платформа - 8.3.12
Пытаюсь реализовать свой выбор элемента справочника - для реквизита табличной части документа на обычных формах.
Выбираемый реквизит - НомерРулона, тип справочник, подчиненный справочнику Номенклатура.
Задача - при выборе НомераРулона дать пользователю при заполнении табличной части возможность выбора только тех элементов справочника, по которым есть остатки на текущий момент в регистре накопления "ОстаткиРулонов".
Делал так - по методике, найденной на инфостарте.
В свойствах конфигурации включил возможность использования управляемых форм в обычном приложении.
Для справочника НомераРулонов добавил управляемую форму выбора. Для динамического списка этой формы написал такой запрос:
ВЫБРАТЬ
СправочникНомераРулонов.Ссылка,
СправочникНомераРулонов.ПометкаУдаления,
СправочникНомераРулонов.Предопределенный,
СправочникНомераРулонов.Владелец,
СправочникНомераРулонов.Код,
СправочникНомераРулонов.Наименование,
СправочникНомераРулонов.Поставщик,
СправочникНомераРулонов.ДатаПрихода,
СправочникНомераРулонов.Вес,
СправочникНомераРулонов.Цена,
ЕСТЬNULL(ОстаткиРулоновОстатки.КоличествоОстаток,0) КАК Остаток
ИЗ
Справочник.НомераРулонов КАК СправочникНомераРулонов
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиРулонов.Остатки(
&ДатаОстатков, Склад= &Склад И Номенклатура= &Номенклатура И Организация= &Организация) КАК ОстаткиРулоновОстатки
ПО ОстаткиРулоновОстатки.НомерРулона = СправочникНомераРулонов.Ссылка
И СправочникНомераРулонов.Владелец = ОстаткиРулоновОстатки.Номенклатура
Для события НачалоВыбора реквизита табличной части документа прописал процедуру заполнения параметров.
Процедура МатериалыНомерРулонаНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТД=ЭлементыФормы.Материалы.ТекущиеДанные;
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("ДатаОстатков", МоментВремени());
СтруктураПараметров.Вставить("Склад", Константы.СкладРулонов.Получить());
СтруктураПараметров.Вставить("Организация", Организация);
СтруктураПараметров.Вставить("Номенклатура", ТД.Номенклатура);
СтруктураПараметров.Вставить("ТекущаяСтрока", ТД.НомерРулона);
СтруктураПараметров.Вставить("Отбор", Новый Структура("Владелец",ТД.Номенклатура));
ОткрытьФормуМодально("Справочник.НомераРулонов.ФормаВыбора",СтруктураПараметров);
КонецПроцедуры
Отладчиком проверил - СтруктураПараметров заполняется нужными данными.
Запрос в консоли запросов возвращает нужные записи - элементы справочника НомераРулонов с остаткми.
А вот получившаяся форма выбора выходит пустая...
Куда копать ?
Как проверить, корректно ли параметры попадают в запрос ?
Сообщение отредактировал Vofka - 01.10.21, 15:38