К списку форумов К списку вопросов на форуме 1C
Не работает моя обработка. Выдает "Не выбрана проводка"
tamara3105
12.02.2009 - 12:46
Процедура Сформировать()
  Опер=СоздатьОбъект("Операция");
  Опер.ВыбратьОперацииСПроводками(Дата1, Дата2, "ВВР");
  Пока Опер.ПолучитьОперацию()=1 цикл
  нн=0;
  нн= Опер.КоличествоПроводок() ;
  Для к=1 по нн цикл
  Если Опер.ПолучитьПроводкуПоНомеру(к)=1 тогда
  Опер.УдалитьПроводку();
  КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
Может кто подскажет,плиз
ЧьяЧьё
1 - 12.02.2009 - 12:58
http://www.kuban.ru/forum_new/forum9/files/318158.html
 
Тамара, вы что все, сговорились сегодня?
вы бросьте давайте проводки удалять, завтра же пятница тринадцатое!
лучше к рабочим базам даже близко не подходите, тем более не смейте запускать какие-либо обработки удаления!
tamara3105
2 - 12.02.2009 - 13:07
(1) спасибо за ссылку, но она мне не подходит,т.к. я удаляю из операции, а
не из документа. А ее непроведенною не сделаешь.
ЧьяЧьё
3 - 12.02.2009 - 13:29
Тамара, тогда действуйте так:
1. соберите в выборку все проводки по вашему счёту ВВР
2. делайте обход выборки, но не удаляйте проводку (это не проканает), а вместо этого получите документ, операция которого содержит проводку по ВВР
3. получив документ, получите его операцию (как объект, а не как ссылку)
4. затем всё просто: выполняете обход проводок операции и удаляете все проводки, где фигурирует счёт ВВР. Тут только одна тонкость, что удалять нужно опять-таки не из выборки, а получив проводку по номеру. Это будет выглядеть так:
Опер.НайтиОперацию(СсылкаДок); //СсылкаДок - это документ, в операции которого есть проводка по ВВР
 
  
i=1;
Пока i<= Опер.КоличествоПроводок() Цикл
   Опер.ПолучитьПроводкуПоНомеру(i);
   Опер.УдалитьПроводку();
КонецЦикла;
 
Опер.Записать();
Sores
4 - 12.02.2009 - 13:31
Сделай вот так.
Пока Опер.ВыбратьПроводки() = 1 Цикл
   Опер.ПолучитьПроводку();
   Опер.УдалитьПроводку();
КонецЦикла;
ЧьяЧьё
5 - 12.02.2009 - 13:43
вот тебе готовый код целиком
 
СчВВР = СчетПоКоду("ВВР");
 
ОперацияВыборка = СоздатьОбъект("Операция");
ОперацияОбъект = СоздатьОбъект("Операция");
 
ОперацияВыборка.ВыбратьОперацииСПроводками(Дата1, Дата2, "ВВР");
Пока ОперацияВыборка.ПолучитьОперацию()=1 цикл
   ДокументСсылка = Опер.Документ.ТекущийДокумент();
   ОперацияОбъект.НайтиОперацию(ДокументСсылка);
 
   i=1;
   Пока i<= ОперацияОбъект.КоличествоПроводок() Цикл
      ОперацияОбъект.ПолучитьПроводкуПоНомеру(i);
      Если (ОперацияОбъект.Дебет.Счет = СчВВР) или (ОперацияОбъект.Кредит.Счет = СчВВР) Тогда
         ОперацияОбъект.УдалитьПроводку();
      Иначе
         i=i+1;
      КонецЕсли;
 
   КонецЦикла;
 
   ОперацияОбъект.Записать();
КонецЦикла;
aw
6 - 12.02.2009 - 13:55
  док=создатьобъект("документ.Операция");
  док.выбратьдокументы('01.08.2009','31.08.2009');
  Пока док.получитьдокумент()=1 цикл
   оп=создатьобъект("Операция");
    оп.найтиоперацию(док.текущийдокумент());
    оп.выбратьпроводки();
    пока оп.получитьпроводку() > 0 цикл
//если
  оп.удалитьпроводку();
//&#202;&#238;&#237;&#229;&#246;&#197;&#241;&#235;&#232;;
  конеццикла;
  оп.записать();
конеццикла;
    
    
    
tamara3105
7 - 12.02.2009 - 14:57
(5) спасибо!!!

Версия для печатиК списку вопросов на форуме 1C

Тема закрыта.
Добро пожаловать на новую версию форума!

>>