При попытке отладить проведение документов и процедуру списания партий в конфигурации 1С:Управление торговлей 10.3 разработчики часто сталкиваются с ситуацией: точка останова установлена в общем модуле или модуле объекта, но при проведении документа программа не делает паузу и выдает системное сообщение об ошибке (например, Не списано по партиям...). Проанализируем, почему это происходит, как правильно настроить отладку на сервере и как выявить причины различий в поведении аналогичных документов.
В клиент-серверном варианте работы базы данных код проведения документов выполняется на стороне сервера (в контексте службы ragent.exe). Если служба сервера 1С запущена в стандартном режиме, отладчик Конфигуратора не может перехватывать выполнение серверных вызовов. Чтобы точка останова сработала, необходимо перезапустить службу сервера с флагом отладки.
Разберем по шагам порядок действий для активации отладочного режима на Windows-сервере:
regedit и нажимаем Enter.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ и найдем службу агента сервера 1С (например, 1C:Enterprise 8.3 Server Agent...).ImagePath, который содержит путь к исполняемому файлу службы.-debug (через пробел).services.msc и выполним перезапуск службы Агент сервера 1С:Предприятия.Если сервер 1С функционирует в среде Linux, выполним следующие действия:
/etc/sysconfig/srv1cv83, /etc/default/srv1cv83 или /etc/init.d/srv1cv83).SRV1CV8_DEBUG=1 или добавим ключ -debug в строку параметров запуска демона.Environment="SRV1CV8_DEBUG=1" в соответствующий .service-файл.systemctl restart srv1cv83 или service srv1cv83 restart.После перезапуска сервера с нужным флагом настроим параметры клиента разработки:
Если один документ списывает остатки в минус или проводится без ошибок, а второй выдает сообщение Не списано по партиям, выясним ключевые различия, на которые следует обратить внимание:
Сервис → Пользователи → Настройка дополнительных прав пользователей. Проверим значения опций Разрешить превышение остатка товаров на складе, Разрешить превышение остатка товаров по организации и Разрешить списание партий при недостатке партий. Если один документ проводился под пользователем с разрешением списания в минус, программа спишет товар без остановки, в то время как у другого пользователя проведение завершится ошибкой.Отражать в упр. учете и Отражать в бух. учете. Проверка списания выполняется по разным регистрам: ПартииТоваровНаСкладах и ПартииТоваровНаСкладахБухгалтерскийУчет. Если отключен один из учетов, контроль по нему игнорируется.УчетнаяПолитикаПоПартионномуУчету. Если снят флаг Списывать партии при проведении документов, движения формируются регламентной обработкой позже, и ошибка при проведении не появляется.ХарактеристикаНоменклатуры, СерияНоменклатуры, ЗаказПокупателя, а также статус партии (например, Купленный или Принятый на комиссию). Несоответствие даже одной аналитики между приходом и расходом приводит к нехватке остатка по конкретной партии.Для быстрой проверки наличия партий сформируем отчет Ведомость по партиям товаров на складах. В настройках отчета установим группировки строк: Номенклатура → Характеристика → Серия → Склад → Документ движения (партия) и укажем период формирования строго на дату и время документа с точностью до секунды. Это позволит сразу увидеть, какого именно аналитического разреза не хватает для успешного проведения документа.