|
Удаление и создание проводок при проведении документа | ☑ | ||
---|---|---|---|---|
0
Krasotka
26.04.22
✎
11:53
|
Пишу такой код в обработке проведения документа. Надо вначале удалить неправильные "типовые" проводки, а потом создать правильные самописные. Ничего не меняется после отработки, хотя в отладчике все строки проходят. Как правильно удалить в таком случае?
НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(этотобъект.Ссылка); НаборЗаписей.Прочитать(); НомераСтрок = Новый СписокЗначений; Для каждого Запись из НаборЗаписей Цикл Если (Запись.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01") и Запись.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.02"))или (Запись.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01") и Запись.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01")) Тогда НомераСтрок.Добавить(Запись.НомерСтроки-1); КонецЕсли; КонецЦикла; НомераСтрок.СортироватьПоЗначению(НаправлениеСортировки.Убыв); Для каждого Ном из НомераСтрок Цикл НаборЗаписей.Удалить(Ном.Значение); КонецЦикла; НаборЗаписей.Записать(); НомераСтрок.Очистить(); |
|||
1
mikecool
26.04.22
✎
12:05
|
выбросить код, использовать коллекцию ДВижения документа
|
|||
2
Krasotka
26.04.22
✎
12:06
|
(1)
Напишите правильный код плиз |
|||
3
vde69
26.04.22
✎
12:39
|
Движения.Очистить()
Движения.ДобавитьПравильныеПроводки() Движения.Записать() |
|||
4
Krasotka
26.04.22
✎
12:47
|
(3)
Мне не надо все удалить, как выборочно тут удалять? |
|||
5
hhhh
26.04.22
✎
13:00
|
(4) НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(этотобъект.Ссылка); НаборЗаписей.Прочитать(); выкинь, напиши НаборЗаписей = Движения.Хозрасчетный; номера строк выкинь, можно писать сами записи. типа ЗаписиДляУдаления = Новый Массив; Для каждого Запись из НаборЗаписей Цикл Если (Запись.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01") и Запись.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.02"))или (Запись.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01") и Запись.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01")) Тогда ЗаписиДляУдаления.Добавить(Запись); КонецЕсли; КонецЦикла; Для каждого Запись из ЗаписиДляУдаления Цикл НаборЗаписей.Удалить(Запись); КонецЦикла; сортировку естественно тоже выкинь |
|||
6
Krasotka
26.04.22
✎
13:02
|
(5)
Это можно в обработку проведения вставлять? Или куда еще? |
|||
7
shuhard
26.04.22
✎
13:03
|
(5) Запись.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01") == Запись.СчетДт.Код="62.01" =)
|
|||
8
hhhh
26.04.22
✎
13:13
|
(6) вы чего?? не помните куда вставляли свой кусок из (0)? Да уж.
|
|||
9
Krasotka
26.04.22
✎
13:17
|
(5) это отработало, теперь мне надо новые написать заместо удаленных. Как правильно это сделать? Пример можно?
|
|||
10
Krasotka
26.04.22
✎
15:09
|
Я написала такую обработку создания проводок, они в проводках сформировались, но в ОСВ они по документу расчета не схлапываются, выводятся отдельно, чего там еще не хватает?
НоваяЗапись= НаборЗаписей.Добавить(); НоваяЗапись.Период=этотобъект.Дата; НоваяЗапись.Регистратор=этотобъект.Ссылка; НоваяЗапись.СчетДт= ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01"); НоваяЗапись.СчетКт= ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01"); ВидСубк1 = Запись.СчетКт.ВидыСубконто[0].ВидСубконто; НоваяЗапись.СубконтоКт.Вставить(ВидСубк1, этотобъект.Контрагент); НоваяЗапись.СубконтоДт.Вставить(ВидСубк1, этотобъект.Контрагент); ВидСубк2 = Запись.СчетКт.ВидыСубконто[1].ВидСубконто; НоваяЗапись.СубконтоКт.Вставить(ВидСубк2, ДоговорПроводки); НоваяЗапись.СубконтоДт.Вставить(ВидСубк2, ДоговорПроводки); ВидСубк3 = Запись.СчетКт.ВидыСубконто[2].ВидСубконто; НоваяЗапись.СубконтоКт.Вставить(ВидСубк3, стр.субконто3); НоваяЗапись.СубконтоДт.Вставить(ВидСубк3, этотобъект.ДокументРеализации); Если стр.суммаостаток<= ОставшаясяСумма тогда НоваяЗапись.Сумма=стр.суммаостаток; Иначе НоваяЗапись.Сумма=ОставшаясяСумма; Конецесли; |
|||
11
Krasotka
26.04.22
✎
15:25
|
(10)
Там организации не было в проводке, все, теперь работает |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |