|
Программная запись регистра бухгалтерии | ☑ | ||
---|---|---|---|---|
0
repin_mike
09.01.23
✎
11:53
|
Перезаписываю кодом одну запись регистра бухгалтерии:
НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Ссылка = Документы.ПроизводствоБезЗаказа.НайтиПоНомеру("ЧЗЦБ-001363", ТекущаяДата()); НаборЗаписей.Отбор.Регистратор.Установить(Ссылка); НаборЗаписей.Прочитать(); Для Каждого Запись из НаборЗаписей Цикл////// тут всего одна запись Запись.СчетКТ = Неопределено; КонецЦикла; НаборЗаписей.Записать(); Единственная проводка документа Дт 002.01 Кт 002.02, нужно из неё сделать Дт 002.01 Кт пустой. При выполнении получаю типовую ошибку регистра Запись не верна!, без подробностей (обычно регистр ругается типа Период не может быть пустым, в данном случае ошибка непонятна). Вручную (через ОперацияБух) такая проводка создаётся и записывается. Что я делаю не так? |
|||
1
Fedor-1971
09.01.23
✎
12:02
|
(0) Посмотри запросом на созданную запись в бух операции
Как я понимаю, дополнительно очищать надо и СубконтоКт |
|||
2
Fedor-1971
09.01.23
✎
12:03
|
1+ и это, 002 точно забалансовый?
|
|||
3
Eiffil123
09.01.23
✎
12:04
|
(0) попробуйте эту строку кода заменить на Запись.СчетКТ = ПланыСчетов.Хозрасчетный.Пустаяссылка();
|
|||
4
repin_mike
09.01.23
✎
12:15
|
ПодразделениеКТ обнулял, КоличествоКТ обнулял (если его не обнулить, то даёт ошибку регистра, но там хоть прямо пишет что количество должно быть нулевым), субконто тоже чистил:
Запись.СубконтоКт.Контрагенты = Неопределено; Запись.СубконтоКт.Номенклатура = Неопределено; Другие СубконтоКт вроде и так Неопределено. Даже выяснил через отладчик, что у "правильной" записи ПодразделениеКт NULL а не Неопределено, пробовал и так и так, всё равно в итоге Запись не верна (3) Не помогло. |
|||
5
Ногаминебить
09.01.23
✎
12:30
|
Если делается вручную через Операция бух - значит запросом дернуть что там в итоге в регистр пишется с типами значений, сравнить с Набором записей перед Записать. Может где-то и найдется отличие.
|
|||
6
repin_mike
09.01.23
✎
13:08
|
(5) В общем, дело действительно в субконто. Странно, но отладчик и для корректной и для некорректной записи показывает Запись.СубконтоКт.Контрагенты = Неопределено. При этом случайно заметил, что ВернаяЗапись.СубконтоКт.Количество() = 0, а НевернаяЗапись.СубконтоКт.Количество() = 2. Соответственно получается, что СубконтоКТ нужно очищать методом Очистить()
|
|||
7
2S
09.01.23
✎
13:09
|
(6) давно известная фича
|
|||
8
Eiffil123
09.01.23
✎
14:34
|
(7) прикольно, не знал про эту фичу. странно что ее еще не пофиксили (у РБ еще и другие старинные глюки имеются, еще с версии 8.0)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |