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

ОТБОР КОНТРАГЕНТОВ

Автор Максим *****, 08 ноя 2018, 12:30

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

Максим *****

Всем привет, в 1С недавно, сейчас задача сделать отбор по контрагентам. Вот что сделал:
Для каждого СтрокаГруппы Из Дерево.Строки Цикл
         счНом=0;
         Пока счНом <> СтрокаГруппы.Строки.Количество() Цикл
            сч=0;
            ВозвращаемоеКолВверх = 0;
            Номенклатура = СтрокаГруппы.Строки.Получить(счНом);
            Пока сч <> Номенклатура.Строки.Количество() Цикл
               Строка = Номенклатура.Строки.Получить(сч);               
               Если (Строка.НомерМашины = "" И ОтборПоМашине.Найти("[Пустой]","НомерМашины") = Неопределено)
                  ИЛИ (Строка.НомерМашины <> "" И ОтборПоМашине.Найти(Строка.НомерМашины,"НомерМашины") = Неопределено) Тогда
                  Номенклатура.Строки.Удалить(Строка);
               Иначе
                  ВозвращаемоеКолВверх = ВозвращаемоеКолВверх+Строка.Количество;
                  сч=сч+1;
               КонецЕсли;    
               КонецЦикла;
            Номенклатура.Количество = Строка(ВозвращаемоеКолВверх)+"/"+Строка(Номенклатура.Количество);
            Если Номенклатура.Строки.Количество() = 0 Тогда
               СтрокаГруппы.Строки.Удалить(Номенклатура);
            Иначе
               счНом = счНом+1;
            КонецЕсли;
         КонецЦикла;
      КонецЦикла;   


Но не работает :( Ткните мордой на ошибку пожалуйста, где не так делаю?
Делал по этой аналогии:
Если ОтборПоМашине.Количество() > 0 Тогда
      Если ОтборПоМашине.Найти("[Пустой]","НомерМашины") <> Неопределено Тогда
         СтрПустой = ОтборПоМашине.Найти("[Пустой]","НомерМашины");
         СтрПустой = "";
      КонецЕсли;
      
         Для каждого СтрокаГруппы Из Дерево.Строки Цикл
         счНом=0;
         Пока счНом <> СтрокаГруппы.Строки.Количество() Цикл
            сч=0;
            ВозвращаемоеКолВверх = 0;
            Номенклатура = СтрокаГруппы.Строки.Получить(счНом);
            Пока сч <> Номенклатура.Строки.Количество() Цикл
               Строка = Номенклатура.Строки.Получить(сч);               
               Если (Строка.Контрагент = "" И ОтборПоКонтрагенту.Найти(Строка.Контрагент,"Контрагент") = Неопределено)
                  ИЛИ (Строка.Контрагент <> "" И ОтборПоКонтрагенту.Найти(Строка.Контрагент,"Контрагент") = Неопределено) Тогда
                  Номенклатура.Строки.Удалить(Строка);
               Иначе
                  ВозвращаемоеКолВверх = ВозвращаемоеКолВверх+Строка.Количество;
                  сч=сч+1;
               КонецЕсли;    
            КонецЦикла;
            Номенклатура.Количество = Строка(ВозвращаемоеКолВверх)+"/"+Строка(Номенклатура.Количество);
            Если Номенклатура.Строки.Количество() = 0 Тогда
               СтрокаГруппы.Строки.Удалить(Номенклатура);
            Иначе
               счНом = счНом+1;
            КонецЕсли;
         КонецЦикла;
      КонецЦикла;
      //}Дёмин Максим 08.11.2018 14:20:51   
   КонецЕсли;   

Теги:

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

Рейтинг@Mail.ru

Поиск