Должно быть NULL в регистре бухгалтерии Хозрасчетный

17.02.23

Разработка - Инструментарий разработчика

Обработка проверяет наличие и решает проблему с ошибкой развернутого сальдо в Оборотно-сальдовой ведомости (регистр бухгалтерии Хозрасчетный) из-за ошибки Универсального редактора реквизитов или кода программиста, устанавливающего пустые ссылки в значениях Валюты, Подразделения, Направления деятельности не равными NULL. И пересчёт итогов тут точно не поможет...

Скачать файлы

Наименование Файл Версия Размер
Проверка и правка на NULL в измерениях Хозрасчетный, по которым не ведется учет (для ERP, КА)
.epf 11,09Kb
30
.epf 11,09Kb 30 Скачать
Проверка и правка на NULL в измерениях Хозрасчетный, по которым не ведется учет (для БП)
.epf 11,11Kb
79
.epf 11,11Kb 79 Скачать
Проверка и правка на NULL в измерениях Хозрасчетный, по которым не ведется учет (для ERP, КА) 2019-12-17 Perl Amutor
.epf 11,51Kb
25
.epf 11,51Kb 25 Скачать

Бухгалтера столкнулись с проблемой развёрнутого сальдо на счёте 68.02

Откуда ноги растут стандартными методами разобраться не удалось (бывают глюки, когда решает проблему пересчёт итогов, но тут он не помог, визуальный анализ достаточно продвинутыми консультантами проводок БУ также не дал результата).

Анамнез показал, что в предыдущих месяцах развернутого сальдо не было...

Начали формировать в консоли проверочные запросы к регистру бухгалтерии и многие были без толку, пока не вывели типы значений измерений.

И дьявол кроется в мелочах...

Оказалось значение пусто да не так как нужно

 
 Сравнили результат запроса к регистру хозрасчетный по регистратору в текущей базе и архиве

Рис.1 Неправильный вариант заполнения

Рис.1 Правильный вариант заполнения

 

ПРАВИЛО:

В случае отключенного на счете признака ведения учета, соответствующее измерение должно быть не ПустаяСсылка справочника, а равняться NULL.

 

Например, на счете 68.02 отключены учеты: Валютный, Учет по подразделениям и Учет по направлениям деятельности.

и поэтому в проводках по 68.02 счету пустые значения Валюты, Подразделения и Направления деятельности должны равняться NULL (как на рис.2), а не пустым ссылкам справочников (рис.1).

Разбираясь откуда такая "котовасия" появилась, выяснили что для редактирования движений документов использовали обработку Универсальный редактор реквизитов.

который в режиме Загрузка.ОбменДанными = Истина записывает пустые ссылки на справочники в поля проводки, которые не используются по признакам учета в счете.

Для исправления в обработку Универсальный редактор реквизитов (популярная вещь, на инфостарте поиском можете найти) в модуль формы в процедуру ЗаписатьДвижения() внесены исправления

 
 Текст кода с исправлениями

 

Некорректных изменений в базе оказалось множество и не только по 68.02 счету, поэтому написал обработку, которая выявила все некорректные проводки БУ и исправила их (саму обработку можно скачать ниже):

Как она работает:

  1. Задаем настройки (Выбираем период исправления, отмечаем какие ошибки искать)
  2. Жмём кнопку [ Заполнить документы с ошибками] (Выводится список регистраторов у которых есть проводки с неправильными пустыми значениями)
  3. Отмечаем флажками строки
  4. Жмём кнопку [ Исправить на NULL ] (Обработка исправляет пустые ссылки справочника на NULL в изменениях Валюта, Подразделение, Направление деятельности по которым не установлен признак учета в счете)

 

В итоге исправилось неправильно возникшее развернутое сальдо:

Рис.3 Ошибочная Оборотно-сальдовая ведомость (с ошибкой развернутого сальдо)

Рис.4 Исправленная Оборотно-сальдовая ведомость (развернутое сальдо "свернулось")

P.S. Тем не менее, Универсальный редактор реквизитов, замечательная вещь!

Апдейты обработки:

Версия для скачивания: Проверка и правка на NULL в измерениях Хозрасчетный, по которым не ведется учет (для ERP, КА) 2019-12-17 Perl Amutor

Спасибо моему коллеге Владу, PerlAmutor IC ( //infostart.ru/profile/527156/ ) за исправления:

Воспользовался обработкой, но пришлось её немного "допилить". Первая проблема с которой я столкнулся это то, что после её работы остались документы, где нет NULL. Стал разбираться в запросе и понял, что виртуальная функция Обороты() - схлопывает в 0 суммы для некоторых документов и в этом случае, вообще их не показывает, считая, что оборотов - не было. Второе, что мне показалось странным - документы могут перезаписываться по несколько раз. Этого не происходит т.к. на первом цикле исправляются все движения, но они повторно перечитываются и вхолостую гоняются по циклу. Третье это то, что исправляются в любом случае Валюта, Подразделение и Направление деятельности в независимости от того какие отборы пользователь установил флажками. Четвертая проблема в том, что идет сравнение значений записи на пустую ссылку справочников, хотя по факту там могут стоять и Неопределено и все что угодно. С удивлением обнаружил то, что метод Модифицированность() у набора значений не работает, либо я не понимаю как он работает, если я меняю значение записи, но флаг не взводится. В общем все это дело я поправил и даю тебе ссылку на исправленную версию обработки.

 
 Другие публикации автора

Ссылка на компетенции по 1С:ERP - команда со знаниями, умениями и успешными проектами.

Оборотно-сальдовая ведомость ОСВ NULL Хозрасчетный признаки учета счета пересчет бухгалтерских итогов Регистр бухгалтерии Ошибка

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

12000 руб.

02.09.2020    101570    563    385    

608

Онлайн-интенсив "DevOps для 1С". с 5 февраля по 19 марта 2024 г.

Инструментарий разработчика DevOps и автоматизация разработки DevOps для 1С Платные (руб)

Данный онлайн-курс (интенсив) предусматривает изучение процессов, инструментов и методик DevOps, их применение при разработке на платформе 1С. 

25000 руб.

20.06.2023    11472    3    2    

142

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 руб.

14.01.2013    172891    1042    0    

815

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 руб.

06.10.2023    3472    3    0    

17

Управление данными и формами (УДиФ)

Инструменты администратора БД Инструментарий разработчика Администрирование Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 руб.

10.11.2023    1368    3    1    

20

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    97565    237    97    

287

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    22370    14    15    

27

Автоматизация труда программиста. Библиотека прикладных функций

Инструментарий разработчика Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Конфигурации 1cv8 Платные (руб)

Программист - это человек, непрерывно принимающий решения. Написание кода не является процессом принятия решения - это всего лишь трансляция ваших желаний. Если вас периодически тяготит написание сотен строк кода ради решения задач, то прошу обратить внимание. Данный продукт позволит существенно сократить время на рутинные операции при разработке. За счет библиотечной реализации сокращается объём кода, а его читаемость повышается. К библиотеке прилагается документация API и шаблоны кода для наиболее популярных методов.

4200 руб.

16.04.2021    13825    5    9    

12
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Senator_I 135 21.10.19 11:25 Сейчас в теме
Судя по описанию, сломано было не стандртными методами ведения документов?
2. sapervodichka 6599 21.10.19 11:28 Сейчас в теме
(1) Всё стандартно и типово =) Записью любых движений через универсальный редактор реквизитов портились проводки документов и ещё одним самописным документом, который проводки формировал без учета признаков ведения учете.
PerlAmutor; Светлый ум; Senator_I; +3 Ответить
3. PLAstic 294 21.10.19 11:30 Сейчас в теме
Сталкивался с этой проблемой пару лет назад. Причиной была обработка одного программиста, которая программно создавала самописные документы и ставила в реквизиты субконто пустое значение определённого типа, хотя этим видам субконто не задавались значения. В результате в РБ попадали не Неопределено, а пустые ссылки. И тоже задваивались в типовых отчётах.

И я бы хотел обратить внимание, что всё же не NULL надо писать в субконто, а Неопределено.
Следствием тут будет исправление не отчётов, которые лишь выводят данные, а обработки проведения конкретных документов, которые неоднозначно трактуют пустые значения субконто.

Отлично, что освещена такая нетривиальная проблема!
adhocprog; sapervodichka; +2 Ответить
5. sapervodichka 6599 21.10.19 11:31 Сейчас в теме
(3) да с субконто тоже бывает =) но там точно не NULL, вы правильно написали (Неопределено). В учетных же измерениях именнно NULL.
adhocprog; +1 Ответить
7. YannikAlx 43 21.10.19 11:52 Сейчас в теме
(5) Будьте любезны продемонстрируйте этот NULL
В учетных же измерениях

только не запросом, а открытием формы регистра, чтобы виден был этот NULL.

Ибо я считаю, что NULL не может показываться нигде в реквизитах иди измерениях, только через запрос к этим реквизитам или измерениям, потому что в них установлено именно = Неопределено
А устанавливается везде именно "Неопределено" - это вроде как свидетель для NULL в 1С
Leon75; adhocprog; PLAstic; +3 Ответить
22. sapervodichka 6599 21.10.19 16:09 Сейчас в теме
(7) честно не совсем понимаю что от меня хотите, там запрос прямо в тексте публикации проверочный. Возьмите документ с проводками по БУ и сформируйте следующий запрос. На счете без признака валютный в поле валюта будет тип значения NULL (ставьте где хотите Неопределено, главное чтобы в итоге тип оставался NULL)

ВЫБРАТЬ РАЗЛИЧНЫЕ
ХозрасчетныйОбороты.Регистратор КАК Документ,
ХозрасчетныйОбороты.Счет КАК Счет,
ХозрасчетныйОбороты.Счет.Валютный КАК СчетВалютный,
ТИПЗНАЧЕНИЯ(ХозрасчетныйОбороты.Валюта) КАК Тип_Валюта,
ХозрасчетныйОбороты.Валюта КАК Валюта,
ХозрасчетныйОбороты.Счет.УчетПоПодразделениям КАК СчетУчетПоПодразделениям,
ТИПЗНАЧЕНИЯ(ХозрасчетныйОбороты.Подразделение) КАК Тип_Подразделение,
ХозрасчетныйОбороты.Подразделение КАК Подразделение,
ХозрасчетныйОбороты.Счет.УчетПоНаправлениямДеятельности КАК СчетУчетПоНаправлениямДеятельности,
ТИПЗНАЧЕНИЯ(ХозрасчетныйОбороты.НаправлениеДеятельности) КАК Тип_НаправлениеДеятельности,
ХозрасчетныйОбороты.НаправлениеДеятельности КАК НаправлениеДеятельности
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(
&Дата1,
&Дата2,
Регистратор,
,
,
,
,
) КАК ХозрасчетныйОбороты
ГДЕ
ХозрасчетныйОбороты.Регистратор = &Регистратор
YannikAlx; +1 Ответить
23. PLAstic 294 21.10.19 16:19 Сейчас в теме
(22) Да, думаю, он об этом. Что и в измерения надо при проведении документа ставить Неопределено. А NULL - он только в запросах бывает.
sapervodichka; +1 Ответить
26. YannikAlx 43 21.10.19 16:29 Сейчас в теме
(23) на самом деле такие присвоение
=Неопределено
=Null
Сейчас равноценны, ибо приводят к одинаковому результату
sapervodichka; +1 Ответить
25. YannikAlx 43 21.10.19 16:27 Сейчас в теме
(22) Спасибо большое... Кое что открыл для себя!
sapervodichka; +1 Ответить
4. RustIG 1758 21.10.19 11:31 Сейчас в теме
(0) крутое расследование! молодцы!
6. karpik666 3722 21.10.19 11:37 Сейчас в теме
Вывод: обработки с Инфостарта - зло
10. sapervodichka 6599 21.10.19 12:21 Сейчас в теме
(6) и не говори =))) что есть то есть
Прикрепленные файлы:
11. Crazy_Max 80 21.10.19 12:30 Сейчас в теме
(6) Прям как в том анекдоте про ученого-экспериментатора:
"Вывод: без ног не слышит!"
unknown181538; +1 Ответить
12. sapervodichka 6599 21.10.19 12:35 Сейчас в теме
(11)
Вывод: без ног не слышит
это когда таракан без лапок убежать не мог, когда на него кричали )))
Прикрепленные файлы:
8. Scorpion1_77 22 21.10.19 12:03 Сейчас в теме
Проблемы с NULL в измерениях регистра бухгалтерии исправляются стандартной процедурой тестирования и изменения данных. Использование самописных обработок чревато тем, что могут "поехать" обороты и остатки за прошлые периоды по регистру бухгалтерии.

Вообще еще не встречал ни одной базы БП, где бы не было этой проблемы в той или иной степени. Обычно это не мешает т.к. в типовых отчетах, вроде ОСВ по счету, не используются развернутые остатки.
9. sapervodichka 6599 21.10.19 12:21 Сейчас в теме
(8) аудиторам почему-то помешало развернутое сальдо (и часто ТиИ сделать не можем в режиме работы 24/7 или в 24/6 где база оч большая и процесс идет больше суток, хотя оно часто помогает)
13. Поручик 4660 21.10.19 15:34 Сейчас в теме
А у меня используется универсальный редактор реквизитов от Трактора.
Исправление у вас неправильное, так как заточено именно под БП 3.0 и надо делать проверки на существования указанных справочников в метаданных.
14. sapervodichka 6599 21.10.19 15:42 Сейчас в теме
(13) Если используется, то откройте документ с движениями по БУ.
1) Возьмите текст запроса из моей публикации, выведите им результат (он покажет тип Валюты = NULL)
2) Откройте документ в универсальном редакторе реквизитов от Трактора, включите "Режим Записи: Загрузка без проверок" запишите движения. Затем посмотрите через консоль запросов тип поля валюта в проводке станет Справочник.Валюты.ПустаяСсылка.

Получилось?

P.S. уточню, что ситуация была не на БП 3.0, а на ERP 2.4.8.98 и 2.4.7.151 и речь не о типах субконто, а именно об измерениях, учет по которым включается на счете. По субконто и правда надо правильно типы выбирать и все будет Ок, но эта история не про них.
Прикрепленные файлы:
adhocprog; +1 Ответить
15. Поручик 4660 21.10.19 15:51 Сейчас в теме
Я говорю о том, что для универсальной обработки исправление неправильное.
16. Поручик 4660 21.10.19 15:53 Сейчас в теме
обработки с Инфостарта - зло, когда их используют кривые руки
17. sapervodichka 6599 21.10.19 15:54 Сейчас в теме
(16) исправление правильное, т.к. исправило ошибку.
18. Поручик 4660 21.10.19 15:58 Сейчас в теме
Тогда это будет не универсальная обработка, так как в ней будут фигурировать конкретные справочники.
Вы вообще прочитали всё, что я написал, или что было выгодно прочитать?
alest; Fox-trot; +2 Ответить
20. sapervodichka 6599 21.10.19 16:01 Сейчас в теме
(18) Прочитал и картинки приложил, смотрите. (вашими обработками постоянно пользуюсь, спасибо за их создание, но тут вы зря напали, т.к. ошибка есть в УРР и РБ.Хозрасчетный и ПланСчетов.Хозрасчетный универсальные объекты, универсально исправлены.)
27. Омский Домовой 408 22.10.19 04:34 Сейчас в теме
(18) Всегда найдутся умники которые умнее всех. Не превращайте этот форум в беспонтовую mista. Если есть что сказать по теме говорите если нет лучше промолчать.
19. Поручик 4660 21.10.19 15:59 Сейчас в теме
Обработка от Трактора признана одной из лучших на Инфостарте
21. sapervodichka 6599 21.10.19 16:02 Сейчас в теме
(19) ни кто и не спорит я так в титрах и написал, что отличная вещь. Тем не менее факт нарушения проводок при ее использовании появился на практике.
24. adhocprog 1138 21.10.19 16:20 Сейчас в теме
Спасибо, полезная статья )
28. human_new 594 22.10.19 15:17 Сейчас в теме
У меня не было такой ситуации, но есть подозрение, что тестирование и исправление исправляет эту ошибку, хотя вы пишите пересчёт итогов тут точно не поможет... комплексное тестирование как раз меняло значение субконто на верные. трабл в 1с известный
29. sapervodichka 6599 22.10.19 15:21 Сейчас в теме
(28) ну тут не субконто, а измерения, и в комментарии № 9 я давал ответ по ТиИ
30. pvvpvv 10 22.10.19 22:26 Сейчас в теме
(0) Тема началась, как минимум в 2009. Что нового?
31. Award 15.11.19 14:22 Сейчас в теме
Добрый день,

Тестирую на конфигурации: Бухгалтерия предприятия, редакция 3.0 (3.0.74.51).

Получаю ошибку:

{ВнешняяОбработка.ПравкаНаNULLВИзмеренияхХозрасчетныйПоКоторымНеВедетсяУчет.Форма.Форма.Форма(145)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(31, 32)}: Неверные параметры "Справочник.СтруктураПредприятия.ПустаяСсылка"
И Подразделение = ЗНАЧЕНИЕ(<<?>>Справочник.СтруктураПредприятия.ПустаяСсылка),


Справочника СтруктрураПредприятия в БП 3.0 действительно нет (также как и справочника НаправленияДеятельности).

В описании к разработке не указано, с какой конфигурацией она работает, соответственно я предположил, что со всеми, где есть регистр Хозрасчётный, а также справочники подразделений и валют.
32. sapervodichka 6599 15.11.19 16:23 Сейчас в теме
(31) спасибо, переслал вам обработку для БП личным сообщением. В публикацию также добавил для БП (тип подразделения изменил на БП-шный и убрал направление деятельности, которого нет в БП). Исходная ситуация была на ЕРП (поэтому типы ЕРП-шные), но по аналогии и в БП возможна..
33. Award 15.11.19 17:45 Сейчас в теме
(32) Спасибо. Работает.
34. for-elenak 11 14.02.22 09:05 Сейчас в теме
Конфигурация БП 3.0.107.34.
Мучилась над проблемой сальдо счета 68.02 месяца 2.
Казалось, вот оно решение!
Запустила обработку, сальдо больше не "разбегается" но зато задвоились записи и обработка изменила не только отмеченные строки, но и остальные. Завершилась с ошибкой о дубле записи. Оборотка слетела напрочь. Где взять исправленную обработку о которой заявлено? За что уплачено 3 см?
35. sapervodichka 6599 14.02.22 11:32 Сейчас в теме
(34) Привет, много текста не по делу.

Версия конфигурации не интересна, разбираться надо с самой базой, т.к. в демке думаю все хорошо работает.

А вот про на 3 см - это 200 рублей... можешь купить шоколадку Алёнка.... или нанять себе специалиста из франчайзи на 1-2 дня по 2000-3000 руб/час для разбора ситуации?

Не понял о какой новой заявленной обработке идет речь?

Казалось, вот оно решение!

Может у тебя вообще проблема другого характера и ошибка в коде программы.... найми квалифицированного программиста для проверки.
36. for-elenak 11 14.02.22 11:41 Сейчас в теме
(35) Сынок! Насчет квалифицированного франча - обломись. Сама разобралась. У тебя доки по кругу гоняет и перезаписывает. Вроде бы написал, что исправил ошибку - ан нет. Не исправил.
38. sapervodichka 6599 14.02.22 11:47 Сейчас в теме
(36) Молодец, напиши о какой ошибке идет речь (я пока вообще не понимаю о чем идет речь). Можешь кусок исправления прикрепить картинкой.
37. for-elenak 11 14.02.22 11:45 Сейчас в теме
Но, с другой стороны, СПАСИБО (!) за идею. Перелопачена куча всего..НО! Проблема действительно в этом. Своя обработка уже написана. Просто и быстро, на 1 раз отработала. Извини за наезд, время дорого
Еще раз СПАСИБО!
39. for-elenak 11 14.02.22 11:54 Сейчас в теме
Исправлений не было. Свою написала.
Когда документ отбирает проводки по второму кругу орет на наличие записи с идентичным ключом
40. for-elenak 11 14.02.22 12:04 Сейчас в теме
Для тех, кто будет использовать обработку: делайте исправления Валюты и Подразделений НЕ вместе. Тогда документы должны отработать по 1 разу
41. sapervodichka 6599 14.02.22 12:34 Сейчас в теме
(40) спасибо за комментарий =)
42. wildhog 469 18.03.22 16:30 Сейчас в теме
(8) Подтверждаю. Только что исправил аналогичную проблему с валютой в БП 3.0. Смотрел на эту обработку, но решил попробовать "типовыми средствами".
Выполнил ТиИ с пометкой "Проверка логической целостности". А потом - с "Пересчет итогов".
Не быстро (зависит от базы), но ошибка ушла.
Ошибка была в том, что при формировании проводки по зачету аванса в птиу подхватывалось древнее списание с РС. В запросе получались итоги в разрезе валют. В результате запроса был остаток в котором валюта = пустая ссылка справочника валюты. Но остаток при проведении новых документов не уменьшался, т.к в новых движениях валюта уже была NULL.
43. sapervodichka 6599 18.03.22 18:56 Сейчас в теме
(42) Зависит от условий, там где работа в базе НЕ 24/7 и тестирование исправление НЕ занимает несколько суток, можно обычным тестированием и исправлением обойтись.
44. for-elenak 11 21.03.22 02:42 Сейчас в теме
(43) А нашем случае ТИИ не помогло. Только обработкой
sapervodichka; +1 Ответить
45. user1769015 07.04.22 12:41 Сейчас в теме
Добрый день!
У вас предложено два варианта обработки для ерп. Подскажите, пожалуйста, какой из них более актуальный и корректный. Спасибо
46. sapervodichka 6599 07.04.22 12:58 Сейчас в теме
(45) обе рабочие, я исправлял несколько раз в разных базах ERP вот этой
Проверка и правка на NULL в измерениях Хозрасчетный, по которым не ведется учет (для ERP, КА)

Мой приятель Влад, у него другой учет в ERP (сильно дописанная) делал -
Проверка и правка на NULL в измерениях Хозрасчетный, по которым не ведется учет (для ERP, КА) 2019-12-17 Perl Amutor

по идее обе должны работать, попробуйте его версию (она по идее должна быть точнее)
Проверка и правка на NULL в измерениях Хозрасчетный, по которым не ведется учет (для ERP, КА) 2019-12-17 Perl Amutor
47. unknown181538 143 17.06.22 19:39 Сейчас в теме
Решал похожую задачу для субконто. Но я почему-то заменял там неопределено на пустые ссылки. Проблему мне это решило.
Какие правила для субконто, возможно они отличаются от правил для признаков учета, в которых должно быть Null, я не знаю. Хорошо, если кто-то более компетентный мне объяснит.

Но приведу свой код, может кому-то чем-то поможет.

ВЫБРАТЬ
	ХозрасчетныйДвиженияССубконто.Регистратор КАК Регистратор,
	ХозрасчетныйДвиженияССубконто.СубконтоДт1 КАК СубконтоДт1,
	ХозрасчетныйДвиженияССубконто.СубконтоКт1 КАК СубконтоКт1,
	ВЫБОР
		КОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт1 = НЕОПРЕДЕЛЕНО
				ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоКт1 = НЕОПРЕДЕЛЕНО
			ТОГДА ИСТИНА
		ИНАЧЕ ЛОЖЬ
	КОНЕЦ КАК ЕстьНеопределено
ПОМЕСТИТЬ ВТ
ИЗ
	РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
			,
			,
			СчетДт = &Сч86
				ИЛИ СчетКт = &Сч86,
			,
			) КАК ХозрасчетныйДвиженияССубконто
ГДЕ
	ВЫБОР
			КОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт1 = НЕОПРЕДЕЛЕНО
					ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоКт1 = НЕОПРЕДЕЛЕНО
				Или ХозрасчетныйДвиженияССубконто.СубконтоДт2 = НЕОПРЕДЕЛЕНО
					ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоКт2 = НЕОПРЕДЕЛЕНО
	
				ТОГДА ИСТИНА
			ИНАЧЕ ЛОЖЬ
		КОНЕЦ
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ.Регистратор КАК Регистратор
ИЗ
	ВТ КАК ВТ

СГРУППИРОВАТЬ ПО
	ВТ.Регистратор

==========================


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

Сч86 = ПланыСчетов.Хозрасчетный.НайтиПоКоду("86");
ВыбСубконто = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НазначениеЦелевыхСредств;
ПустаяСсылка = Справочники.НазначениеЦелевыхСредств.ПустаяСсылка();

ВидДоговор = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры;
ПустойДоговор = Справочники.ДоговорыКонтрагентов.ПустаяСсылка();

Для Каждого Дв Из Рег Цикл
	Если Дв.СчетДт = Сч86 Тогда
		Для Каждого Субконто Из Дв.СубконтоДт Цикл
			Если Субконто.Ключ = ВыбСубконто Тогда
				Если Субконто.Значение = Неопределено Тогда
					Дв.СубконтоДт.Вставить(ВыбСубконто, ПустаяСсылка);
				КонецЕсли;
			Конецесли;
			Если Субконто.Ключ = ВидДоговор Тогда
				Если Субконто.Значение = Неопределено Тогда
					Дв.СубконтоДт.Вставить(ВидДоговор, ПустойДоговор);
				КонецЕсли;
			Конецесли;

		Конеццикла;

	КонецЕсли;
	Если Дв.СчетКт = Сч86 Тогда
		Для Каждого Субконто Из Дв.СубконтоКт Цикл
			Если Субконто.Ключ = ВыбСубконто Тогда
				Если Субконто.Значение = Неопределено Тогда
					Дв.СубконтоКт.Вставить(ВыбСубконто, ПустаяСсылка);
				КонецЕсли;
			Конецесли;
			Если Субконто.Ключ = ВидДоговор Тогда
				Если Субконто.Значение = Неопределено Тогда
					Дв.СубконтоКт.Вставить(ВидДоговор, ПустойДоговор);
				КонецЕсли;
			Конецесли;

		Конеццикла;
	КонецЕсли;
КонецЦикла;

Рег.Записать();
Показать
48. sapervodichka 6599 17.06.22 23:05 Сейчас в теме
(47) да, это другая история
1) у тебя Вид субконто Договоры, который во многих конфах имеет составной тип (состоящий из нескольких справочников), а как известно по умолчанию пустое значение составного типа = Неопределено. Если бы вид субконто Договоры был однотипным из 1 справочника, то там физически не могло бы храниться значение Неопределено, а была бы пустая ссылка. Само субконто у счета всегда используется если задано в составе счета и по умолчанию определяется согласно типу данных (если однотипный - то пустая ссылка, если составной - то Неопределено). Неопределено ты менял на пустую ссылку, чтобы схлопнуть итоги по счету 86, которые ранее вводились на пустую ссылку Справочника.Договоры а не на пустое значение вида субконто Договоры (равное Неопределено)

2) Признаки учета либо включены у счета либо не включены, если не включены, то должны равняться по правилам NULL, чтобы корректно считались итоги.
unknown181538; +1 Ответить
49. G13ma 06.02.23 09:06 Сейчас в теме
в последнем релизе ERP после обновления запускается обработчик который все неопределенно в регистре бухгалтерии меняет на пустую ссылку
50. kosyk 17.02.23 00:46 Сейчас в теме
(49) Как раз этот обработчик и привел меня сюда )))

Не очень то он и поменял, развернутое сальдо совсем развернул...
53. rule_2 45 28.03.23 07:00 Сейчас в теме
(50)
а не подскажете, в каком релизе это дело было?
51. Chizhik2020 20.02.23 14:01 Сейчас в теме
Обновились на 2.5.10.93, возникла проблема с развернутым сальдо. Не понятно, поможет ли эта обработка или пилить типовую ОСВ .
52. sapervodichka 6599 20.02.23 17:20 Сейчас в теме
(51) Регистр бухгалтерии Хозрасчетный не меняется между релизами, поэтому обработка должна быть работоспособной.
Оставьте свое сообщение