Имя: Пароль:
1C
1С v8
Как установить NULL в нужных местах в регистре бухгалтерии?
0 DomovoiAtakue
 
18.08.21
14:25
Наткнулся на ошибки при использовании типовой обработки ПоискИЗаменаДублирующихсяЭлементов. В бух регистре вместо значений NULL ставит в валюте для невалютных счетов ставит пустое значение валюты вместо NULL и т.д. (проблема вроде как известна). Через ТИИ долго решается. Решил написать свою обработку и выяснил для себя что нижеприведенный код исправляет проводки.(возможно за счет кода в модуле РБ)

НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Регистратор);
НаборЗаписей.Прочитать();
НаборЗаписей.Записать();

Меня интересует: я ничего не ломаю таким действием? Нужно ли пересчитывать итоги после этого и насколько нужно? Может я что-то упускаю?
1 ДенисЧ
 
18.08.21
14:26
Само пересчитается.
А обработку выкинь. И возьми более другую.
2 DomovoiAtakue
 
18.08.21
14:37
Еще такой вопрос. Если через ТИИ начать пересчет итогов и прервать, то на текущую дату будет все криво показывать и надо обязательно допересчитать итоги или нет?
3 ДенисЧ
 
18.08.21
14:38
если начать делать операцию и не зашить разрез - надо ли потом дошивать или так пусть бегает?
4 DomovoiAtakue
 
18.08.21
14:40
(3)Ну мало ли 1с очень умная и сама что-то дохимичит :)
5 ДенисЧ
 
18.08.21
14:41
(4) Ну мало ли - больной умный и сам степлером прифигачит...
6 Вафель
 
18.08.21
14:55
держи готовую
https://infostart.ru/public/89260/
7 DomovoiAtakue
 
18.08.21
15:12
(6)Спс. Но надо не только валюта, но и количество и субконто чтоб правились. Я уже набросал обработку :) Просто как-то слишком легко получилось :)
8 hhhh
 
18.08.21
15:39
(7) но вообще-то если документов меньше 100, можно вручную их  перепровести в режиме предприятия и всё. Не париться со всякими обработками. И там не всё надо перепроводить, а только документы банка, в них этот глюк.
9 Dmitrii
 
гуру
18.08.21
16:02
(0) >> Через ТИИ долго решается.

Из-за этого 1С-овцы родили дополнительную утилиту, которая делает то, что тебе нужно, но быстро.
https://its.1c.ru/db/v8317doc#bookmark:adm:TI000000735

Запустить консоль 1cv8a в режиме
● ib-check-and-repair или ibcr
Выполнение операции тестирования и исправления данных.

При исполнении команды указывать следующие параметры:
● --repair или -r
Указывает на необходимость выполнить исправление найденных ошибок.
● --dimhash-integrity или -dhi
Выполняет пересчет итогов для устранения некорректного расчета итогов для регистров накопления и бухгалтерии, если среди измерений есть хотя-бы одно измерение с типом Строка и в состав индекса по измерениям входят более 16 полей базы данных. Пересчет итого выполняется только в том случае, если одновременно с параметром --dimhash-integrity используется параметр --repair. Если параметр --repair не указан ‑ выполняется только проверка того, что в информационной базе есть некорректные итоги регистров накопления и бухгалтерии.