|
|
|
|
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 цикл //если оп.удалитьпроводку(); //ÊîíåöÅñëè; конеццикла; оп.записать(); конеццикла; |
|
tamara3105 7 - 12.02.2009 - 14:57 | (5) спасибо!!! |
| Версия для печати |