Подскажите, пожалуйста.
Сейчас сообщения отправляются вот так:
отправляется все и без проблем. Но, возникла необходимость искать номенклатуру по части артикула, и в каждой вышеперечисленной функции, я установил параметр запроса вида
Ищется все также, работает. НО, выводит все в одно сообщение.
Помогите, пожалуйста, переделать, так, чтобы каждый найденный артикул отпраялся своим сообщением, так как сейчас.
Возможно это не самый удачный код, но все же он рабочий)
Сейчас сообщения отправляются вот так:
СтруктураСообщения.Вставить("text", ПолучитьНоменклатуру(ТекстЗапроса) + Символы.ПС +
ПолучитьОстатки(ТекстЗапроса) + Символы.ПС +
ПолучитьМедиаСсылку(ТекстЗапроса));
ОтправитьКартинку(ТекстЗапроса, Настройка, Формат(ЗапросПользователя.id,"ЧГ="));
отправляется все и без проблем. Но, возникла необходимость искать номенклатуру по части артикула, и в каждой вышеперечисленной функции, я установил параметр запроса вида
Запрос.УстановитьПараметр("Артикул", "%"+ТекстЗапроса+"%");
Ищется все также, работает. НО, выводит все в одно сообщение.
Помогите, пожалуйста, переделать, так, чтобы каждый найденный артикул отпраялся своим сообщением, так как сейчас.
Возможно это не самый удачный код, но все же он рабочий)
По теме из базы знаний
- Мастер пакетной печати отгрузочных и товаросопроводительных документов для алкогольной продукции (справки А и Б, ТН, ТТН и др.)
- Рассылки из 1С через Email, SMS, WhatsApp, Telegram - Директ Маркетинг
- Конструктор чат-ботов Telegram: разработка ботов в ТГ, редакция 2
- 1С:Предприятие 8. Транспортная логистика, экспедирование и управление автотранспортом КОРП
- HTTP, Ajax, JSON: Один год Pet-проекту на 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(5)
Картинка номенклатуры (ОтправитьКартинку) функция
Название номенклатуры (ПолучитьНоменклатуру) функция
///остатки по каждому складу ПолучитьОстатки Функция
/на складе: «г.Основной склад»: 8 шт.
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
Ссылка на фотографию: (https://disk.yandex.ru/i/q0oPy-OB79VyuA) Ссылка на медиа ссылку из карточки номенклатуры (ПолучитьмедиаССылку функция)
Картинка номенклатуры (ОтправитьКартинку) функция
Название номенклатуры (ПолучитьНоменклатуру) функция
///остатки по каждому складу ПолучитьОстатки Функция
/на складе: «г.Основной склад»: 8 шт.
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
Ссылка на фотографию: (
(9)
и как тогда все это запихнуть в один запрос?)
Функция ПолучитьОстатки (ТекстЗапроса)
Запрос = Новый запрос;
Запрос.Текст = "ВЫБРАТЬ
| СправочникНоменклатура.Ссылка КАК Номенклатура,
| СУММА(ЕСТЬNULL(СвободныеОстаткиОстаткиИОбороты.ВНаличииКонечныйОстаток, 0)) КАК ВНаличииКонечныйОстаток,
| &Артикул КАК Артикул,
| ЕСТЬNULL(СвободныеОстаткиОстаткиИОбороты.Склад, """") КАК Склад
// Добавил наименование склада для отображения в ТГ
//| СвободныеОстаткиОстаткиИОбороты.Склад.НаименованиеВТг КАК СкладНаименованиеВТг
|ИЗ
| Справочник.Номенклатура КАК СправочникНоменклатура
| Правое СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(, , , , ) КАК СвободныеОстаткиОстаткиИОбороты
| ПО (СвободныеОстаткиОстаткиИОбороты.Номенклатура = СправочникНоменклатура.Ссылка)
|ГДЕ
| СправочникНоменклатура.Артикул ПОДОБНО &Артикул
| И СправочникНоменклатура.ОтправитьВТГ = ИСТИНА
| И СвободныеОстаткиОстаткиИОбороты.Склад.ПоказыватьВТг = ИСТИНА
|
|СГРУППИРОВАТЬ ПО
| СправочникНоменклатура.Ссылка,
| ЕСТЬNULL(СвободныеОстаткиОстаткиИОбороты.Склад, """")
//| СвободныеОстаткиОстаткиИОбороты.Склад.НаименованиеВТг
|УПОРЯДОЧИТЬ ПО
| Склад ВОЗР";
Запрос.УстановитьПараметр("Артикул", "%"+ТекстЗапроса+"%");
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Если РезультатЗапроса.Количество() = 0 Тогда
Возврат("Не найдена номенклатура с артикулом " + ТекстЗапроса);
КонецЕсли;
Ответ = "";
Пока РезультатЗапроса.Следующий() цикл
Если РезультатЗапроса.ВНаличииКонечныйОстаток < 10 Тогда
Ответ = Ответ + " /на складе: "+ "«г."+РезультатЗапроса.Склад + "»" + ": " + РезультатЗапроса.ВНаличииКонечныйОстаток + " шт. "+ "
|" + Символы.ПС;
Иначе
Ответ = Ответ + " /на складе: " + "«г."+ РезультатЗапроса.Склад + "»" + ": " + " - более 10" + " шт. "+ "
|" + Символы.ПС;
КонецЕсли;
КонецЦикла;
Возврат Ответ;
КонецФункции
ПоказатьФункция ПолучитьМедиаСсылку(ТекстЗапроса)
Заголовок = Справочники.ПользовательскиеПоля.НайтиПоКоду("000000001");
Запрос = Новый запрос;
Запрос.Текст = "ВЫБРАТЬ
| СправочникНоменклатура.Ссылка КАК Номенклатура,
| &Артикул КАК Артикул,
| СправочникНоменклатура.МедиаСсылки КАК МедиаСсылки
|ИЗ
| Справочник.Номенклатура КАК СправочникНоменклатура
|ГДЕ
| СправочникНоменклатура.Артикул ПОДОБНО &Артикул
| И СправочникНоменклатура.ОтправитьВТГ = ИСТИНА
|
|СГРУППИРОВАТЬ ПО
| СправочникНоменклатура.Ссылка";
Запрос.УстановитьПараметр("Артикул", "%"+ТекстЗапроса+"%");
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Ответ2 = "";
Пока РезультатЗапроса.Следующий() Цикл
Если ЗначениеЗаполнено(РезультатЗапроса.МедиаСсылки) Тогда
Ответ2 = Ответ2 + "[" + Заголовок.ЗаголовокМедиаСсылки + "]" + "(" + РезультатЗапроса.МедиаСсылки+ ")" + "
|" + Символы.ПС;
КонецЕсли;
КонецЦикла;
Возврат Ответ2;
КонецФункции
ПоказатьФункция ПолучитьНоменклатуру (ТекстЗапроса)
Запрос = Новый запрос;
Запрос.Текст = "ВЫБРАТЬ
| СправочникНоменклатура.Ссылка КАК Номенклатура,
| &Артикул КАК Артикул
|ИЗ
| Справочник.Номенклатура КАК СправочникНоменклатура
|ГДЕ
| СправочникНоменклатура.Артикул ПОДОБНО &Артикул
| И СправочникНоменклатура.ОтправитьВТГ = ИСТИНА
|
|СГРУППИРОВАТЬ ПО
| СправочникНоменклатура.Ссылка";
Запрос.УстановитьПараметр("Артикул", "%"+ТекстЗапроса+"%");
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Если РезультатЗапроса.Количество() = 0 Тогда
Возврат("Не найдена номенклатура с артикулом " + ТекстЗапроса);
КонецЕсли;
Ответ1 = "";
Пока РезультатЗапроса.Следующий() цикл
Ответ1 = Ответ1 + РезультатЗапроса.Номенклатура+ "
|" + Символы.ПС;
КонецЦикла;
Возврат Ответ1;
КонецФункции
Показатьи как тогда все это запихнуть в один запрос?)
(14)
сделал так. Но он не группирует номенклатуру.
Вывод получается вот таким
HI-MACS Galaxy T001 Black Hole 127603680 (Искусственный камень) вывод 22г
/на складе: «г.Основной склад»: 1 шт.
Ссылка на фотографию:
Акции и скидки
/на складе: «г.Основной склад»: 8 шт.
Ссылка на фотографию:
HI-MACS Galaxy T001 Black Hole 127603680 (Искусственный камень) вывод 22г
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
Ссылка на фотографию:
Акции и скидки
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
Ссылка на фотографию:
Функция ПолучитьВсе(ТекстЗапроса)
Заголовок = Справочники.ПользовательскиеПоля.НайтиПоКоду("000000001");
Запрос = Новый запрос;
Запрос.Текст = "ВЫБРАТЬ
| СправочникНоменклатура.Ссылка КАК Номенклатура,
| СправочникНоменклатура.МедиаСсылки КАК МедиаСсылки,
| СУММА(ЕСТЬNULL(СвободныеОстаткиОстаткиИОбороты.ВНаличииКонечныйОстаток, 0)) КАК ВНаличииКонечныйОстаток,
| &Артикул КАК Артикул,
| ЕСТЬNULL(СвободныеОстаткиОстаткиИОбороты.Склад, """") КАК Склад
// Добавил наименование склада для отображения в ТГ
//| СвободныеОстаткиОстаткиИОбороты.Склад.НаименованиеВТг КАК СкладНаименованиеВТг
|ИЗ
| Справочник.Номенклатура КАК СправочникНоменклатура
| Правое СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(, , , , ) КАК СвободныеОстаткиОстаткиИОбороты
| ПО (СвободныеОстаткиОстаткиИОбороты.Номенклатура = СправочникНоменклатура.Ссылка)
|ГДЕ
| СправочникНоменклатура.Артикул ПОДОБНО &Артикул
| И СправочникНоменклатура.ОтправитьВТГ = ИСТИНА
| И СвободныеОстаткиОстаткиИОбороты.Склад.ПоказыватьВТг = ИСТИНА
|
|СГРУППИРОВАТЬ ПО
| СправочникНоменклатура.Ссылка,
| ЕСТЬNULL(СвободныеОстаткиОстаткиИОбороты.Склад, """")
//| СвободныеОстаткиОстаткиИОбороты.Склад.НаименованиеВТг
|УПОРЯДОЧИТЬ ПО
| Склад ВОЗР";
Запрос.УстановитьПараметр("Артикул", "%"+ТекстЗапроса+"%");
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Если РезультатЗапроса.Количество() = 0 Тогда
Возврат("Не найдена номенклатура с артикулом " + ТекстЗапроса);
КонецЕсли;
Ответ = "";
Пока РезультатЗапроса.Следующий() цикл
Если РезультатЗапроса.ВНаличииКонечныйОстаток < 10 Тогда
Ответ = Ответ + РезультатЗапроса.Номенклатура + Символы.ПС + " /на складе: "+ "«г."+РезультатЗапроса.Склад + "»" + ": " + РезультатЗапроса.ВНаличииКонечныйОстаток + " шт. "+ "
|" + Символы.ПС + "[" + Заголовок.ЗаголовокМедиаСсылки + "]" + "(" + РезультатЗапроса.МедиаСсылки+ ")" + "
|" + Символы.ПС;
Иначе
Ответ = Ответ + РезультатЗапроса.Номенклатура + Символы.ПС + " /на складе: " + "«г."+ РезультатЗапроса.Склад + "»" + ": " + " - более 10" + " шт. "+ "
|" + Символы.ПС + "[" + Заголовок.ЗаголовокМедиаСсылки + "]" + "(" + РезультатЗапроса.МедиаСсылки+ ")" + "
|" + Символы.ПС;
КонецЕсли;
КонецЦикла;
Возврат Ответ;
КонецФУнкции
Показатьсделал так. Но он не группирует номенклатуру.
Вывод получается вот таким
HI-MACS Galaxy T001 Black Hole 127603680 (Искусственный камень) вывод 22г
/на складе: «г.Основной склад»: 1 шт.
Ссылка на фотографию:
Акции и скидки
/на складе: «г.Основной склад»: 8 шт.
Ссылка на фотографию:
HI-MACS Galaxy T001 Black Hole 127603680 (Искусственный камень) вывод 22г
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
Ссылка на фотографию:
Акции и скидки
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
Ссылка на фотографию:
(16)
а нужно чтобы группировал только по номенклатуре. К примеру
Акции и скидки
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
/на складе: «г.Основной склад»: 8 шт.
ссылка на фото
HI-MACS Galaxy T001 Black Hole 127603680 (Искусственный камень) вывод 22г
/на складе: «г.Основной склад»: 1 шт.
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
ссылка на фото
а нужно чтобы группировал только по номенклатуре. К примеру
Акции и скидки
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
/на складе: «г.Основной склад»: 8 шт.
ссылка на фото
HI-MACS Galaxy T001 Black Hole 127603680 (Искусственный камень) вывод 22г
/на складе: «г.Основной склад»: 1 шт.
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
ссылка на фото
(20)
примерно так, а там переделаете под себя
ВыборкаПоНоменклатуре = Запрос.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоНоменклатуре.Следующий() Цикл
ВыборкаПоСкладу = ВыборкаПоНоменклатуре.Выбрать();
РезультатСклады = "";
Пока ВыборкаПоСкладу.Следующий() Цикл
РезультатСклады = Строка(ВыборкаПоСкладу.Склад) + " "+ Строка(ВыборкаПоСкладу.Остатки) + Символы.ПС;
КонецЦикла;
Результат = Строка(ВыборкаПоНоменклатуре.Номенклатура) + Символы.ПС + РезультатСклады;
КонецЦикла;
Показатьпримерно так, а там переделаете под себя
(21)
непонятно совсем(
можете подробнее?
ВыборкаПоНоменклатуре = Запрос.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоНоменклатуре.Следующий() Цикл
ВыборкаПоСкладу = ВыборкаПоНоменклатуре.Выбрать();
РезультатСклады = "";
Пока ВыборкаПоСкладу.Следующий() Цикл
РезультатСклады = Строка(ВыборкаПоСкладу.Склад) + " "+ Строка(ВыборкаПоСкладу.Остатки) + Символы.ПС;
КонецЦикла;
Результат = Строка(ВыборкаПоНоменклатуре.Номенклатура) + Символы.ПС + РезультатСклады;
КонецЦикла;
ПоказатьПока ВыборкаПоНоменклатуре.Следующий() Цикл
ВыборкаПоСкладу = ВыборкаПоНоменклатуре.Выбрать();
РезультатСклады = "";
Пока ВыборкаПоСкладу.Следующий() Цикл
РезультатСклады = Строка(ВыборкаПоСкладу.Склад) + " "+ Строка(ВыборкаПоСкладу.Остатки) + Символы.ПС;
КонецЦикла;
Результат = Строка(ВыборкаПоНоменклатуре.Номенклатура) + Символы.ПС + РезультатСклады;
КонецЦикла;
непонятно совсем(
можете подробнее?
(27)
смотрите, я написал как Вы сказали,
и ничего не изменилось. В выборке по складам все пусто
смотрите, я написал как Вы сказали,
Запрос.Текст = "ВЫБРАТЬ
| СправочникНоменклатура.Ссылка КАК Номенклатура,
| СправочникНоменклатура.МедиаСсылки КАК МедиаСсылки,
| СУММА(ЕСТЬNULL(СвободныеОстаткиОстаткиИОбороты.ВНаличииКонечныйОстаток, 0)) КАК ВНаличииКонечныйОстаток,
| &Артикул КАК Артикул,
| ЕСТЬNULL(СвободныеОстаткиОстаткиИОбороты.Склад, """") КАК Склад
// Добавил наименование склада для отображения в ТГ
//| СвободныеОстаткиОстаткиИОбороты.Склад.НаименованиеВТг КАК СкладНаименованиеВТг
|ИЗ
| Справочник.Номенклатура КАК СправочникНоменклатура
| Правое СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(, , , , ) КАК СвободныеОстаткиОстаткиИОбороты
| ПО (СвободныеОстаткиОстаткиИОбороты.Номенклатура = СправочникНоменклатура.Ссылка)
|ГДЕ
| СправочникНоменклатура.Артикул ПОДОБНО &Артикул
| И СправочникНоменклатура.ОтправитьВТГ = ИСТИНА
| И СвободныеОстаткиОстаткиИОбороты.Склад.ПоказыватьВТг = ИСТИНА
|
|СГРУППИРОВАТЬ ПО
| СправочникНоменклатура.Ссылка,
| ЕСТЬNULL(СвободныеОстаткиОстаткиИОбороты.Склад, """"),
| СправочникНоменклатура.МедиаСсылки
//| СвободныеОстаткиОстаткиИОбороты.Склад.НаименованиеВТг
|УПОРЯДОЧИТЬ ПО
| Склад ВОЗР";
Запрос.УстановитьПараметр("Артикул", "%"+ТекстЗапроса+"%");
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Если РезультатЗапроса.Количество() = 0 Тогда
Возврат("Не найдена номенклатура с артикулом " + ТекстЗапроса);
КонецЕсли;
Ответ = "";
ВыборкаПоНоменклатуре = Запрос.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоНоменклатуре.Следующий() Цикл
ВыборкаПоСкладу = ВыборкаПоНоменклатуре.Выбрать();
РезультатСклады = "";
Пока ВыборкаПоСкладу.Следующий() Цикл
РезультатСклады = Строка(ВыборкаПоСкладу.Склад) + " "+ Строка(ВыборкаПоСкладу.Остатки) + Символы.ПС;
КонецЦикла;
Результат = Строка(ВыборкаПоНоменклатуре.Номенклатура) + Символы.ПС + РезультатСклады;
КонецЦикла;
Пока РезультатЗапроса.Следующий() цикл
Если ЗначениеЗаполнено (РезультатЗапроса.МедиаСсылки) Тогда
Если РезультатЗапроса.ВНаличииКонечныйОстаток < 10 Тогда
Ответ = Ответ + РезультатЗапроса.Номенклатура + Символы.ПС + " /на складе: "+ "«г."+РезультатЗапроса.Склад + "»" + ": " + РезультатЗапроса.ВНаличииКонечныйОстаток + " шт. "+ "
|" + Символы.ПС + "[" + Заголовок.ЗаголовокМедиаСсылки + "]" + "(" + РезультатЗапроса.МедиаСсылки+ ")" + "
|" + Символы.ПС;
Иначе
Ответ = Ответ + РезультатЗапроса.Номенклатура + Символы.ПС + " /на складе: " + "«г."+ РезультатЗапроса.Склад + "»" + ": " + " - более 10" + " шт. "+ "
|" + Символы.ПС + "[" + Заголовок.ЗаголовокМедиаСсылки + "]" + "(" + РезультатЗапроса.МедиаСсылки+ ")" + "
|" + Символы.ПС;
КонецЕсли;
Иначе
Если РезультатЗапроса.ВНаличииКонечныйОстаток < 10 Тогда
Ответ = Ответ + РезультатЗапроса.Номенклатура + Символы.ПС + " /на складе: "+ "«г."+РезультатЗапроса.Склад + "»" + ": " + РезультатЗапроса.ВНаличииКонечныйОстаток + " шт. "+ "
|" + Символы.ПС;
Иначе
Ответ = Ответ + РезультатЗапроса.Номенклатура + Символы.ПС + " /на складе: " + "«г."+ РезультатЗапроса.Склад + "»" + ": " + " - более 10" + " шт. "+ "
|" + Символы.ПС ;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат Ответ;
Показатьи ничего не изменилось. В выборке по складам все пусто
(30)небольшие корректировки
в запросе добавить
и в выборке добавить выполнить
в запросе добавить
|ИТОГИ ПО
|СправочникНоменклатура.Ссылка,
|ЕСТЬNULL(СвободныеОстаткиОстаткиИОбороты.Склад, """")
...........
и в выборке добавить выполнить
ВыборкаПоНоменклатуре = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Помогите, пожалуйста, с данным вопросом.
данная функция работает и выводит данные. Но не группирует данные по номенклатуре и складам.
Ответ получается в виде:
HI-MACS Galaxy T001 Black Hole 127603680 (Искусственный камень) вывод 22г
/на складе: «г.Основной склад»: 1 шт.
HI-MACS Galaxy T001 Black Hole 127603680 (Искусственный камень) вывод 22г
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
HI-MACS Galaxy T002 Uranus 127603680 (Искусственный камень)
/на складе: «г.Казань ВТС ГРУПП»: 5 шт.
HI-MACS Sparkle P106 Koal 127603680 (Искуственный камень)
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
Акции и скидки
/на складе: «г.Основной склад»: 8 шт.
Ссылка на фотографию:
Акции и скидки
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
Ссылка на фотографию:
Функция ПолучитьВсе(ТекстЗапроса)
Заголовок = Справочники.ПользовательскиеПоля.НайтиПоКоду("000000001");
Запрос = Новый запрос;
Запрос.Текст = "ВЫБРАТЬ
| СправочникНоменклатура.Ссылка КАК Номенклатура,
| СправочникНоменклатура.МедиаСсылки КАК МедиаСсылки,
| СУММА(ЕСТЬNULL(СвободныеОстаткиОстаткиИОбороты.ВНаличииКонечныйОстаток, 0)) КАК ВНаличииКонечныйОстаток,
| &Артикул КАК Артикул,
| ЕСТЬNULL(СвободныеОстаткиОстаткиИОбороты.Склад, """") КАК Склад
// Добавил наименование склада для отображения в ТГ
//| СвободныеОстаткиОстаткиИОбороты.Склад.НаименованиеВТг КАК СкладНаименованиеВТг
|ИЗ
| Справочник.Номенклатура КАК СправочникНоменклатура
| Правое СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(, , , , ) КАК СвободныеОстаткиОстаткиИОбороты
| ПО (СвободныеОстаткиОстаткиИОбороты.Номенклатура = СправочникНоменклатура.Ссылка)
|ГДЕ
| СправочникНоменклатура.Артикул ПОДОБНО &Артикул
| И СправочникНоменклатура.ОтправитьВТГ = ИСТИНА
| И СвободныеОстаткиОстаткиИОбороты.Склад.ПоказыватьВТг = ИСТИНА
|
|СГРУППИРОВАТЬ ПО
| СправочникНоменклатура.Ссылка,
| ЕСТЬNULL(СвободныеОстаткиОстаткиИОбороты.Склад, """"),
| СправочникНоменклатура.МедиаСсылки
//| СвободныеОстаткиОстаткиИОбороты.Склад.НаименованиеВТг
|УПОРЯДОЧИТЬ ПО
| Номенклатура ВОЗР,
| Склад ВОЗР
|Итоги ПО
| Номенклатура";
Запрос.УстановитьПараметр("Артикул", "%"+ТекстЗапроса+"%");
РезультатЗапросаНоменклатура = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура");
Если РезультатЗапросаНоменклатура.Количество() = 0 Тогда
Возврат("Не найдена номенклатура с артикулом " + ТекстЗапроса);
КонецЕсли;
Ответ = "";
Пока РезультатЗапросаНоменклатура.Следующий() Цикл
РезультатЗапроса = РезультатЗапросаНоменклатура.Выбрать();
Пока РезультатЗапроса.Следующий() цикл
Если ЗначениеЗаполнено (РезультатЗапроса.МедиаСсылки) Тогда
Если РезультатЗапроса.ВНаличииКонечныйОстаток < 10 Тогда
Ответ = Ответ + РезультатЗапроса.Номенклатура + Символы.ПС + " /на складе: "+ "«г."+РезультатЗапроса.Склад + "»" + ": " + РезультатЗапроса.ВНаличииКонечныйОстаток + " шт. "+ "
|" + Символы.ПС + "[" + Заголовок.ЗаголовокМедиаСсылки + "]" + "(" + РезультатЗапроса.МедиаСсылки+ ")" + "
|" + Символы.ПС;
Иначе
Ответ = Ответ + РезультатЗапроса.Номенклатура + Символы.ПС + " /на складе: " + "«г."+ РезультатЗапроса.Склад + "»" + ": " + " - более 10" + " шт. "+ "
|" + Символы.ПС + "[" + Заголовок.ЗаголовокМедиаСсылки + "]" + "(" + РезультатЗапроса.МедиаСсылки+ ")" + "
|" + Символы.ПС;
КонецЕсли;
Иначе
Если РезультатЗапроса.ВНаличииКонечныйОстаток < 10 Тогда
Ответ = Ответ + РезультатЗапроса.Номенклатура + Символы.ПС + " /на складе: "+ "«г."+РезультатЗапроса.Склад + "»" + ": " + РезультатЗапроса.ВНаличииКонечныйОстаток + " шт. "+ "
|" + Символы.ПС;
Иначе
Ответ = Ответ + РезультатЗапроса.Номенклатура + Символы.ПС + " /на складе: " + "«г."+ РезультатЗапроса.Склад + "»" + ": " + " - более 10" + " шт. "+ "
|" + Символы.ПС ;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Возврат Ответ;
КонецФУнкции
Показатьданная функция работает и выводит данные. Но не группирует данные по номенклатуре и складам.
Ответ получается в виде:
HI-MACS Galaxy T001 Black Hole 127603680 (Искусственный камень) вывод 22г
/на складе: «г.Основной склад»: 1 шт.
HI-MACS Galaxy T001 Black Hole 127603680 (Искусственный камень) вывод 22г
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
HI-MACS Galaxy T002 Uranus 127603680 (Искусственный камень)
/на складе: «г.Казань ВТС ГРУПП»: 5 шт.
HI-MACS Sparkle P106 Koal 127603680 (Искуственный камень)
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
Акции и скидки
/на складе: «г.Основной склад»: 8 шт.
Ссылка на фотографию:
Акции и скидки
/на складе: «г.Казань ВТС ГРУПП»: - более 10 шт.
Ссылка на фотографию:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот