Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 09:36

Отбор Номенклатуры по Номенклатурам в Регистре сведений (В ФормеВыбора)

Автор N.Nogovisyn, 13 сен 2022, 15:33

0 Пользователей и 1 гость просматривают эту тему.

N.Nogovisyn

Здравствуйте, есть Внешняя обработка для изменения плановых цен номенклатур, в форме табличной части, которого выбирается Номенклатура, для которого вводится плановые цены. Надо сделать так что бы можно было выбрать только те номенклатуры которые предварительно записаны в соответствующий Регистр Сведений, сам только начинаю изучать 1С не понимаю как это можно сделать (Тип поля <Номенклатура> "СправочникСсылка.Номенклатура")

&НаСервереБезКонтекста
Процедура ЦеныНоменклатурыНоменклатураНачалоВыбораИзСпискаНаСервере(Элемент, СтандартнаяОбработка)
Список = Элемент.СписокВыбора;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДляРасчетаПлановыхЦен.Номенклатура КАК Номенклатура
|ИЗ
| РегистрСведений.ДляРасчетаПлановыхЦен КАК ДляРасчетаПлановыхЦен";

Список.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
КонецПроцедуры

LexaK

N.Nogovisyn, вот сходу ошибка
Список.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));выгружаете колонку "Ссылка"
а в запросе у вас колонка называется "Номенклатура"

надо что бы наименование колонки совпадало!  :befhbt:
если помогло нажмите: Спасибо!

N.Nogovisyn

LexaK, Спасибо за замечание, поменял, но все равно не работает это моя попытка что-то сделать.
Я правильно понимаю что событие НачалоВыбораИЗСписка вызывается когда нажимаю на "Показать все"?

N.Nogovisyn

Вопрос снят решение:
Список = Элементы.ЦеныНоменклатурыНоменклатура.СписокВыбора;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДляРасчетаПлановыхЦен.Номенклатура КАК Номенклатура
|ИЗ
| РегистрСведений.ДляРасчетаПлановыхЦен КАК ДляРасчетаПлановыхЦен";

Список.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Номенклатура"));
Перенес код в Процедуру ПриСозданииНаСервере

LexaK

N.Nogovisyn,
Цитироватьпоменял, но все равно не работает
делаем вывод - значить остались еще ошибки!

вообще событие начало выбора срабатывает при нажатии на кнопку с треугольничком в поле номенклатура
у меня вот такая схема сработала (событие: Начало выбора)


&НаСервереБезКонтекста
функция ПолучитьТовары()
    лкЗапрос = Новый Запрос;
    лкЗапрос.Текст = "
        |Выбрать первые 10 //это тестовый запрос, вставьте свой!!!
        |таб.ссылка
        |из справочник.Номенклатура таб
        |";
    Возврат лкЗапрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
КонецФункции

&НаКлиенте
Процедура РеквизитТЗТоварНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    лкСписок = Элемент.СписокВыбора;
    лкСписок.ЗагрузитьЗначения(ПолучитьТовары());
КонецПроцедуры

если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск