Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 июн 2024, 05:04

Артикуляция

Автор Karatel, 22 сен 2022, 14:18

0 Пользователей и 1 гость просматривают эту тему.

Karatel

Добрый день, идет нумерация по всему товару от допустим 000001 и до 007000, необходимо сделать разделение по брендам их порядка 60. Каждый бренд должен начинаться с 000001 и до 000100, следующий бренд должен начинаться заново с 000001 и до например 0000200 и так далее. Подскажите как в цикле реализовать это, чтобы когда по данному бренду товар закончился и начался с нумерации начала другого бренда и т.п. Логику понял, а как в коде прописать не совсем. Ниже код который на данный момент есть.

Счетчик=0;
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   Номенклатура.Ссылка,
   |   Номенклатура.ТипТовара,
   |   Номенклатура.Бренд КАК Бренд,
   |   Номенклатура.Направление,
   |   Номенклатура.Наименование
   |ИЗ
   |   Справочник.Номенклатура КАК Номенклатура
   |ГДЕ
   |   Номенклатура.Ссылка В ИЕРАРХИИ(&Родитель)
   |   И Номенклатура.ЭтоГруппа = ЛОЖЬ
   |
   |УПОРЯДОЧИТЬ ПО
   |   Бренд";
   
   Запрос.УстановитьПараметр("Родитель", Справочники.Номенклатура.НайтиПоКоду("ZET00001913"));
   
   РезультатЗапроса = Запрос.Выполнить();
   
   ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
   
   Пока ВыборкаДетальныеЗаписи.Следующий()Цикл
      Если Что - то Тогда
         Счетчик = Счетчик+1;
         Сообщить(ВыборкаДетальныеЗаписи.Наименование + " Товар№: " + Формат(Счетчик,"ЧЦ=6; ЧВН=; ЧГ=0"));
      Иначе
         Продолжить;
       КонецЕсли;
   КонецЦикла;

LexaK

Karatel, попробуйте так
замените свой цикл на этот код
Счетчик = 0;
лкБренд = 0;
Пока ВыборкаДетальныеЗаписи.Следующий()Цикл
      Счетчик = Счетчик+1;
  Если лкБренд  <> ВыборкаДетальныеЗаписи.Бренд Тогда
//смена бренда
Счетчик = 1;
лкБренд = ВыборкаДетальныеЗаписи.Бренд;
Сообщить("Бренд" + лкБренд);
       КонецЕсли;
       Сообщить(ВыборкаДетальныеЗаписи.Наименование + " Товар№: " + Формат(Счетчик,"ЧЦ=6; ЧВН=; ЧГ=0"));
   КонецЦикла;
если помогло нажмите: Спасибо!

Похожие темы (1)

Рейтинг@Mail.ru

Поиск