Процесс закрытия месяца в конфигурации 1С:Управление торговлей 11 (и аналогичных, таких как 1С:ERP или Комплексная автоматизация) является одним из самых сложных этапов работы системы. Часто пользователи сталкиваются с тем, что регламентные операции останавливаются на этапе расчета партий или себестоимости, выдавая трудночитаемые ошибки в журнале регистрации. В этой статье мы подробно разберем, как диагностировать причины сбоев, бороться с «зависшими копейками» и приводить регистры в порядок.
Одной из первых рекомендаций при возникновении систематических проблем с расчетом партий является переход на Партионный учет версии 2.2. В старой версии 2.1 расчет производился последовательно по документам, что часто приводило к невозможности закрыть месяц из-за малейшей ошибки в цепочке. Версия 2.2 использует принципиально иной математический аппарат — решение системы линейных уравнений. Рассмотрим подробнее, как это влияет на работу:
РасчетПартийИСебестоимости. Важно помнить, что если это задание запущено, оно может блокировать ручной запуск закрытия месяца. Проанализируем ситуацию: если задание «крутится» слишком долго, возможно, система попала в «цикл» из-за встречных выпусков или сложных схем перемещений.Типичная ошибка: «Обнаружен суммовой остаток при нулевом количестве». Разберем по шагам, почему это происходит и как это лечить. Чаще всего причина кроется в округлении валютных сумм или некорректном вводе начальных остатков.
Посмотрим на пример: при вводе остатков была указана цена и количество, но итоговая сумма (Упр. или Регл.) не была кратна цене из-за курсовых разниц. В итоге, когда товар списывается полностью, на регистре СебестоимостьТоваров остается «хвост» в 1-2 копейки. Алгоритм расчета себестоимости видит это и выдает ошибку, так как не может распределить стоимость на нулевое количество.
Для диагностики используем отчет «Сверка данных партионного учета и себестоимости». Его можно найти через меню «Все отчеты». Разберем, на что смотреть в этом отчете:
Таможенная декларация на импорт или Приобретение прочих расходов, которые доначислили стоимость на партию, которая уже была частично или полностью списана перемещением.Проанализируем еще одну частую причину — некорректное заполнение аналитики ВидЗапасов. В УТ 11 себестоимость считается не просто по номенклатуре, а в разрезе ключей аналитики, куда входит и вид запаса (Собственный товар, Комиссионный и т.д.).
Представим ситуацию: товар поступил как «Собственный», а при оформлении реализации (например, из-за ручного выбора или сбоя подбора) в движениях зафиксировался вид запаса «Комиссионный». В итоге на складе по количеству ноль, но в регистре СебестоимостьТоваров висят две записи: «+100 руб» по собственному и «-100 руб» по комиссионному. Суммарно — ноль, но для программы это ошибка развернутого сальдо.
Решение: очистка видов запасов. В последних релизах есть встроенные обработки для исправления видов запасов. Если они не помогают, программисту приходится писать обработку, которая приводит виды запасов в реализациях в соответствие с фактическими остатками на складе организации. Выясним причину появления дублей — часто это отключенный контроль остатков по организациям при включенной схеме «Интеркампани».
Если стандартные отчеты не дают ответа, следует обратиться к консоли запросов. Рассмотрим пример запроса, который использует сама система для проверки корректности данных перед расчетом (этап ПроверитьКорректностьИсходныхДанныхДоРасчета). Этот запрос поможет найти записи с неверным знаком остатка:
ВЫБРАТЬ
Т.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
Т.Склад КАК Склад,
Т.Организация КАК Организация,
Т.КоличествоОстаток КАК Количество,
Т.СтоимостьОстаток КАК Стоимость,
Т.СтоимостьРеглОстаток КАК СтоимостьРегл
ИЗ
РегистрНакопления.СебестоимостьТоваров.Остатки(&ГраницаКонца, ) КАК Т
ГДЕ
(Т.КоличествоОстаток = 0 И (Т.СтоимостьОстаток <> 0 ИЛИ Т.СтоимостьРеглОстаток <> 0))
ИЛИ (Т.КоличествоОстаток <> 0 И (Т.КоличествоОстаток * Т.СтоимостьОстаток < 0))
Если вы нашли такие записи, попробуйте выполнить полный пересчет итогов по регистру СебестоимостьТоваров через «Тестирование и исправление» или через управление итогами в режиме «Все функции». В ряде случаев (особенно после обновлений) итоги могут «разъехаться» с реальными оборотами, и только их пересчет позволяет процедуре закрытия месяца пройти дальше.
Иногда закрытие месяца спотыкается на этапе «Расчет курсовых разниц». Посмотрим на пример ошибки, когда система жалуется на остатки в валюте при нулевом остатке в валюте учета. Это может быть связано с тем, что документ Расчет курсовых разниц не может списать микроскопические остатки (менее 0.01 копейки), которые возникли из-за высокой точности расчетов во внутренних переменных системы.
Для исправления таких ситуаций рекомендуется:
Корректировка регистров для списания этих долей копеек, чтобы «протолкнуть» закрытие месяца.Разберем алгоритм действий, который минимизирует количество ошибок:
Расчет партий, дайте ему доработать. Его прерывание может оставить регистры в промежуточном состоянии.Товары организаций. Это одна из самых частых причин «бесконечного» расчета себестоимости.Подводя итог, можно сказать, что большинство проблем закрытия месяца в УТ 11 решаются через наведение порядка в аналитиках учета (виды запасов, склады, организации) и устранение отрицательных остатков. Инструменты диагностики, такие как отчет по сверке и консоль запросов, являются незаменимыми помощниками в этом процессе.