Выгружаю номенклатуру из ТЧ, в ТЧ в основном бывает только номенклатура с типом значения Номенклатурная группа, но иногда попадается и просто номенклатура, нужно учесть это в запросе. А то если я передаю только номенклатурные группы, и у какой-то номенклатурной группы не найден артикул, то мне возвращает пустую строку и при ЗагрузитьКолонку(Массив,"АртикулПоставщика"); оно четко загружает. А вот если передаю с типом значения Номенклатура, тогда ничего не возвращает и колонку в ТЧ заполняет не правильно.
Подскажите, как учесть что может быть и тип значения номенклатура помимо номенклатурнаяГруппа
Подскажите, как учесть что может быть и тип значения номенклатура помимо номенклатурнаяГруппа
Если ЗначениеЗаполнено(Элемент.ТекущаяСтрока) Тогда
МассивНоменклатуры = ЭтотОбъект.ВыбраннаяГруппа.ВыгрузитьКолонку("НоменклатурнаяГруппа");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА";
Запрос.УстановитьПараметр("НоменклатурнаяГруппа", МассивНоменклатуры);
Запрос.УстановитьПараметр("Поставщики", Элемент.ТекущаяСтрока.Поставщик);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Массив = РезультатЗапроса.ВыгрузитьКолонку("Артикул");
Если ЗначениеЗаполнено(Массив) Тогда
ЭтотОбъект.ВыбраннаяГруппа.ЗагрузитьКолонку(Массив,"АртикулПоставщика");
Иначе
ВыбраннаяГруппа[0].АртикулПоставщика = "";
КонецЕсли;
КонецЕсли;
ПоказатьПо теме из базы знаний
- EGAIS Helper: помощник ЕГАИС для 1С Розница 2.2/2.3. Инвентаризация, запросы, проверка ТТН
- Работа со схемой запроса
- Отбор/фильтр в отчетах/СКД/обработках 1C: БП, УТ, ERP, Кронос: WMS по файлу Excel, текстовому файлу или списку текстовых строк (номер документа, артикул, ИНН, QR-код, штрих-код, наименование)
- Модель запроса SQL
- Автоматизация импорта значений в отбор типовых отчетов конфигурации 1С: Бухгалтерия предприятия 3.0
Найденные решения
Если ЗначениеЗаполнено(Элемент.ТекущаяСтрока) Тогда
МассивНоменклатуры = ЭтотОбъект.ВыбраннаяГруппа.ВыгрузитьКолонку("НоменклатурнаяГруппа");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА";
Запрос.УстановитьПараметр("НоменклатурнаяГруппа", МассивНоменклатуры);
Запрос.УстановитьПараметр("Поставщики", Элемент.ТекущаяСтрока.Поставщик);
ТЗ = Запрос.Выполнить().Выгрузить();
ТЗ.Индексы.Добавить("НоменклатурнаяГруппа");
Для Каждого Стр Из ЭтотОбъект.ВыбраннаяГруппа Цикл
МассивСтрок = ТЗ.НайтиСтроки(Новый Структура("НоменклатурнаяГруппа", Стр.НоменклатурнаяГруппа));
Если МассивСтрок.Количество() > 0 Тогда
Стр.АртикулПоставщика = МассивСтрок[0].Артикул;
Иначе
Стр.АртикулПоставщика = "";
КонецЕсли;
КонецЦикла;
КонецЕсли;
Показать"ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА
| Объединить все
|ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА"
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Если ЗначениеЗаполнено(Элемент.ТекущаяСтрока) Тогда
МассивНоменклатуры = ЭтотОбъект.ВыбраннаяГруппа.ВыгрузитьКолонку("НоменклатурнаяГруппа");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА";
Запрос.УстановитьПараметр("НоменклатурнаяГруппа", МассивНоменклатуры);
Запрос.УстановитьПараметр("Поставщики", Элемент.ТекущаяСтрока.Поставщик);
ТЗ = Запрос.Выполнить().Выгрузить();
ТЗ.Индексы.Добавить("НоменклатурнаяГруппа");
Для Каждого Стр Из ЭтотОбъект.ВыбраннаяГруппа Цикл
МассивСтрок = ТЗ.НайтиСтроки(Новый Структура("НоменклатурнаяГруппа", Стр.НоменклатурнаяГруппа));
Если МассивСтрок.Количество() > 0 Тогда
Стр.АртикулПоставщика = МассивСтрок[0].Артикул;
Иначе
Стр.АртикулПоставщика = "";
КонецЕсли;
КонецЦикла;
КонецЕсли;
Показать
(4)
Да, это помогло, но почему-то для номенклатуры с типом "Номенклатура" не выводит артикул (но он есть)
Если ЗначениеЗаполнено(Элемент.ТекущаяСтрока) Тогда
МассивНоменклатуры = ЭтотОбъект.ВыбраннаяГруппа.ВыгрузитьКолонку("НоменклатурнаяГруппа");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА";
Запрос.УстановитьПараметр("НоменклатурнаяГруппа", МассивНоменклатуры);
Запрос.УстановитьПараметр("Поставщики", Элемент.ТекущаяСтрока.Поставщик);
ТЗ = Запрос.Выполнить().Выгрузить();
ТЗ.Индексы.Добавить("НоменклатурнаяГруппа");
Для Каждого Стр Из ЭтотОбъект.ВыбраннаяГруппа Цикл
МассивСтрок = ТЗ.НайтиСтроки(Новый Структура("НоменклатурнаяГруппа", Стр.НоменклатурнаяГруппа));
Если МассивСтрок.Количество() > 0 Тогда
Стр.АртикулПоставщика = МассивСтрок[0].Артикул;
Иначе
Стр.АртикулПоставщика = "";
КонецЕсли;
КонецЦикла;
КонецЕсли;
ПоказатьМассивНоменклатуры = ЭтотОбъект.ВыбраннаяГруппа.ВыгрузитьКолонку("НоменклатурнаяГруппа");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА";
Запрос.УстановитьПараметр("НоменклатурнаяГруппа", МассивНоменклатуры);
Запрос.УстановитьПараметр("Поставщики", Элемент.ТекущаяСтрока.Поставщик);
ТЗ = Запрос.Выполнить().Выгрузить();
ТЗ.Индексы.Добавить("НоменклатурнаяГруппа");
Для Каждого Стр Из ЭтотОбъект.ВыбраннаяГруппа Цикл
МассивСтрок = ТЗ.НайтиСтроки(Новый Структура("НоменклатурнаяГруппа", Стр.НоменклатурнаяГруппа));
Если МассивСтрок.Количество() > 0 Тогда
Стр.АртикулПоставщика = МассивСтрок[0].Артикул;
Иначе
Стр.АртикулПоставщика = "";
КонецЕсли;
КонецЦикла;
КонецЕсли;
Да, это помогло, но почему-то для номенклатуры с типом "Номенклатура" не выводит артикул (но он есть)
"ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА
| Объединить все
|ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА"
Показать
(5)
Вообще ничего не вывело)
"ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА
| Объединить все
|ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА"
Показать| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА
| Объединить все
|ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА"
Вообще ничего не вывело)
(5) Спасибо, этот запрос помог, но чуть поправил
(5)
(5)
"ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА
| Объединить все
|ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
"
Показать| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА
| Объединить все
|ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
"
В &НоменклатурнаяГруппа что содержится?
Если подозрение, что "И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА" не нужно
Эти условия валидны в обоих случаях(и когда номенклатура и когда номенклатурная группа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА
Если подозрение, что "И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА" не нужно
(15) Номенклатурная группа это несколько номенклатур в одной номенклатурной группе, у каждой есть основная номенклатура.
У каждой номенклатуры есть ТЧ где указаны АртикулПоставщика - Поставщик.
Моя задача:
Есть обработка "прайсы поставщиков". На ней есть 2 ТЧ в одну загружается номенклатурные группы/номенклатура, в другую все поставщики которые есть у номенклатуры. И когда я нажимаю на поставщика, в ТЧ с номенклатурой в колонку должны появится артикулы по этим поставщикам. Если у номенклатуры есть артикул по поставщику то он выводится, если нет, пустая ячейка остается.
У каждой номенклатуры есть ТЧ где указаны АртикулПоставщика - Поставщик.
Моя задача:
Есть обработка "прайсы поставщиков". На ней есть 2 ТЧ в одну загружается номенклатурные группы/номенклатура, в другую все поставщики которые есть у номенклатуры. И когда я нажимаю на поставщика, в ТЧ с номенклатурой в колонку должны появится артикулы по этим поставщикам. Если у номенклатуры есть артикул по поставщику то он выводится, если нет, пустая ячейка остается.
"А вот если передаю с типом значения Номенклатура, тогда ничего не возвращает и колонку в ТЧ заполняет не правильно."
Я как что то должен вернуть запрос, если
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
ТипЗнч(НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа) = Тип("СправочникСсылка.НоменклатурныеГруппы")
По этому запрос и работает при условии ,что на &НоменклатурнаяГруппа содержит номенклатурные группы
Я как что то должен вернуть запрос, если
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
ТипЗнч(НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа) = Тип("СправочникСсылка.НоменклатурныеГруппы")
По этому запрос и работает при условии ,что на &НоменклатурнаяГруппа содержит номенклатурные группы
"ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул КАК Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
|
|ОБЪЕДИНИТЬ ВСЕ
|//Во вложенном запросе отбираем номенклатуру, получаем из нее номенклатурную группу,
|//Потом соединяем с табличными частями
|//по номенклатурным группам.
|//
|ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| (ВЫБРАТЬ
| Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа
| ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ГДЕ
| Номенклатура.Ссылка В(&НоменклатурнаяГруппа)) КАК ВложенныйЗапрос
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
| ПО ВложенныйЗапрос.НоменклатурнаяГруппа = НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики"
Показать
(23)
Не, вообще что-то не то выдает)) Это прям вообще мимо)
ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул КАК Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
|
|ОБЪЕДИНИТЬ ВСЕ
|//Во вложенном запросе отбираем номенклатуру, получаем из нее номенклатурную группу,
|//Потом соединяем с табличными частями
|//по номенклатурным группам.
|//
|ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| (ВЫБРАТЬ
| Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа
| ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ГДЕ
| Номенклатура.Ссылка В(&НоменклатурнаяГруппа)) КАК ВложенныйЗапрос
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
| ПО ВложенныйЗапрос.НоменклатурнаяГруппа = НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
Показать| НоменклатураМТД_Поставщики.Артикул КАК Артикул
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
|
|ОБЪЕДИНИТЬ ВСЕ
|//Во вложенном запросе отбираем номенклатуру, получаем из нее номенклатурную группу,
|//Потом соединяем с табличными частями
|//по номенклатурным группам.
|//
|ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул
|ИЗ
| (ВЫБРАТЬ
| Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа
| ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ГДЕ
| Номенклатура.Ссылка В(&НоменклатурнаяГруппа)) КАК ВложенныйЗапрос
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
| ПО ВложенныйЗапрос.НоменклатурнаяГруппа = НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
Не, вообще что-то не то выдает)) Это прям вообще мимо)
Я подбросил Вам идею как можно реализовать, а Вы ее сами развивайте. Или ждете что кто то напишет для Вам на 100% рабочий код?
P/S
Еще несколько идей..
МассивНоменклатуры = ЭтотОбъект.ВыбраннаяГруппа.Выгрузить( , "НоменклатурнаяГруппа");//В итоге получите ТаблицуЗначений.
Загружаете эту ТЗ в запрос. Далее используете ее как источник данных(вместо массива) с проверкой типов
Для отладки разбейте запрос на 2 отдельных
P/S
Еще несколько идей..
МассивНоменклатуры = ЭтотОбъект.ВыбраннаяГруппа.Выгрузить( , "НоменклатурнаяГруппа");//В итоге получите ТаблицуЗначений.
Загружаете эту ТЗ в запрос. Далее используете ее как источник данных(вместо массива) с проверкой типов
Для отладки разбейте запрос на 2 отдельных
(26)
Вот так вот получилось!
МассивНоменклатуры = ЭтотОбъект.ВыбраннаяГруппа.ВыгрузитьКолонку("НоменклатурнаяГруппа");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул,
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа,
| NULL КАК Номенклатура
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка.НоменклатурнаяГруппа В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики
| И НоменклатураМТД_Поставщики.Ссылка.ОсновнаяНоменклатура = ИСТИНА
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| НоменклатураМТД_Поставщики.Артикул,
| NULL,
| НоменклатураМТД_Поставщики.Ссылка
|ИЗ
| Справочник.Номенклатура.МТД_Поставщики КАК НоменклатураМТД_Поставщики
|ГДЕ
| НоменклатураМТД_Поставщики.Ссылка В(&НоменклатурнаяГруппа)
| И НоменклатураМТД_Поставщики.Поставщики = &Поставщики";
Запрос.УстановитьПараметр("НоменклатурнаяГруппа", МассивНоменклатуры);
Запрос.УстановитьПараметр("Поставщики", Элемент.ТекущаяСтрока.Поставщик);
ТЗ = Запрос.Выполнить().Выгрузить();
ТЗ.Индексы.Добавить("НоменклатурнаяГруппа");
ТЗ.Индексы.Добавить("Номенклатура");
Для Каждого Стр Из ЭтотОбъект.ВыбраннаяГруппа Цикл
Если ТипЗнч(Стр.НоменклатурнаяГруппа) = Тип("СправочникСсылка.НоменклатурныеГруппы") Тогда
МассивСтрок = ТЗ.НайтиСтроки(Новый Структура("НоменклатурнаяГруппа", Стр.НоменклатурнаяГруппа));
Иначе
МассивСтрок = ТЗ.НайтиСтроки(Новый Структура("Номенклатура", Стр.НоменклатурнаяГруппа));
КонецЕсли;
Если МассивСтрок.Количество() > 0 Тогда
Стр.АртикулПоставщика = МассивСтрок[0].Артикул;
Иначе
Стр.АртикулПоставщика = "";
КонецЕсли;
КонецЦикла;
ПоказатьВот так вот получилось!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот