Где в 1С:Комплексная автоматизация 2 найти процедуру печати ТОРГ-12 и как получить данные о ГТД?

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

В процессе разработки или доработки печатных форм в современных конфигурациях 1С, таких как Комплексная автоматизация 2 (КА 2), разработчики часто сталкиваются с вопросом поиска типового кода. Архитектура БСП (Библиотеки подключаемых печатных форм) существенно отличается от старых конфигураций, что вызывает закономерные трудности.

Поиск места расположения процедуры печати

Если вам необходимо найти логику формирования печатной формы ТОРГ-12, не стоит искать её непосредственно в модуле объекта документа. В современных конфигурациях на управляемых формах используется механизм Библиотеки подключаемых печатных форм.

Рассмотрим по шагам, где скрыта эта логика:

  1. Откройте конфигуратор вашей базы КА 2.
  2. Перейдите в раздел Общие -> Обработки.
  3. Найдите обработку с названием ПечатьОбщихФорм.
  4. В модуле менеджера данной обработки располагаются процедуры, отвечающие за сбор данных для типовых документов.

Именно в методе СформироватьПечатнуюФормуТОРГ12 сосредоточена вся основная логика обработки данных перед выводом их в макет. Именно туда обращается система, когда пользователь нажимает кнопку «Печать» в документе Реализация товаров и услуг.

Почему не стоит копировать логику из процедуры печати

Часто возникает соблазн скопировать вызовы методов, которые используются в ПечатьОбщихФорм, чтобы «быстро» получить данные о номерах ГТД. Однако, как показал анализ, при попытке передачи параметров (массивов и структур) вы сталкиваетесь с тем, что система ожидает сложные типы данных, которые сложно воспроизвести вручную.

В типовых конфигурациях данные для печати — это сложная коллекция, которая собирается на основе «черного ящика» (менеджеров объекта). Попытки вручную сформировать такую структуру, как в коде:


ДанныеДляПечати = МенеджерОбъекта.ПолучитьДанныеДляПечатнойФормыТОРГ12(ПараметрыПечати, СтруктураОбъектов.Значение);

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

Правильный подход к получению номеров ГТД

Вместо того чтобы «взламывать» или имитировать внутренние механизмы печатных форм, разберем более надежный и профессиональный способ получения номеров ГТД — запрос к регистрам накопления.

Проанализируем ситуацию: данные о ГТД в КА 2 не всегда хранятся непосредственно в табличной части Товары документа реализации, чтобы не перегружать основной объект. Информация о движении номенклатуры в разрезе ГТД фиксируется в регистрах накопления.

Рекомендуемый алгоритм действий:

  1. Откажитесь от идеи получения данных через функции печатных форм.
  2. Создайте собственный запрос к регистрам накопления, в которых отражаются движения документа Реализация товаров и услуг.
  3. В качестве основного источника данных используйте регистр, где хранится аналитика Номера ГТД.
  4. Привязку данных выполняйте по ссылке на документ-регистратор.

Такой подход обеспечивает несколько преимуществ:

Посмотрим, как может выглядеть базовая структура запроса (условно):


ВЫБРАТЬ
    Рег.Номенклатура,
    Рег.НомерГТД,
    Рег.Количество
ИЗ
    РегистрНакопления.ТоварыОрганизаций КАК Рег
ГДЕ
    Рег.Регистратор = &СсылкаНаДокумент

Использование этого метода позволит вам получить необходимые сведения о ГТД максимально прозрачным способом. Если вы новичок в КА 2, запомните золотое правило: если типовой механизм кажется слишком сложным для внешнего использования, значит, существует более прямое обращение к данным через регистры накопления или виртуальные таблицы.

← На главную