Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Вывести список контрагентов по признаку

v7: Вывести список контрагентов по признаку
Я
   Pechka
 
16.01.13 - 09:18
Добрый день,помогите пожалуйста с условием-мне нужно вывести список контрагентов с данными,кроме тех,у кого в договоре  записано состояние договора - Закрыт..у меня выходят все контрагенты,Исправьте пожалуйста,если,что не верно.
Процедура Сформировать() 
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица"); 
   //Таб.ВывестиСекцию("Шапка");
 
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
        Таб.ВывестиСекцию("Шапка");

 контр=СоздатьОбъект("Справочник.Контрагенты");
     контр.ВыбратьЭлементы();
     Пока контр.ПолучитьЭлемент()=1  Цикл
           Если контр.ЭтоГруппа()=1  Тогда
                 продолжить;
           КонецЕсли;
           Если контр.ПометкаУдаления()=1  Тогда
                 продолжить;
           КонецЕсли;
            
          //Если контр.ПринадлежитГруппе(Служ)  = 1 тогда
 
          //    прервать;
 
          //конецЕсли;    
 
           
           дог=СоздатьОбъект("Справочник.Договоры");
           дог.ИспользоватьВладельца(контр);
           КонтрАктуальный=0;
           дог.ВыбратьЭлементы();
           Пока дог.ПолучитьЭлемент()=1  Цикл
               Если ПустоеЗначение(дог.КМ_СостояниеДоговора)=1 Тогда
                   КонтрАктуальный=1;
                   прервать;
               КонецЕсли;
               
               Если  дог.КМ_СостояниеДоговора.Закрыт = 0 Тогда
                   КонтрАктуальный=1;
                   продолжить;
               КонецЕсли;
           КонецЦикла; 
           

         
           
           ПКод = контр.код;
           ППолнНаименование = контр.ПолнНаименование; 
           МКрНаименование   = контр.Наименование; 
           Пинн          = контр.ИНН;  
           ЮрАдрес   =   контр.ЮридическийАдрес; 
           Рег      =    контр.КМ_Регион; 
           Гор      = контр.КМ_Город;
           

    
               Таб.ВывестиСекцию("Строка");
               Таб.ТолькоПросмотр(1);
        Таб.Показать("Таблица", "");
         КонецЦикла;     
    

КонецПроцедуры
 
 
   cw014
 
1 - 16.01.13 - 09:20
А запрос не подходит?
   mikecool
 
2 - 16.01.13 - 09:20
на запрос бы это переписать
а так - перебрать договоры, если статус = Закрыт - вывести данные владельца
   1Сергей
 
3 - 16.01.13 - 09:20
тип дог.КМ_СостояниеДоговора ?
   Гефест
 
4 - 16.01.13 - 09:21
ну так у тебя сделана проверка, результат которой не учитывается при выводе контрагента
   Heckfy
 
5 - 16.01.13 - 09:21
Все не так. Запрос нужен.

А по коду, тут не так:
Если ПустоеЗначение(дог.КМ_СостояниеДоговора)=1 Тогда
                   КонтрАктуальный=1;
                   прервать;
               КонецЕсли;
               
               Если  дог.КМ_СостояниеДоговора.Закрыт = 0 Тогда
                   КонтрАктуальный=1;
                   продолжить;
               КонецЕсли;
   Mikeware
 
6 - 16.01.13 - 09:21
а как исправить ДНК?
   1Сергей
 
7 - 16.01.13 - 09:22
достаточно добавить одну строку
Если КонтрАктуальный<> Тогда Продолжить; КонецЕсли;
   Pechka
 
8 - 16.01.13 - 09:28
(7)КонтрАктуальный не равен чему?
   monsterZE
 
9 - 16.01.13 - 09:34
а на словах могешь объяснть, что вот это должно делать?
-- 
           Пока дог.ПолучитьЭлемент()=1  Цикл
               Если ПустоеЗначение(дог.КМ_СостояниеДоговора)=1 Тогда
                   КонтрАктуальный=1;
                   прервать;
               КонецЕсли;
               
               Если  дог.КМ_СостояниеДоговора.Закрыт = 0 Тогда
                   КонтрАктуальный=1;
                   продолжить;
               КонецЕсли;
           КонецЦикла; 
--
если че, продолжить внутри вложенного цикла продолжает вложенный цикл =)
   PuhUfa
 
10 - 16.01.13 - 09:35
(8) а если 5 договоров и только 2 из них "закрыты"?
ps правильный ответ в (5)
 
 Рекламное место пустует
   1Сергей
 
11 - 16.01.13 - 09:36
(8) сама не догадаешься?
   monsterZE
 
12 - 16.01.13 - 09:40
и КонтрАктуальный зачем? оно где-то используется?
   Pechka
 
13 - 16.01.13 - 09:42
с запросом получилось,спасибо всем)
   1Сергей
 
14 - 16.01.13 - 09:46
(13) да????
недооценили. в (0) вопрос-то глупый

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует