При переходе с редакции 2.0 на 3.0 или при создании собственных документов в конфигурациях на базе 1С:Предприятие 8.3 программисты часто сталкиваются с тем, что в форме документа отсутствует привычная кнопка Дт/Кт (или Показать движения документа). При этом сам документ может успешно проводиться и формировать записи в регистрах, которые видны в стандартных отчетах. Разберем подробно, как вернуть эту кнопку на панель инструментов и обеспечить корректную работу интерфейса. Для подбора сценария перехода между редакциями программы открыт раздел с решениями по переносу данных в 1С:Бухгалтерию.
В современных конфигурациях, таких как Бухгалтерия предприятия 3.0, кнопка просмотра проводок выводится с помощью механизма общих команд. Рассмотрим алгоритм действий в конфигураторе:
ПоказатьДвиженияДокумента. В некоторых конфигурациях (например, в УТ 11 или ERP) она может называться ОтчетПоДвижениям.После обновления конфигурации базы данных кнопка автоматически появится в командной панели формы документа. Если она не видна сразу, загляните в меню Еще — она может быть скрыта там платформой автоматически в зависимости от настроек компактности интерфейса. При необходимости регулярно обслуживать несколько систем 1С применяется инструмент для автоматического обновления, архивирования и тестирования баз 1С с запуском по расписанию.
Если вы ведете разработку в расширении, изменение стандартной общей команды может привести к конфликтам при обновлении основной конфигурации. Рассмотрим более безопасный метод:
Вместо того чтобы менять тип параметра стандартной команды, скопируйте общую команду ПоказатьДвиженияДокумента в свое расширение. В расширенной команде укажите типом параметра только ваши новые документы. После этого в редакторе формы документа просто перетащите эту команду на командную панель. Это позволит сохранить чистоту основной конфигурации и избежать ошибок сопоставления типов метаданных.
В конфигурациях, активно использующих БСП (например, Зарплата и управление персоналом 3.1), интерфейс командной панели часто формируется динамически. Чтобы кнопка движений появилась «правильно», проанализируем код формы документа.
В модуле формы в процедуре ПриСозданииНаСервере необходимо убедиться в наличии вызова подключаемых команд. Пропишем следующий код:
// СтандартныеПодсистемы.ПодключаемыеКоманды
ПараметрыРазмещения = ПодключаемыеКоманды.ПараметрыРазмещения();
ПараметрыРазмещения.КоманднаяПанель = Элементы.ГруппаКоманднаяПанель;
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыРазмещения);
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
Кроме того, проверьте Модуль менеджера документа. Для того чтобы система «подцепила» отчеты по движениям, там должна быть процедура ПриОпределенииКомандПодключенныхКОбъекту, в которой описывается состав доступных команд. Если вы создаете документ с нуля, этот механизм обязателен для интеграции в общую экосистеме БСП.
Выясним причину, по которой кнопка может не отображаться даже при настроенной команде. Платформа 1С интеллектуально скрывает кнопки, если считает их бесполезными. Проверим следующие настройки документа:
Разрешить. Кнопка «Дт/Кт» по определению показывает результаты проведения.Просмотр на саму общую команду и право Чтение на регистры, по которым делает движения документ. Без прав на регистр отчет просто не откроется.Для удобства работы бухгалтеров можно назначить сочетание клавиш для вызова окна движений. Разберем, как это сделать в конфигураторе. Откройте свойства нашей общей команды и найдите поле Сочетание клавиш. Там можно задать, например, Ctrl + Shift + L. Это изменение применится ко всем документам, входящим в тип параметра данной команды.
Если стандартные методы не подходят или вам требуется специфическая кнопка в нестандартном месте формы, мы можем вызвать форму движений программно. Для этого создадим на форме собственную команду и в её обработчике пропишем код открытия формы отчета:
&НаКлиенте
Процедура ПоказатьПроводки(Команда)
ПараметрыОтчета = Новый Структура;
ПараметрыОтчета.Вставить("Документ", Объект.Ссылка);
// Имя отчета может зависеть от конфигурации
// В БП 3.0 это обычно Отчет.ДвиженияДокумента
ОткрытьФорму("Отчет.ДвиженияДокумента.Форма", ПараметрыОтчета, ЭтотОбъект, Истина);
КонецПроцедуры
Важный нюанс для ЗУП 3.1: В этой конфигурации по умолчанию нет плана счетов и проводок в привычном понимании. Вместо кнопки «Дт/Кт» там используется команда Движения документа. Если ваш самописный документ не отображает эту кнопку, проверьте его включение в состав общей команды ДвиженияДокумента и убедитесь, что документ делает записи в регистры накопления.
Подведем итог: в большинстве случаев для активации кнопки Дт/Кт достаточно добавить ваш документ в тип параметра общей команды ПоказатьДвиженияДокумента. Если же вы работаете в сложной конфигурации на базе БСП, обратите внимание на программную инициализацию команд в модуле формы и настройки прав доступа к регистрам. В качестве альтернативного инструмента для анализа связей и движений документов можно использовать обработку для построения графа проводок.