Почему документ Счет-фактура выданный не появляется в меню Создать на основании в УТ 11 и как это исправить?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Налоговый учет IT и автоматизация бизнеса
← На главную

При разработке нетиповых документов в конфигурациях линейки «1С:Управление торговлей 11», «1С:Комплексная автоматизация 2» или «1С:ERP» разработчики часто сталкиваются с ситуацией: на вкладке Ввод на основании у нового документа указаны документы-приемники (например, АктВыполненныхРабот, РеализацияТоваровУслуг, СчетНаОплатуКлиенту и СчетФактураВыданный), однако при запуске программы в режиме предприятия в подменю Создать на основании пункт выписки счета-фактуры отсутствует.

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

Причины отсутствия команды ввода счета-фактуры на основании

Проанализируем основные архитектурные особенности типовых конфигураций, влияющие на отображение команд:

  1. Отключение стандартных команд объекта метаданных. В документе СчетФактураВыданный в палитре свойств на вкладке «Основные» отключен флаг Использовать стандартные команды. Когда данный флаг снят, платформа автоматически не включает документ в платформенный список команд ввода на основании в командном интерфейсе документа-источника, даже если взаимные связи на закладках метаданных прописаны корректно.
  2. Использование подключаемых команд БСП. В конфигурации «Управление торговлей 11» подменю создания на основании формируется динамически средствами Библиотеки стандартных подсистем (БСП). Если новый документ и связь с ним не зарегистрированы в служебных процедурах БСП, команда не генерируется в интерфейсе.
  3. Особая архитектура подсистемы учета НДС. В типовых решениях счета-фактуры на реализацию обычно не формируются через общее меню «Создать на основании». Вместо этого связь устанавливается через специализированную табличную часть ДокументыОснования, а выписка инициируется из подвала документа-основания по гиперссылке состояния НДС или через специализированное рабочее место оформления счетов-фактур.

Варианты реализации ввода счета-фактуры для нетипового документа

Рассмотрим возможные подходы к реализации функционала в зависимости от архитектурных требований вашей задачи.

Вариант 1. Подключение команды создания на основании через БСП

Если требуется, чтобы счет-фактура создавался именно через стандартное выпадающее меню документа-основания, зарегистрируем команду через механизмы БСП. Для этого разберем по шагам необходимые доработки:

  1. В дереве метаданных добавим ссылку нового документа в определяемый тип ОпределяемыйТип.ОснованиеСчетФактураВыданный (или аналогичный по структуре тип для счетов-фактур в вашей версии конфигурации), а также в состав типов реквизита ДокументыОснования.ДокументОснование документа СчетФактураВыданный.
  2. В общем модуле СозданиеНаОснованииПереопределяемый найдем процедуру ДобавитьКомандыСозданияНаОсновании и добавим описание команды для нашего типа документа.
  3. В модуле менеджера или модуле объекта Документ.СчетФактураВыданный в процедуре ОбработкаЗаполнения реализуем алгоритм переноса данных из нового источника:

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
    
    Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.НашНетиповойДокумент") Тогда
        // Заполняем табличную часть оснований
        СтрокаОснования = ДокументыОснования.Добавить();
        СтрокаОснования.ДокументОснование = ДанныеЗаполнения;
        
        // Заполняем основные реквизиты: контрагента, организацию, договор, суммы
        Организация = ДанныеЗаполнения.Организация;
        Контрагент  = ДанныеЗаполнения.Контрагент;
        Договор     = ДанныеЗаполнения.Договор;
        Сумма       = ДанныеЗаполнения.СуммаДокумента;
        НДС         = ДанныеЗаполнения.СуммаНДС;
        
        // Заполняем специфичные реквизиты подсистемы НДС
        ВидСчетаФактуры = Перечисления.ВидыСчетовФактурВыданных.НаРеализацию;
    КонецЕсли;

КонецПроцедуры

Вариант 2. Размещение гиперссылки на форме по типовому стандарту УТ 11

Рассмотрим более органичный для конфигурации «Управление торговлей» вариант — оформление счета-фактуры непосредственно из формы документа-основания:

  1. Откроем форму типового документа (например, РеализацияТоваровУслуг или АктВыполненныхРабот) и проанализируем размещение элементов в нижней панели (подвале) формы.
  2. Перенесем на форму нетипового документа группу элементов для отображения статуса счета-фактуры (надпись с номером или гиперссылку «Оформить счет-фактуру»).
  3. Подключим обработчики событий при нажатии на гиперссылку, обращаясь к общим процедурам подсистемы НДС (модули УчетНДСКлиентСервер, УчетНДСПереопределяемый), либо создадим открытие формы нового счета-фактуры с передачей структуры параметров заполнения.

Вариант 3. Использование отдельной команды объекта

Если требуется добавить быстрое создание без масштабного внедрения процедур подсистемы НДС, создадим собственную команду:

  1. В документе СчетФактураВыданный или в общих командах создадим команду СоздатьСчетФактуруНаОсновании.
  2. В свойствах команды укажем тип параметра — ссылку на наш нетиповой документ.
  3. В модуле команды опишем открытие формы нового счета-фактуры с передачей ссылки документа-источника в параметрах открытия:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
    ПараметрыФормы = Новый Структура("Основание", ПараметрКоманды);
    ОткрытьФорму("Документ.СчетФактураВыданный.ФормаОбъекта", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);

КонецПроцедуры

Таким образом, простого выбора документа на вкладке Ввод на основании в УТ 11 недостаточно из-за специфики командного интерфейса и отключенных стандартных команд. Для корректной работы механизма необходимо расширить состав типов метаданных подсистемы учета НДС и реализовать заполнение через БСП или типовые интерфейсные элементы подсистемы.

← На главную