Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с флажками  (Прочитано 6421 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sergb59
Новенький

ru
Offline 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, торговля и склад, и прилагаю файл обработки

* тест2.ert (195 Кб - загружено 233 раз.)
« Последнее редактирование: 09-07-2021 19:58 от sergb59 » Записан
Люсь
Команда клуба

ru
Offline Offline
Пол: Женский

« Ответ #1 : 14-08-2021 04:18 » 

У номенклатуры может быть только 2 качества: новый/распродажа? Не проще значение сделать булевым?
Записан

Посторонним просьба не беспокоить!
-------------------------------------------------
O (I) Rh +
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 14-08-2021 07:07 » new

У номенклатуры может быть только 2 качества: новый/распродажа? Не проще значение сделать булевым?
Не проще, ведь можно добавить еще несколько качеств - предпродажа, бу и подобное
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines