sergb59
Новенький
Offline
|
|
« : 09-07-2021 19:26 » |
|
Добрый день, заставила жизнь корректировать выгрузку на сайт. Что сделано, добавлены флажки в номенклатуру "Новый", "Распродажа", откорректировал выгрузку, чтоб при установке в выгрузке флажка "Распродажа" выводилась номенклатура с ценами и количеством, согласно флажку в номенклатуре. Но родилась идея фикс, чтоб при установке флажка "убрать распродажу" в выгрузке, при формировании файла еще и автоматом убирался флажок из номенклатуры. Как осилить это, не очень силен в в этом , только начинаю. Пока Запрос.Группировка("Номенклатура") = 1 Цикл Если Запрос.ЭтоГруппа("Номенклатура") = 1 Тогда Продолжить; КонецЕсли; Если (флПоОстаткамТМЦ = 1) И (Запрос.КоличествоКонОст = 0) Тогда Продолжить; КонецЕсли; ТекТМЦ = Запрос.Номенклатура; Если (флРаспродажа = 1) И (ТекТМЦ.Распродажа = 0) Тогда Продолжить; КонецЕсли; Если (флНовый = 1) И (ТекТМЦ.Новый = 0) Тогда Продолжить; КонецЕсли; КолТМЦ = КолТМЦ + 1; ПечТовар = ТекТМЦ.ПолнНаименование; ПечАртикул = ТекТМЦ.Код; ПечАртикул1 = ТекТМЦ.Артикул1; ПечРаспродажа = ТекТМЦ.Распродажа; ПечЦена = ""; ПечЦенаСтарая = ""; ВремЦена = 0; ВремЦенаДляСравнения = 0; //Если Запрос.КоличествоКонОст > 0 Тогда ЦенаПериодическая = СоздатьОбъект("Периодический"); ЦенаСтарая = 0; НайденнаяЦена = ""; Если глВернутьЦену(Запрос.Номенклатура, ВыбТипЦены, ДатаКонца, ВремЦена, ВрЕдЦены, ВалютаЦены,,НайденнаяЦена) = 1 Тогда ТекЦена = глПересчет(ВремЦена,ВалютаЦены, ДатаКонца, ВыбВалюта, ДатаКонца); ПечЦена = Окр(ТекЦена,2); ЦенаПериодическая.ИспользоватьОбъект("Цена",НайденнаяЦена.ТекущийЭлемент()); ЦенаПериодическая.ОбратныйПорядок(); ЦенаПериодическая.ВыбратьЗначения(); Пока ЦенаПериодическая.ПолучитьЗначение() = 1 цикл Если (ПустаяСтрока(ЦенаПериодическая.Значение) = 1) ИЛИ (ЦенаПериодическая.Значение = 0) Тогда ЦенаПериодическая.Удалить(); Продолжить; КонецЕсли; ЦенаТекущая = ЦенаПериодическая.Значение; ЦенаСтарая = Макс(ЦенаСтарая, ЦенаТекущая); КонецЦикла; Если (ЦенаСтарая > ТекЦена) И (ЦенаСтарая > 0) Тогда ПечЦенаСтарая = Окр(глПересчет(ЦенаСтарая,ВалютаЦены, ДатаКонца, ВыбВалюта, ДатаКонца),2); КонецЕсли; КонецЕсли; ПечОстаток = Запрос.КоличествоКонОст; Если ПечОстаток > 0 Тогда ПечАктивность = 1; Иначе ПечАктивность = 0; КонецЕсли; Если (флВместоОстаткаМинусОдин = 1) И (ПечОстаток > 0) Тогда ПечОстаток = "-1"; КонецЕсли; Если флТаблицаСТМЦ = 1 Тогда ПечТабл.ВывестиСекцию("Строка|Товар"); ПечТабл.ПрисоединитьСекцию("Строка|Основное"); Иначе ПечТабл.ВывестиСекцию("Строка|Основное"); КонецЕсли; Если флОстакиПоСкладам = 1 Тогда ПечТабл.ПрисоединитьСекцию("Строка|Граница"); Пока Запрос.Группировка("Склад") = 1 Цикл ПечОстаток = Запрос.КоличествоКонОст; ПечТабл.ПрисоединитьСекцию("Строка|Склад"); КонецЦикла;
Добавлено через 31 минуту и 52 секунды: в до гонку 1с 7.7, торговля и склад, и прилагаю файл обработки
|