Как из операции удалить проводку ? #167105


#0 by 2RX922
#1 by Чучундер
А подумать над тем - удаляешь проводку у КАКОЙ операции?
#2 by 2RX922
Да,действительно.А как тогда делать ?Мне нужно из базы вычистить по ЗПК и ЗПР все проводки.Т.е. перебор всех операция и уже из них всех проводок ?
#3 by Чучундер
Опер.ВыбратьОперацииСПроводками используй для выборки опе6рациий с нужными счетами. Для найденной операции - позиционируйся на нее, выбирай ее проводки и удаляй нужные...
#4 by 2RX922
Черт с ними,сделал по другому,но не удаляет.Опер.ВыбратьОперации('01.01.1995',НаДату);Пока Опер.ПолучитьОперацию=1 цикл(Опер.Дебет.Счет=СчетПоКоду("ЗПК.20.Б"))или(Опер.Кредит.Счет=СчетПоКоду("ЗПК.20.Н"))или(Опер.Кредит.Счет=СчетПоКоду("ЗПК.20.Б"))или        (Опер.Дебет.Счет=СчетПоКоду("ЗПР.20.Н"))или(Опер.Дебет.Счет=СчетПоКоду("ЗПР.20.Б"))или(Опер.Кредит.Счет=СчетПоКоду("ЗПР.20.Н"))или(Опер.Кредит.Счет=СчетПоКоду("ЗПР.20.Б"))тогданом=ном+1;.............Пару раз запустил,оба раза исправно сообщила,чтоудалено 6 тыс.проводок.Формирую отчет,все на месте :(
#5 by Чучундер
1. во первых - самая распространенная ошибка удалять проводки при их прямом переборе. если у тебя все провдки в операции будут с нужным тебе счетом - будут удаляться через одну, блин! выбирай проводки в операции от конца к началу!!!2. Вот дали тебе деньги в кассе - ты ж их там не оставляешь - кладешь в кошелек, т.е. сэйвишь.. Кто будет операцию записывать после удаления проводок. Мать Тереза?3. ВыбратьОперациюСпроводками - вроде прямо там можно задать счет дт/кредита а не городить много этаэное условие или изящнее напиши, типаНайти(""+Опер.Дебет.Счет.Код+Опер.Кредит.Счет.Код,"ЗПР.20")<> 0 - тогда удалить проводку...
#6 by 2RX922
В конце добавил Опер.Записать;Намного дольше стала работать обработка.Сообщает то же количество удаленных.Но все равно они остались.
#8 by 2RX922
Уф.Сделал.Я там не все удалял,начинал с НомерПроводки=0.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С