7.7 Перебор строк табличной части документа

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Kugelfangg, 28 апр 2008.

  1. TopicStarter Overlay
    Kugelfangg
    Offline

    Kugelfangg Опытный в 1С

    Регистрация:
    13 фев 2008
    Сообщения:
    71
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте!подскажите пожалуйсто как перебрать доки и совершить с ними некую операцию операясь на условие.
    текст:
    Код:
    Процедура ОбработкаПроведения()
    Д=СоздатьОбъект("документ.ИзменениеРезервов");
    З=СоздатьОбъект("документ.ЗаявкаПокупателя");
    //Д.НайтиДокумент("документ.изменениерезерва");
    Д.ВыбратьСтроки();
    Пока Д.ПолучитьСтроку()=1 Цикл
    если Д.дата+Д.Срок<ТекущаяДата()тогда  
    Сообщить("Снятие резерва из заявки"+Д.Заявка+"......");
    Иначе продолжить 
    конецЕсли;
    КонецЦикла;
    з.Записать();
    КонецПроцедуры
    
    
    
    пишет ошибку про то что Не выбран документ
  2. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    разумеется не выбран... ты его создал, но какой это конкретно документ не указал... откуда машина будет строки выбирать? НайтиПоНомеру например надо использовать... ну или переборку какую-нить... в зависимости от того, что надо.... например:
    Код:
    Док = СоздатьОбъект("Документ.X");
    Док.ВыбратьДокументы(ВыбНачПериода, ВыбКонПериода); 
    Пока Док.ПолучитьДокумент() = 1 Цикл
    
    
  3. TopicStarter Overlay
    Kugelfangg
    Offline

    Kugelfangg Опытный в 1С

    Регистрация:
    13 фев 2008
    Сообщения:
    71
    Симпатии:
    0
    Баллы:
    26
    блин до меня дошло...
    есть документ в табличном поле которого отображаются док.ЗаявкиПокупателя,мне нужно их пребрать с условием:
    если док.дата+док.срок<ТекущаяДата() тогда
    Сообщить("Снятие резерва из заявки"+док.заявка+"......");
    содать документ СнятиеСтрокиЗаявки, заполнить значениями из строки провести,по аналогии создать документ СнятиеРезерваПоСкладу, записть и провести оба этих документа
    сейчас сделал такую пробную штуку ,чет не работает(даже ошибок не выдает)
    Код:
     
    Процедура ОбработкаПроведения()
    реал    =создатьобъект("документ.ИзменениеРезервов");
    реал.ВыбратьСтроки();                                                        
    пока реал.получитьстроку()=1 цикл 
    сообщить(реал.получитьстроку);    
    док=реал.текущаястрока();  
    если док.дата+док.срок<ТекущаяДата() тогда  
    Сообщить("Снятие резерва из заявки"+док.заявка+"......");
    Иначе продолжить 
    конецЕсли;
    КонецЦикла;
    //док.Записать();
    КонецПроцедуры
    
    
    
  4. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    Код:
    Если док.ИмяРеквизитаКоторыйХранитДокумент.дата + док.ИмяРеквизитаКоторыйХранитДокумент.срок <ТекущаяДата() Тогда
    
    
  5. TopicStarter Overlay
    Kugelfangg
    Offline

    Kugelfangg Опытный в 1С

    Регистрация:
    13 фев 2008
    Сообщения:
    71
    Симпатии:
    0
    Баллы:
    26
    Код:
    Процедура ОбработкаПроведения()
    Д=СоздатьОбъект("Документ");
    ВыбратьСтроки(); //выбрали строки табличной части документа, который проводим
    
    Пока ПолучитьСтроку()=1 Цикл  //перебираем строки 
    
    Если д.НайтиДокумент(заявка)=1 тогда
    //если найден документ по ссылке, работаешь с полученным документом, его можно изменить и записать
    
    
    Если Д.датазаявки+Д.СрокХраненияРезерва<ТекущаяДата()тогда
    Сообщить("Снятие резерва из заявки"+Д.НомерДок+"......"); 
    //ссз=СоздатьОбъект("Документ.СнятиеЗаявки"); 
    //ссз.заявка=д.заявка;                              <-----------получится вот так или нед?
    //ссз.количество=д.Количество;
    конецЕсли;
    конецЕсли;
    
    КонецЦикла;
    КонецПроцедуры
    
    
    
    вот так заработало.....
    остался только вопрос: как сделать так чтоб на основании отобранных по условию документов создавался документ СнятиеСтрокиЗаявки и документ СнятиеРезерва?

Поделиться этой страницей