Подскажите как в этом запросе происходит объединение одинаковых номенклатур, просто нужно чтобы в печатной форме выводило одинаковые товары отдельно друг от друга если в таблице документа этот товар двумя строками, а тут как я понял в самом запросе они объединяются.
Запрос.Текст =
"ВЫБРАТЬ
| СУММА(1) КАК Количество,
| СписокТоваров.Ссылка КАК Ссылка
|ПОМЕСТИТЬ КоличествоТоваров
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТоваров.Ссылка КАК Ссылка,
| ТаблицаТоваров.Номенклатура КАК Номенклатура,
| ТаблицаТоваров.Характеристика.НаименованиеПолное КАК ХарактеристикаНаименование,
| ТаблицаТоваров.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТоваров.Номенклатура.ЕдиницаГрузоместа КАК ЕдиницаГрузоместа,
| ТаблицаТоваров.СуммаНДС КАК СуммаНДС,
| ТаблицаТоваров.СуммаБезНДС КАК СуммаБезНДС,
| ТаблицаТоваров.Номенклатура.ВесИспользовать КАК ВесИспользовать,
| ТаблицаТоваров.Ссылка.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ТаблицаТоваров.Характеристика КАК Характеристика
| ИЗ
| РеализацияТоваровУслугТаблицаТоваров КАК ТаблицаТоваров
| ГДЕ
| ТаблицаТоваров.ЭтоТовар) КАК СписокТоваров
|
|СГРУППИРОВАТЬ ПО
| СписокТоваров.Ссылка
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| РеализацияТоваров.Ссылка КАК Ссылка,
| РеализацияТоваров.Номер КАК Номер,
| РеализацияТоваров.Дата КАК Дата,
| РеализацияТоваров.Организация КАК Организация,
| ВЫБОР
| КОГДА РеализацияТоваров.Грузополучатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА РеализацияТоваров.Контрагент
| ИНАЧЕ РеализацияТоваров.Грузополучатель
| КОНЕЦ КАК Грузополучатель,
| ВЫБОР
| КОГДА РеализацияТоваров.Грузоотправитель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА РеализацияТоваров.Организация
| ИНАЧЕ РеализацияТоваров.Грузоотправитель
| КОНЕЦ КАК Грузоотправитель,
| ВЫБОР
| КОГДА РеализацияТоваров.Грузоотправитель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА РеализацияТоваров.Организация.ИНН
| ИНАЧЕ РеализацияТоваров.Грузоотправитель.ИНН
| КОНЕЦ КАК ГрузоотправительИНН,
| ВЫБОР
| КОГДА РеализацияТоваров.Грузоотправитель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА РеализацияТоваров.Организация.GLN
| ИНАЧЕ РеализацияТоваров.Грузоотправитель.GLN
| КОНЕЦ КАК ГрузоотправительGLN,
| ВЫБОР
| КОГДА РеализацияТоваров.Грузополучатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА РеализацияТоваров.Контрагент.ИНН
| ИНАЧЕ РеализацияТоваров.Грузополучатель.ИНН
| КОНЕЦ КАК ГрузополучательИНН,
| ВЫБОР
| КОГДА РеализацияТоваров.Грузополучатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА РеализацияТоваров.Контрагент.GLN
| ИНАЧЕ РеализацияТоваров.Грузополучатель.GLN
| КОНЕЦ КАК ГрузополучательGLN,
| РеализацияТоваров.Контрагент КАК Контрагент,
| РеализацияТоваров.Заказчик КАК ЗаказчикПеревозок,
| РеализацияТоваров.Организация.Префикс КАК Префикс,
| РеализацияТоваров.Отпустил.Наименование КАК Кладовщик,
| РеализацияТоваров.ОтпустилДолжность КАК ДолжностьКладовщика,
| ТаблицаОтветственныеЛица.РуководительНаименование КАК Руководитель,
| ТаблицаОтветственныеЛица.РуководительДолжность КАК ДолжностьРуководителя,
| ТаблицаОтветственныеЛица.ГлавныйБухгалтерНаименование КАК ГлавныйБухгалтер,
| РеализацияТоваров.БанковскийСчетОрганизации КАК БанковскийСчетОрганизации,
| РеализацияТоваров.БанковскийСчетКонтрагента КАК БанковскийСчетКонтрагента,
| РеализацияТоваров.БанковскийСчетГрузоотправителя КАК БанковскийСчетГрузоотправителя,
| РеализацияТоваров.БанковскийСчетГрузополучателя КАК БанковскийСчетГрузополучателя,
| РеализацияТоваров.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| РеализацияТоваров.Валюта КАК Валюта,
| СкладыКонтактнаяОтправитель.Представление КАК ПунктПогрузки,
| ЕСТЬNULL(КоличествоТоваров.Количество, 0) КАК КоличествоНаименований,
| РеализацияТоваров.МестоСоставленияАкта,
| РеализацияТоваров.НомерБСО,
| РеализацияТоваров.ОтпускПроизвел,
| РеализацияТоваров.ОтпускРазрешил,
| РеализацияТоваров.Переадресовка,
| РеализацияТоваров.ПереданыДокументы,
| РеализацияТоваров.ПоДоверенности,
| РеализацияТоваров.ПроизвелДолжность,
| РеализацияТоваров.ПутевойЛист,
| РеализацияТоваров.Серия,
| РеализацияТоваров.Отпустил,
| РеализацияТоваров.ОтпустилДолжность,
| РеализацияТоваров.Основание КАК ОснованиеОтпуска,
| РеализацияТоваров.ДоверенностьВыдана,
| РеализацияТоваров.ДоверенностьДата,
| РеализацияТоваров.ДоверенностьЛицо,
| РеализацияТоваров.ДоверенностьНомер,
| РеализацияТоваров.ТоварПринял,
| РеализацияТоваров.ТоварКПеревозкеПринял
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваров
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО РеализацияТоваров.Ссылка = ДанныеДокументов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады.КонтактнаяИнформация КАК СкладыКонтактнаяОтправитель
| ПО РеализацияТоваров.Склад = СкладыКонтактнаяОтправитель.Ссылка
| И (СкладыКонтактнаяОтправитель.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресСклада))
| ЛЕВОЕ СОЕДИНЕНИЕ КоличествоТоваров КАК КоличествоТоваров
| ПО РеализацияТоваров.Ссылка = КоличествоТоваров.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаОтветственныеЛица КАК ТаблицаОтветственныеЛица
| ПО РеализацияТоваров.Ссылка = ТаблицаОтветственныеЛица.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ТаблицаТоваров.Ссылка КАК Ссылка,
| ТаблицаТоваров.Номенклатура КАК Номенклатура,
| ТаблицаТоваров.Номенклатура.GTIN КАК GTIN,
| ТаблицаТоваров.Номенклатура.Артикул КАК ТоварКод,
| ТаблицаТоваров.Номенклатура.НаименованиеПолное КАК ТоварНаименование,
| ТаблицаТоваров.Характеристика.НаименованиеПолное КАК ХарактеристикаНаименование,
| ТаблицаТоваров.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТоваров.Номенклатура.ЕдиницаГрузоместа КАК ЕдиницаГрузоместа,
| ЕСТЬNULL(ТаблицаТоваров.Упаковка, ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)) КАК Упаковка,
| ВЫБОР
| КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА ТаблицаТоваров.КоличествоУпаковок
| ИНАЧЕ ТаблицаТоваров.Количество
| КОНЕЦ КАК Количество,
| ВЫБОР
| КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ТОГДА ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения.Представление
| ИНАЧЕ ТаблицаТоваров.Упаковка.Наименование
| КОНЕЦ КАК ВидУпаковки,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения
| ИЛИ ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ТОГДА ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения.Представление
| ИНАЧЕ ТаблицаТоваров.Упаковка.Наименование
| КОНЕЦ КАК БазоваяЕдиницаНаименование,
| ВЫБОР
| КОГДА ТаблицаТоваров.Ссылка.ЦенаВключаетНДС
| ТОГДА ВЫБОР
| КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА (ТаблицаТоваров.СуммаБезНДС + ТаблицаТоваров.СуммаНДС) / ТаблицаТоваров.КоличествоУпаковок
| ИНАЧЕ (ТаблицаТоваров.СуммаБезНДС + ТаблицаТоваров.СуммаНДС) / ТаблицаТоваров.Количество
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА НЕ &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА ТаблицаТоваров.СуммаБезНДС / ТаблицаТоваров.КоличествоУпаковок
| ИНАЧЕ ТаблицаТоваров.СуммаБезНДС / ТаблицаТоваров.Количество
| КОНЕЦ
| КОНЕЦ КАК Цена,
| ЕСТЬNULL(ВЫБОР
| КОГДА ТаблицаТоваров.Номенклатура.ВесИспользовать
| ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.ВесЧислитель / ВЫБОР
| КОГДА ТаблицаТоваров.Номенклатура.ВесЗнаменатель = 0
| ТОГДА 1
| ИНАЧЕ ТаблицаТоваров.Номенклатура.ВесЗнаменатель
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ, 0) КАК МассаБрутто,
| ЕСТЬNULL(ВЫБОР
| КОГДА ТаблицаТоваров.Номенклатура.ВесИспользовать
| ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.ВесЧислитель / ВЫБОР
| КОГДА ТаблицаТоваров.Номенклатура.ВесЗнаменатель = 0
| ТОГДА 1
| ИНАЧЕ ТаблицаТоваров.Номенклатура.ВесЗнаменатель
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ, 0) КАК МассаНетто,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА ТаблицаТоваров.КоличествоУпаковок
| ИНАЧЕ КоэффициентыУпаковок.Количество / КоэффициентыУпаковок.КоэффициентВложеннойУпаковки
| КОНЕЦ КАК КоличествоМест,
| ТаблицаТоваров.СуммаБезНДС КАК СуммаБезНДС,
| ТаблицаТоваров.СуммаНДС КАК СуммаНДС,
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ЛОЖЬ КАК Весовой,
| ВЫБОР
| КОГДА ТаблицаТоваров.Ссылка.ВернутьМногооборотнуюТару
| И ТаблицаТоваров.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоВозвратнаяТара,
| ТаблицаТоваров.Ссылка.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ТаблицаТоваров.СуммаБезНДС + ТаблицаТоваров.СуммаНДС КАК СуммаСНДС,
| ТаблицаТоваров.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА ТаблицаТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ТОГДА ТаблицаТоваров.Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ ТаблицаТоваров.Упаковка
| КОНЕЦ КАК БазоваяЕдиница,
| ВЫБОР
| КОГДА ТаблицаТоваров.Ссылка.ЦенаВключаетНДС
| ТОГДА ТаблицаТоваров.СуммаБезНДС + ТаблицаТоваров.СуммаНДС
| ИНАЧЕ ТаблицаТоваров.СуммаБезНДС
| КОНЕЦ КАК Сумма
|ИЗ
| РеализацияТоваровУслугТаблицаТоваров КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ КоэффициентыУпаковок КАК КоэффициентыУпаковок
| ПО ТаблицаТоваров.Ссылка = КоэффициентыУпаковок.Ссылка
| И ТаблицаТоваров.НомерСтроки = КоэффициентыУпаковок.НомерСтроки
| И (НЕ &ВыводитьБазовыеЕдиницыИзмерения)
|ГДЕ
| ТаблицаТоваров.ЭтоТовар
|
|УПОРЯДОЧИТЬ ПО
| Ссылка,
| НомерСтроки
|ИТОГИ ПО
| Ссылка
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|УНИЧТОЖИТЬ КоличествоТоваров";
Запрос.УстановитьПараметр("ЗаполненаЕдиницаИзмеренияВеса", ЗначениеЗаполнено(Константы.ЕдиницаИзмеренияВеса.Получить()));
Запрос.УстановитьПараметр("ВыводитьБазовыеЕдиницыИзмерения", Константы.ВыводитьБазовыеЕдиницыИзмерения.Получить());
МассивРезультатов = Запрос.ВыполнитьПакет();
РезультатПоШапке = МассивРезультатов[1];
РезультатПоТабличнойЧасти = МассивРезультатов[2];
//РезультатПоТабличнойЧасти = ПолучитьТабЧастьПоВидамНоменклатуры(МассивОбъектов, ПараметрыПечати);
СтруктураДанныхДляПечати = Новый Структура("РезультатПоШапке, РезультатПоТабличнойЧасти",
РезультатПоШапке, РезультатПоТабличнойЧасти);
ПоказатьПо теме из базы знаний
- Вывод печатных форм с запросом данных в форму "Печать документов" из подсистемы БСП "Печать".
- Создание в 1С 7.7 XML в формате EnterpriseData (универсальный формат обмена), версия 1.5. Инструкции и примеры переноса данных из устаревшей конфигурации 1С 7.7 в любую современную 1С 8.3, поддерживающую EnterpriseData, через Конвертацию данных 3
- Сохранение запроса со всеми параметрами и временными таблицами
- Полезный код для программистов 1С (часть 3). Подготовка печатных форм + подсистема Управление печатью (БСП)
- Обработка 1С для печати чеков на облачной кассе ККТ АТОЛ.ОНЛАЙН + эквайринг ATOL.PAY
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
"РеализацияТоваровУслугТаблицаТоваров" - это какая-то временная таблица, или ты специально точку внутри уничтожил?
Хотя нет. Это стопудово временная таблица. Вот там у тебя и группируется, наверное.
в табличной части у меня номенклатура двумя строками написана, а в результате запроса я получаю одну
"РеализацияТоваровУслугТаблицаТоваров" - это какая-то временная таблица, или ты специально точку внутри уничтожил?
Хотя нет. Это стопудово временная таблица. Вот там у тебя и группируется, наверное.
(5)
Это типовая конфигурация, данные получаются из табличной части "Товары" из документа Реализация товар и услуг. Как я понимаю "РеализацияТоваровУслугТаблицаТоваров" тут специально убрана точка чтобы получить ссылку сразу на таблицу
"РеализацияТоваровУслугТаблицаТоваров" - это какая-то временная таблица, или ты специально точку внутри уничтожил?
Это типовая конфигурация, данные получаются из табличной части "Товары" из документа Реализация товар и услуг. Как я понимаю "РеализацияТоваровУслугТаблицаТоваров" тут специально убрана точка чтобы получить ссылку сразу на таблицу
(6)
Если бы это была не временная таблица, то выглядело бы это так: "Документ.РеализацияТоваровУслуг.Товары". Иначе платформа не знала, что это за таблица.
В данном случае это временная таблица. Формируется ранее.
К Запрос назначен менеджер временных таблиц. Ищите.
Как я понимаю "РеализацияТоваровУслугТаблицаТоваров" тут специально убрана точка чтобы получить ссылку сразу на таблицу
Если бы это была не временная таблица, то выглядело бы это так: "Документ.РеализацияТоваровУслуг.Товары". Иначе платформа не знала, что это за таблица.
В данном случае это временная таблица. Формируется ранее.
К Запрос назначен менеджер временных таблиц. Ищите.
после выполнения запроса происходят такие действия
ДанныеДляПечати.РезультатПоТабличнойЧасти.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
. . . . .
СтрокаТовары = ВыборкаПоДокументам.Выбрать();
Пока СтрокаТовары.Следующий() Цикл
//СтрокаТовары содержит данные по строке из таблицы
. . . . . .
КонецЦикла;
(8)
назначен менеджер временных табли
вот что перед этим запросом написано
КолонкаКодов = ФормированиеПечатныхФорм.ИмяДополнительнойКолонки();
Если Не ЗначениеЗаполнено(КолонкаКодов) Тогда
КолонкаКодов = "Код";
КонецЕсли;
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст = "
|ВЫБРАТЬ
| ДанныеДокументов.Ссылка КАК Ссылка,
| ДанныеДокументов.Валюта КАК Валюта
|
|ПОМЕСТИТЬ ТаблицаДанныхДокументов
|ИЗ
| Документ.РеализацияТоваровУслуг КАК ДанныеДокументов
|
|ГДЕ
| ДанныеДокументов.Ссылка В (&МассивОбъектов)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|;";
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Запрос.Выполнить();
ПоместитьВременнуюТаблицуТоваров(МенеджерВременныхТаблиц);
ПродажиСервер.ПоместитьВременнуюТаблицуКоэффициентыУпаковок(МенеджерВременныхТаблиц, "РеализацияТоваровУслугТаблицаТоваров");
ОтветственныеЛицаСервер.СформироватьВременнуюТаблицуОтветственныхЛицДокументов(МассивОбъектов, МенеджерВременныхТаблиц);
Показать
(9)
Вот тут формируется временная таблица РеализацияТоваровУслугТаблицаТоваров.
Тут формируется временная таблица КоэффициентыУпаковок
ПоместитьВременнуюТаблицуТоваров(МенеджерВременныхТаблиц);
Вот тут формируется временная таблица РеализацияТоваровУслугТаблицаТоваров.
ПродажиСервер.ПоместитьВременнуюТаблицуКоэффициентыУпаковок(МенеджерВременныхТаблиц, "РеализацияТоваровУслугТаблицаТоваров");
Тут формируется временная таблица КоэффициентыУпаковок
(11) вот такой запрос внутри
Запрос.Текст = "ВЫБРАТЬ
| ТаблицаТоваров.Ссылка КАК Ссылка,
| ТаблицаТоваров.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТоваров.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ТаблицаТоваров.Упаковка КАК Упаковка,
| ТаблицаТоваров.Цена КАК Цена,
| МАКСИМУМ(ТаблицаТоваров.НомерСтроки) КАК НомерСтроки
|ПОМЕСТИТЬ СтрокиТоваров
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК ТаблицаТоваров
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО ТаблицаТоваров.Ссылка = ДанныеДокументов.Ссылка
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТоваров.Ссылка,
| ТаблицаТоваров.АналитикаУчетаНоменклатуры,
| ТаблицаТоваров.АналитикаУчетаНаборов,
| ТаблицаТоваров.Упаковка,
| ТаблицаТоваров.Цена
|
|ИНДЕКСИРОВАТЬ ПО
| ТаблицаТоваров.Ссылка,
| ТаблицаТоваров.АналитикаУчетаНоменклатуры,
| ТаблицаТоваров.АналитикаУчетаНаборов,
| ТаблицаТоваров.Упаковка,
| ТаблицаТоваров.Цена
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ВариантыКомплектацииНоменклатуры.Ссылка КАК ВариантКомплектацииНоменклатуры,
| ВариантыКомплектацииНоменклатуры.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| ТаблицаДокумента.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаДокумента.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.Номенклатура КАК Номенклатура,
| ТаблицаДокумента.Характеристика КАК Характеристика,
| ТаблицаДокумента.Серия КАК Серия,
| &ПустаяГТД КАК НомерГТД,
| ТаблицаДокумента.Количество КАК Количество,
| ТаблицаДокумента.Количество КАК КоличествоУпаковок,
| ТаблицаДокумента.Цена КАК Цена,
| ЕСТЬNULL(СуммыДокументовВВалютеРегл.СуммаБезНДСРегл, ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС) КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ЕСТЬNULL(СуммыДокументовВВалютеРегл.СуммаНДСРегл, ТаблицаДокумента.СуммаНДС) КАК СуммаНДС,
| ЛОЖЬ КАК ЭтоТовар,
| ЛОЖЬ КАК ЭтоНеВозвратнаяТара,
| ЛОЖЬ КАК ВернутьМногооборотнуюТару,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка
|ПОМЕСТИТЬ РеализацияТоваровУслугТаблицаТоваров
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО ТаблицаДокумента.Ссылка = ДанныеДокументов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютеРегл КАК СуммыДокументовВВалютеРегл
| ПО ТаблицаДокумента.Ссылка = СуммыДокументовВВалютеРегл.Регистратор
| И ТаблицаДокумента.ИдентификаторСтроки = СуммыДокументовВВалютеРегл.ИдентификаторСтроки
| И (СуммыДокументовВВалютеРегл.Активность)
| И (&ПересчитыватьВВалютуРегл)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
| ПО (ВариантыКомплектацииНоменклатуры.Владелец = ТаблицаДокумента.НоменклатураНабора)
| И (ВариантыКомплектацииНоменклатуры.Характеристика = ТаблицаДокумента.ХарактеристикаНабора)
| И (ВариантыКомплектацииНоменклатуры.Основной)
|ГДЕ
| ТаблицаДокумента.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаДокумента.Ссылка,
| ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.Ссылка, ЗНАЧЕНИЕ(Справочник.ВариантыКомплектацииНоменклатуры.ПустаяСсылка)),
| ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.ВариантПредставленияНабораВПечатныхФормах, ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ПустаяСсылка)),
| ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора, ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка)),
| ЕСТЬNULL(АналитикаНаборов.НоменклатураНабора, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)),
| ЕСТЬNULL(АналитикаНаборов.ХарактеристикаНабора, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)),
| СтрокиТоваров.НомерСтроки,
| Аналитика.Номенклатура,
| Аналитика.Характеристика,
| Аналитика.Серия,
| ВЫБОР
| КОГДА &ВключаяНомераГТД
| ТОГДА ТаблицаДокумента.НомерГТД
| ИНАЧЕ &ПустаяГТД
| КОНЕЦ,
| СУММА(ТаблицаДокумента.Количество),
| СУММА(ТаблицаДокумента.КоличествоУпаковок),
| ТаблицаДокумента.Цена,
| СУММА(ЕСТЬNULL(СуммыДокументовВВалютеРегл.СуммаБезНДСРегл, ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС)),
| ТаблицаДокумента.СтавкаНДС,
| СУММА(ЕСТЬNULL(СуммыДокументовВВалютеРегл.СуммаНДСРегл, ТаблицаДокумента.СуммаНДС)),
| ИСТИНА,
| ВЫБОР
| КОГДА Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ТаблицаДокумента.Ссылка.ВернутьМногооборотнуюТару
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ,
| ТаблицаДокумента.Ссылка.ВернутьМногооборотнуюТару,
| ТаблицаДокумента.Упаковка
|ИЗ
| Документ.РеализацияТоваровУслуг.ВидыЗапасов КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаДокумента.АналитикаУчетаНоменклатуры = Аналитика.КлючАналитики
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНаборов КАК АналитикаНаборов
| ПО ТаблицаДокумента.АналитикаУчетаНаборов = АналитикаНаборов.КлючАналитики
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО ТаблицаДокумента.Ссылка = ДанныеДокументов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютеРегл КАК СуммыДокументовВВалютеРегл
| ПО ТаблицаДокумента.Ссылка = СуммыДокументовВВалютеРегл.Регистратор
| И ТаблицаДокумента.ИдентификаторСтроки = СуммыДокументовВВалютеРегл.ИдентификаторСтроки
| И (СуммыДокументовВВалютеРегл.Активность)
| И (&ПересчитыватьВВалютуРегл)
| ЛЕВОЕ СОЕДИНЕНИЕ СтрокиТоваров КАК СтрокиТоваров
| ПО ТаблицаДокумента.Ссылка = СтрокиТоваров.Ссылка
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры = СтрокиТоваров.АналитикаУчетаНоменклатуры
| И ТаблицаДокумента.АналитикаУчетаНаборов = СтрокиТоваров.АналитикаУчетаНаборов
| И ТаблицаДокумента.Упаковка = СтрокиТоваров.Упаковка
| И ТаблицаДокумента.Цена = СтрокиТоваров.Цена
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
| ПО (ВариантыКомплектацииНоменклатуры.Владелец = ТаблицаДокумента.АналитикаУчетаНаборов.НоменклатураНабора)
| И (ВариантыКомплектацииНоменклатуры.Характеристика = ТаблицаДокумента.АналитикаУчетаНаборов.ХарактеристикаНабора)
| И (ВариантыКомплектацииНоменклатуры.Основной)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаДокумента.Ссылка,
| ВариантыКомплектацииНоменклатуры.Ссылка,
| АналитикаНаборов.НоменклатураНабора,
| АналитикаНаборов.ХарактеристикаНабора,
| СтрокиТоваров.НомерСтроки,
| Аналитика.Номенклатура,
| Аналитика.Характеристика,
| Аналитика.Серия,
| ТаблицаДокумента.СтавкаНДС,
| ТаблицаДокумента.Упаковка,
| ТаблицаДокумента.Цена,
| ВЫБОР
| КОГДА &ВключаяНомераГТД
| ТОГДА ТаблицаДокумента.НомерГТД
| ИНАЧЕ &ПустаяГТД
| КОНЕЦ,
| ТаблицаДокумента.Ссылка.ВернутьМногооборотнуюТару,
| ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.ВариантПредставленияНабораВПечатныхФормах, ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ПустаяСсылка)),
| ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора, ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка)),
| ВЫБОР
| КОГДА Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ТаблицаДокумента.Ссылка.ВернутьМногооборотнуюТару
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| НомерСтроки
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|УНИЧТОЖИТЬ СтрокиТоваров";
Запрос.Выполнить();
Показать
Попробуй в первом запросе пакета убрать группировку
|ВЫБРАТЬ
| ТаблицаТоваров.Ссылка КАК Ссылка,
| ТаблицаТоваров.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТоваров.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ТаблицаТоваров.Упаковка КАК Упаковка,
| ТаблицаТоваров.Цена КАК Цена,
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки
|ПОМЕСТИТЬ СтрокиТоваров
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК ТаблицаТоваров
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО ТаблицаТоваров.Ссылка = ДанныеДокументов.Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| ТаблицаТоваров.Ссылка,
| ТаблицаТоваров.АналитикаУчетаНоменклатуры,
| ТаблицаТоваров.АналитикаУчетаНаборов,
| ТаблицаТоваров.Упаковка,
| ТаблицаТоваров.Цена
|;
Показать
(14)
| СУММА(ТаблицаДокумента.Количество),
| СУММА(ТаблицаДокумента.КоличествоУпаковок),
| СУММА(ЕСТЬNULL(СуммыДокументовВВалютеРегл.СуммаБезНДСРегл, ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС)),
| СУММА(ЕСТЬNULL(СуммыДокументовВВалютеРегл.СуммаНДСРегл, ТаблицаДокумента.СуммаНДС)),
Убрать агрегатные функции суммирования. Т.е. тоже самое, но без СУММА()
| СУММА(ТаблицаДокумента.Количество),
| СУММА(ТаблицаДокумента.КоличествоУпаковок),
| СУММА(ЕСТЬNULL(СуммыДокументовВВалютеРегл.СуммаБезНДСРегл, ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС)),
| СУММА(ЕСТЬNULL(СуммыДокументовВВалютеРегл.СуммаНДСРегл, ТаблицаДокумента.СуммаНДС)),
Убрать агрегатные функции суммирования. Т.е. тоже самое, но без СУММА()
(18)
Вот соединение. Соединяется не по конкретной номенклатуре. Так что все нормально будет. Если несколько строк номенклатуры, то количество и сумма для каждой отдельно отработает без агрегатной функции.
| ЛЕВОЕ СОЕДИНЕНИЕ СтрокиТоваров КАК СтрокиТоваров
| ПО ТаблицаДокумента.Ссылка = СтрокиТоваров.Ссылка
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры = СтрокиТоваров.АналитикаУчетаНоменклатуры
| И ТаблицаДокумента.АналитикаУчетаНаборов = СтрокиТоваров.АналитикаУчетаНаборов
| И ТаблицаДокумента.Упаковка = СтрокиТоваров.Упаковка
| И ТаблицаДокумента.Цена = СтрокиТоваров.Цена
Вот соединение. Соединяется не по конкретной номенклатуре. Так что все нормально будет. Если несколько строк номенклатуры, то количество и сумма для каждой отдельно отработает без агрегатной функции.
(19) Конечно отработает. Только посчитает неправильно :) Как сейчас и происходит.
Там и так сейчас группируется до СтрокиТоваров.НомерСтроки. Отказ от группировки ничего хорошего не даст. Если в ВидыЗапасов свернутые данные, то результат не поменяется - будут итоговые количество и сумма по каждой строке. А если развернутые по исходным строкам - тогда строки размножатся (нужно добавлять в условия соединения условие соответствия строк).
Там и так сейчас группируется до СтрокиТоваров.НомерСтроки. Отказ от группировки ничего хорошего не даст. Если в ВидыЗапасов свернутые данные, то результат не поменяется - будут итоговые количество и сумма по каждой строке. А если развернутые по исходным строкам - тогда строки размножатся (нужно добавлять в условия соединения условие соответствия строк).
(21) тут конечно правильно, без конкретных данных не разобраться. Что хранится в ВидыЗапасов не ясно. И зачем именно оттуда выбираются данные, тоже.
Зачем тут объединение, если потом данные первого подзапроса отбрасываются...
Если только эта временная таблица еще где-то используется.
(22) Как я понимаю нужна измененная печатная форма?
Может проще создать внешнюю печатную форму со своим запросом?
Зачем тут объединение, если потом данные первого подзапроса отбрасываются...
Если только эта временная таблица еще где-то используется.
(22) Как я понимаю нужна измененная печатная форма?
Может проще создать внешнюю печатную форму со своим запросом?
(20)вот такое запрос вышел но всё равно сумма пишется
Запрос.Текст = "ВЫБРАТЬ
| ТаблицаТоваров.Ссылка КАК Ссылка,
| ТаблицаТоваров.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТоваров.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ТаблицаТоваров.Упаковка КАК Упаковка,
| ТаблицаТоваров.Цена КАК Цена,
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки
|ПОМЕСТИТЬ СтрокиТоваров
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК ТаблицаТоваров
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО ТаблицаТоваров.Ссылка = ДанныеДокументов.Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| ТаблицаТоваров.Ссылка,
| ТаблицаТоваров.АналитикаУчетаНоменклатуры,
| ТаблицаТоваров.АналитикаУчетаНаборов,
| ТаблицаТоваров.Упаковка,
| ТаблицаТоваров.Цена
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ВариантыКомплектацииНоменклатуры.Ссылка КАК ВариантКомплектацииНоменклатуры,
| ВариантыКомплектацииНоменклатуры.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| ТаблицаДокумента.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаДокумента.ХарактеристикаНабора КАК ХарактеристикаНабора,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.Номенклатура КАК Номенклатура,
| ТаблицаДокумента.Характеристика КАК Характеристика,
| ТаблицаДокумента.Серия КАК Серия,
| &ПустаяГТД КАК НомерГТД,
| ТаблицаДокумента.Количество КАК Количество,
| ТаблицаДокумента.Количество КАК КоличествоУпаковок,
| ТаблицаДокумента.Цена КАК Цена,
| ЕСТЬNULL(СуммыДокументовВВалютеРегл.СуммаБезНДСРегл, ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС) КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ЕСТЬNULL(СуммыДокументовВВалютеРегл.СуммаНДСРегл, ТаблицаДокумента.СуммаНДС) КАК СуммаНДС,
| ЛОЖЬ КАК ЭтоТовар,
| ЛОЖЬ КАК ЭтоНеВозвратнаяТара,
| ЛОЖЬ КАК ВернутьМногооборотнуюТару,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка
|ПОМЕСТИТЬ РеализацияТоваровУслугТаблицаТоваров
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО ТаблицаДокумента.Ссылка = ДанныеДокументов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютеРегл КАК СуммыДокументовВВалютеРегл
| ПО ТаблицаДокумента.Ссылка = СуммыДокументовВВалютеРегл.Регистратор
| И ТаблицаДокумента.ИдентификаторСтроки = СуммыДокументовВВалютеРегл.ИдентификаторСтроки
| И (СуммыДокументовВВалютеРегл.Активность)
| И (&ПересчитыватьВВалютуРегл)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
| ПО (ВариантыКомплектацииНоменклатуры.Владелец = ТаблицаДокумента.НоменклатураНабора)
| И (ВариантыКомплектацииНоменклатуры.Характеристика = ТаблицаДокумента.ХарактеристикаНабора)
| И (ВариантыКомплектацииНоменклатуры.Основной)
|ГДЕ
| ТаблицаДокумента.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаДокумента.Ссылка,
| ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.Ссылка, ЗНАЧЕНИЕ(Справочник.ВариантыКомплектацииНоменклатуры.ПустаяСсылка)),
| ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.ВариантПредставленияНабораВПечатныхФормах, ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ПустаяСсылка)),
| ЕСТЬNULL(ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора, ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка)),
| ЕСТЬNULL(АналитикаНаборов.НоменклатураНабора, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)),
| ЕСТЬNULL(АналитикаНаборов.ХарактеристикаНабора, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)),
| СтрокиТоваров.НомерСтроки,
| Аналитика.Номенклатура,
| Аналитика.Характеристика,
| Аналитика.Серия,
| ВЫБОР
| КОГДА &ВключаяНомераГТД
| ТОГДА ТаблицаДокумента.НомерГТД
| ИНАЧЕ &ПустаяГТД
| КОНЕЦ,
| ТаблицаДокумента.Количество,
| ТаблицаДокумента.КоличествоУпаковок,
| ТаблицаДокумента.Цена,
| ЕСТЬNULL(СуммыДокументовВВалютеРегл.СуммаБезНДСРегл, ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС),
| ТаблицаДокумента.СтавкаНДС,
| ЕСТЬNULL(СуммыДокументовВВалютеРегл.СуммаНДСРегл, ТаблицаДокумента.СуммаНДС),
| ИСТИНА,
| ВЫБОР
| КОГДА Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ТаблицаДокумента.Ссылка.ВернутьМногооборотнуюТару
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ,
| ТаблицаДокумента.Ссылка.ВернутьМногооборотнуюТару,
| ТаблицаДокумента.Упаковка
|ИЗ
| Документ.РеализацияТоваровУслуг.ВидыЗапасов КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаДокумента.АналитикаУчетаНоменклатуры = Аналитика.КлючАналитики
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНаборов КАК АналитикаНаборов
| ПО ТаблицаДокумента.АналитикаУчетаНаборов = АналитикаНаборов.КлючАналитики
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДанныхДокументов КАК ДанныеДокументов
| ПО ТаблицаДокумента.Ссылка = ДанныеДокументов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютеРегл КАК СуммыДокументовВВалютеРегл
| ПО ТаблицаДокумента.Ссылка = СуммыДокументовВВалютеРегл.Регистратор
| И ТаблицаДокумента.ИдентификаторСтроки = СуммыДокументовВВалютеРегл.ИдентификаторСтроки
| И (СуммыДокументовВВалютеРегл.Активность)
| И (&ПересчитыватьВВалютуРегл)
| ЛЕВОЕ СОЕДИНЕНИЕ СтрокиТоваров КАК СтрокиТоваров
| ПО ТаблицаДокумента.Ссылка = СтрокиТоваров.Ссылка
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры = СтрокиТоваров.АналитикаУчетаНоменклатуры
| И ТаблицаДокумента.АналитикаУчетаНаборов = СтрокиТоваров.АналитикаУчетаНаборов
| И ТаблицаДокумента.Упаковка = СтрокиТоваров.Упаковка
| И ТаблицаДокумента.Цена = СтрокиТоваров.Цена
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
| ПО (ВариантыКомплектацииНоменклатуры.Владелец = ТаблицаДокумента.АналитикаУчетаНаборов.НоменклатураНабора)
| И (ВариантыКомплектацииНоменклатуры.Характеристика = ТаблицаДокумента.АналитикаУчетаНаборов.ХарактеристикаНабора)
| И (ВариантыКомплектацииНоменклатуры.Основной)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| НомерСтроки
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|УНИЧТОЖИТЬ СтрокиТоваров";
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот