Исправление пустых значений субконто (Null, Неопределено) в проводках, возникающих при изменении настройки видов субконто на счете

15.11.20

Задачи пользователя - Корректировка данных

Обработка для исправления пустых значений субконто (Null, Неопределено) в проводках, возникающих при изменении настройки видов субконто на счете.

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

Наименование Файл Версия Размер
Исправление пустых значений субконто (Null, Неопределено) в проводках, возникающих при изменении настройки видов субконто на счете:
.epf 8,99Kb
158
.epf 8,99Kb 158 Скачать

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

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

Тестирование и исправление в данном случае не помогает. Помогает перепроведение документов, т.к. в этом случае проводки перезаписываются с правильными значениями субконто.

Но не всегда есть возможность и желание у пользователей перепроводить документы (период закрыт, страшно за другие движения документов и т.д.). 

Данная обработка предназначена для исправления пустых значений субконто в данных проводках. Т.е. для записи пустых значений корректных типов.

Основной код взят из //infostart.ru/public/147199/

 

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

Обработка разработана и протестирована на релизе Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.75.58). Версия платформы: 8.3.15.1830.

Порядок работы:

Перед выполнением обработки рекомендуется сделать резервную копию базы данных.

 

Порядок работы с обработкой:

 

1. Открыть файл обработки через Файл-Открыть

2. Нажать кнопку "Найти проводки с некорректными значениями субконто". В результате в табличной части обработки будут отображены проблемные проводки, с указанием информации о документе-регистраторе, номере проводки, виде движения (дебет/кредит) и счете.

3. При наличии проблемных проводок нажать кнопку "Выполнить исправление"

 

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

Рекомендуем запустить ее выполнение в период низкой пользовательской нагрузки на базу данных.

Работа пользователей при этом в системе не блокируется.

обработка неправильное значение субконто исправление null Неопределено

См. также

Исправление в 1С:ЗУП/ЗКГУ ошибок по НДФЛ и взаиморасчетам с сотрудниками на начало расчетного года.

Корректировка данных Зарплата Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

4800 руб.

06.10.2023    2323    29    15    

33

Тестирование и исправление ключей аналитики ERP, УТ11, КА

Корректировка данных Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    106808    633    173    

676

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27382    79    146    

59

Исправление ошибки закрытия месяца "Обнаружены ненулевые остатки по суммам при нулевом остатке по количеству в регистре себестоимости по организации". УТ 11.4,УТ 11.5, КА 2.4,КА 2.5, ERP 2.4, ERP 2.5, КА 2 Казахстан, Управление торговлей 3 для Казахстана

Закрытие периода Корректировка данных Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Закрытие месяца - важный процесс в современных конфигурациях, таких как УТ 11.4, УТ 11.5, КА 2.4, КА 2.5 ERP 2.4,ERP 2.5, КА 2 Казахстан, УТ 3 Казахстан регламентные операции влияют на расчет себестоимости, и ошибки в данном расчете не дают картины деятельности организации.

2400 руб.

27.10.2021    22322    299    35    

71

SALE! 20%

Заполнение документа "Корректировка регистров" произвольными данными

Закрытие периода Корректировка данных Платформа 1С v8.3 Система компоновки данных 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 1920 руб.

13.07.2015    50168    171    29    

121
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Award 19.02.20 23:46 Сейчас в теме
Большое спасибо. Обработка работает. Помогла.
2. tezin 574 20.02.20 10:24 Сейчас в теме
3. kav434 20.04.20 12:19 Сейчас в теме
Уважаемый tezin!
Из-за отсутствия стартмани, не могу скачать и проверить работу данной обработки.
Возможно, она поможет решить мою проблему. Прошу дать ссылку на скачивание.
Обещаю оставить отзыв по результатам работы.
Спасибо.
4. kav434 21.04.20 13:40 Сейчас в теме
Спасибо tezin за предоставленную возможность протестировать работу обработки.
На моей базе выявилось несколько десятков проблемных операций.
После первого прогона, их осталось порядка 15.
Последующие прогоны, ситуацию не поправили, эти 15 операций находятся, но не исправляются. Вполне возможно, что их и нельзя поправить.
Но самое интересное, что основная проблема - наличие 3-х пустых субконто "Продукция", привязанного к справочнику "Номенклатура", осталась. Их собственно и нет в списке оставшихся операций, как не было и в полном списке. Видимо у меня проблема в чем-то другом.
Конфигурация БП КОРП 3.0.77.45. В одной базе работают несколько организаций-филиалов, у кого-то одно пустое субконто (<...>), у кого-то 2, по всем организациям показывает 3. Внесено изменение в конфигурацию, субконто "Продукция" прицеплено третьим по счету к счету 20.01.
Может у кого-то есть идеи?
Спасибо.
5. Fox_65 1 30.07.20 11:16 Сейчас в теме
Скачал обработку. Пока тестирую. Сразу выявился недостаток. На больших базах это нереально долго, а на слабых машинах и вообще невозможно. У себя добавил отбор по периоду (лучше проверять по месяцам, чем вообще никак). Советую добавить проверку за период.
6. Fox_65 1 30.07.20 17:08 Сейчас в теме
Спасибо.Обработка работает. Только начальный запрос долго выполняется и сильно грузит память. Вот бы его как-нибудь оптимизировать.
7. buy_sale 220 20.08.20 15:06 Сейчас в теме
Кстати в БП3 Корп субконто неопределено появилось после смены флага в настройках Учет по складам с Количество на количество и сумму. Имейте это ввиду.
8. vinokurovey 19 13.11.20 04:05 Сейчас в теме
Запрос по заполнению информации о некорректных движениях выполняется очень долго.
Для его ускорения можно внести в запрос следующие изменения в окончание текста запроса(результат выполнения остается прежним, но скорость выполнения увеличивается в десятки раз):
Было:
   |ГДЕ
    |    НЕ (Движения.Регистратор, Движения.НомерСтроки, Движения.ВидДвиженияБуквой, ХозрасчетныйВидыСубконто.ВидСубконто) В
    |                (ВЫБРАТЬ
    |                    ДвиженияССубконто.Регистратор,
    |                    ДвиженияССубконто.НомерСтроки,
    |                    ДвиженияССубконто.ВидДвиженияБуквой,
    |                    ДвиженияССубконто.ВидСубконто
    |                ИЗ
    |                    ДвиженияССубконто КАК ДвиженияССубконто)
Стало:
    |        ЛЕВОЕ СОЕДИНЕНИЕ ДвиженияССубконто КАК ДвиженияССубконто
    |        ПО Движения.Регистратор = ДвиженияССубконто.Регистратор
    |            И Движения.НомерСтроки = ДвиженияССубконто.НомерСтроки
    |            И Движения.ВидДвиженияБуквой = ДвиженияССубконто.ВидДвиженияБуквой
    |            И (ХозрасчетныйВидыСубконто.ВидСубконто = ДвиженияССубконто.ВидСубконто)
    |ГДЕ
    |    ДвиженияССубконто.ВидСубконто ЕСТЬ NULL
Показать
9. tezin 574 15.11.20 18:26 Сейчас в теме
(8) Принято )) Спасибо!
Внес изменения, у меня примерно в 170 раз ускорилось время выполнения.
Заодно вывел информацию о количестве найденных проводок и затраченном времени поиска.
10. bocharovki 7 25.04.21 13:25 Сейчас в теме
Спасибо за основу. Если сделать вот так то можно и косяк с НЕОПРЕДЕЛЕНО в самом субконто исправить. Ну и отбор по счету.


&НаСервере
Процедура НайтиПроводкиСНекорректнымиЗначениямиСубконтоНаСервере()

	Начало = ТекущаяДата();
	
	Запрос = Новый Запрос;
	
	Запрос.УстановитьПараметр("НеОтбиратьПоСчету",Не ЗначениеЗаполнено(СчетОтбор));
	Запрос.УстановитьПараметр("Счет",СчетОтбор);
	
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Хозрасчетный.Регистратор КАК Регистратор,
	|	Хозрасчетный.НомерСтроки КАК НомерСтроки,
	|	Хозрасчетный.СчетДт КАК Счет,
	|	Хозрасчетный.Сумма КАК Сумма,
	|	Хозрасчетный.Организация КАК Организация,
	|	ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Дебет) КАК ВидДвижения,
	|	""Д"" КАК ВидДвиженияБуквой
	|ПОМЕСТИТЬ Движения
	|ИЗ
	|	РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
	|ГДЕ
	|	Хозрасчетный.СчетДт В ИЕРАРХИИ (&Счет) или &НеОтбиратьПоСчету
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	Хозрасчетный.Регистратор,
	|	Хозрасчетный.НомерСтроки,
	|	Хозрасчетный.СчетКт,
	|	Хозрасчетный.Сумма,
	|	Хозрасчетный.Организация,
	|	ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Кредит),
	|	""К""
	|ИЗ
	|	РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
	|ГДЕ
	|	Хозрасчетный.СчетКт В ИЕРАРХИИ (&Счет) или &НеОтбиратьПоСчету
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	Движения.Регистратор КАК Регистратор,
	|	Движения.НомерСтроки КАК НомерСтроки,
	|	ВЫБОР
	|		КОГДА ХозрасчетныйСубконто.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Кредит)
	|			ТОГДА ""К""
	|		ИНАЧЕ ""Д""
	|	КОНЕЦ КАК ВидДвиженияБуквой,
	|	ХозрасчетныйСубконто.ВидДвижения КАК ВидДвижения,
	|	ХозрасчетныйСубконто.Вид КАК ВидСубконто,
	|	ХозрасчетныйСубконто.Значение КАК Субконто
	|ПОМЕСТИТЬ ДвиженияССубконто
	|ИЗ
	|	Движения КАК Движения
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Субконто КАК ХозрасчетныйСубконто
	|		ПО Движения.Регистратор = ХозрасчетныйСубконто.Регистратор
	|			И Движения.НомерСтроки = ХозрасчетныйСубконто.НомерСтроки
	|			И Движения.ВидДвижения = ХозрасчетныйСубконто.ВидДвижения
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Движения.Регистратор КАК Регистратор,
	|	Движения.НомерСтроки КАК НомерПроводки,
	|	Движения.Счет КАК Счет,
	|	Движения.ВидДвижения КАК ВидДвижения
	|ИЗ
	|	Движения КАК Движения
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
	|		ПО Движения.Счет = ХозрасчетныйВидыСубконто.Ссылка
	|		ЛЕВОЕ СОЕДИНЕНИЕ ДвиженияССубконто КАК ДвиженияССубконто
	|		ПО Движения.Регистратор = ДвиженияССубконто.Регистратор
	|			И Движения.НомерСтроки = ДвиженияССубконто.НомерСтроки
	|			И Движения.ВидДвиженияБуквой = ДвиженияССубконто.ВидДвиженияБуквой
	|			И (ХозрасчетныйВидыСубконто.ВидСубконто = ДвиженияССубконто.ВидСубконто)
	|ГДЕ
	|	ДвиженияССубконто.ВидСубконто ЕСТЬ NULL
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Движения.Регистратор,
	|	Движения.НомерСтроки,
	|	Движения.Счет,
	|	Движения.ВидДвижения
	|ИЗ
	|	Движения КАК Движения
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
	|		ПО Движения.Счет = ХозрасчетныйВидыСубконто.Ссылка
	|		ЛЕВОЕ СОЕДИНЕНИЕ ДвиженияССубконто КАК ДвиженияССубконто
	|		ПО Движения.Регистратор = ДвиженияССубконто.Регистратор
	|			И Движения.НомерСтроки = ДвиженияССубконто.НомерСтроки
	|			И Движения.ВидДвиженияБуквой = ДвиженияССубконто.ВидДвиженияБуквой
	|			И (ХозрасчетныйВидыСубконто.ВидСубконто = ДвиженияССубконто.ВидСубконто)
	|ГДЕ
	|	НЕ ДвиженияССубконто.ВидСубконто ЕСТЬ NULL
	|	И ДвиженияССубконто.Субконто = НЕОПРЕДЕЛЕНО
	|
	|УПОРЯДОЧИТЬ ПО
	|	Регистратор";
	
	Проводки.Загрузить(Запрос.Выполнить().Выгрузить());
	
	ВремяПоиска = ТекущаяДата() - Начало;
	
	Элементы.ДекорацияНайденоПроводок.Заголовок = "Найдено проводок: " + СокрЛП(Проводки.Количество()) + " (время поиска: " + СокрЛП(ВремяПоиска) + " сек.)";
	
	УправлениеФормой();
	
КонецПроцедуры

Показать
Doomino; Alex17; +2 Ответить
11. Doomino 53 26.01.22 13:13 Сейчас в теме
(10)
Процедура НайтиПроводкиСНекорректнымиЗначениямиСубконтоНаСервере()

Начало = ТекущаяДата();

Запрос = Новый Запрос;

Запрос.УстановитьПараметр("НеОтбиратьПоСчету",Не ЗначениеЗаполнено(СчетОтбор));
Запрос.УстановитьПараметр("Счет",СчетОтбор);

Запрос.Текст =
"ВЫБРАТЬ
| Хозрасчетный.Регистратор КАК Регистратор,
| Хозрасчетный.НомерСтроки КАК НомерСтроки,
| Хозрасчетный.СчетДт КАК Счет,
| Хозрасчетный.Сумма КАК Сумма,
| Хозрасчетный.Организация КАК Организация,
| ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Дебет) КАК ВидДвижения,
| ""Д"" КАК ВидДвиженияБуквой
|ПОМЕСТИТЬ Движения
|ИЗ
| РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
|ГДЕ
| Хозрасчетный.СчетДт В ИЕРАРХИИ (&Счет) или &НеОтбиратьПоСчету
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Хозрасчетный.Регистратор,
| Хозрасчетный.НомерСтроки,
| Хозрасчетный.СчетКт,
| Хозрасчетный.Сумма,
| Хозрасчетный.Организация,
| ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Кредит),
| ""К""
|ИЗ
| РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
|ГДЕ
| Хозрасчетный.СчетКт В ИЕРАРХИИ (&Счет) или &НеОтбиратьПоСчету
|;
|
|////////////////////////////////////////////////////////////­­////////////////////
|ВЫБРАТЬ
| Движения.Регистратор КАК Регистратор,
| Движения.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА ХозрасчетныйСубконто.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Кредит)
| ТОГДА ""К""
| ИНАЧЕ ""Д""
| КОНЕЦ КАК ВидДвиженияБуквой,
| ХозрасчетныйСубконто.ВидДвижения КАК ВидДвижения,
| ХозрасчетныйСубконто.Вид КАК ВидСубконто,
| ХозрасчетныйСубконто.Значение КАК Субконто
|ПОМЕСТИТЬ ДвиженияССубконто
|ИЗ
| Движения КАК Движения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Субконто КАК ХозрасчетныйСубконто
| ПО Движения.Регистратор = ХозрасчетныйСубконто.Регистратор
| И Движения.НомерСтроки = ХозрасчетныйСубконто.НомерСтроки
| И Движения.ВидДвижения = ХозрасчетныйСубконто.ВидДвижения
|;
|
|////////////////////////////////////////////////////////////­­////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Движения.Регистратор КАК Регистратор,
| Движения.НомерСтроки КАК НомерПроводки,
| Движения.Счет КАК Счет,
| Движения.ВидДвижения КАК ВидДвижения
|ИЗ
| Движения КАК Движения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
| ПО Движения.Счет = ХозрасчетныйВидыСубконто.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ДвиженияССубконто КАК ДвиженияССубконто
| ПО Движения.Регистратор = ДвиженияССубконто.Регистратор
| И Движения.НомерСтроки = ДвиженияССубконто.НомерСтроки
| И Движения.ВидДвиженияБуквой = ДвиженияССубконто.ВидДвиженияБуквой
| И (ХозрасчетныйВидыСубконто.ВидСубконто = ДвиженияССубконто.ВидСубконто)
|ГДЕ
| ДвиженияССубконто.ВидСубконто ЕСТЬ NULL
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Движения.Регистратор,
| Движения.НомерСтроки,
| Движения.Счет,
| Движения.ВидДвижения
|ИЗ
| Движения КАК Движения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
| ПО Движения.Счет = ХозрасчетныйВидыСубконто.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ДвиженияССубконто КАК ДвиженияССубконто
| ПО Движения.Регистратор = ДвиженияССубконто.Регистратор
| И Движения.НомерСтроки = ДвиженияССубконто.НомерСтроки
| И Движения.ВидДвиженияБуквой = ДвиженияССубконто.ВидДвиженияБуквой
| И (ХозрасчетныйВидыСубконто.ВидСубконто = ДвиженияССубконто.ВидСубконто)
|ГДЕ
| НЕ ДвиженияССубконто.ВидСубконто ЕСТЬ NULL
| И ДвиженияССубконто.Субконто = НЕОПРЕДЕЛЕНО
|
|УПОРЯДОЧИТЬ ПО
| Регистратор";

Проводки.Загрузить(Запрос.Выполнить().Выгрузить());

ВремяПоиска = ТекущаяДата() - Начало;

Элементы.ДекорацияНайденоПроводок.Заголовок = "Найдено проводок: " + СокрЛП(Проводки.Количество()) + " (время поиска: " + СокрЛП(ВремяПоиска) + " сек.)";

УправлениеФормой();

КонецПроцедуры
Показать


Спасибо, так намного лучше! Сработало на ерп.
bocharovki; +1 Ответить
12. xDD 6 12.09.22 13:07 Сейчас в теме
"Правильной ситуацией является наличие пустых значений субконто, соответсвующего типа в данных проводках"
В случае если субконто имеет множественный тип, то значение неопределено является верным
13. sergkom 3 19.03.23 00:55 Сейчас в теме
Бухгалтерия предприятия, редакция 3.0 (3.0.131.34)

Через отладчик нашел, что на счетах 05 и 04.01 есть в результатах запроса Подразделения пустое, так Null.
Интересно, что учет по подразделению на этих счетах выключен.


Скачал обработку. Поиск результатов не дал.
Оставьте свое сообщение