Как распечатать одну транспортную накладную, а не десять, как это предлагают типовые 1С: УТ 11.5 и КА 2.5? Исправление проблемы печати

26.02.23

Учетные задачи - Печатные формы

В современных типовых конфигурациях на базе 1С: Управление торговлей обнаружилась необычная проблема. При печати документа Транспортная накладная в случаях, когда в списке оснований встречается документ (или несколько), который в свою очередь является основанием для другой транспортной накладной (или нескольких), то вместо одной накладной выводятся все связанные с основанием накладные. Разъясняется причина такого поведения печати и предлагается способ исправления.

Скачать исходный код

Наименование Файл Версия Размер
Расширение для исправления множественной печати
.cfe 6,04Kb
3
.cfe 6,04Kb 3 Скачать

Описание проблемы

В статье речь идет о проблемах с печатью документа Транспортная накладная. Возможность оформления данных документов управляется соответствующей функциональной опцией – раздел Продажи.

 

 

Рассмотрим проблему печати на примере.

Имеется Транспортная накладная № 1, основанием к которой является Реализация товаров и услуг 1.

 

 

Имеется также Транспортная накладная № 2, основанием к которой является Реализация товаров и услуг 1 и, например, Реализация товаров № 2.

 

 

Надо сказать, что ситуация, когда один и тот же документ основание встречается в различных накладных, является вполне нормальной. Груз из одной накладной нередко перевозится в несколько этапов различными транспортными средствами.

У документа Транспортная накладная предусмотрено 2 типовых печатных формы Транспортная накладная (Приложение №4 к Правилам перевозок грузов автомобильным транспортом) и Товарно-транспортная накладная (Типовая межотраслевая форма № 1-Т)

Но при формировании печатной формы из ОДНОГО из документов (в нашем примере №1 или №2)  к печати подготавливаются печатные формы одновременно ДВУХ (или большего количества) документов (в нашем примере №1 и №2).

 

 

Такая ситуация является нештатной, поскольку, повторюсь, запрашивался к печати только один из документов Транспортная накладная.

Указанная проблема выявляется для обоих видов печатных форм, при формировании по кнопке как из формы документа, так и из формы списка документов.

 

Исправление

Поскольку детальное исследование причин возникновения такой проблемы не будет интересно всем читателям, сразу скажу, что для исправления достаточно подключить небольшое расширение (назначение - Исправление). Может работать в безопасном режиме, то есть возможность применить это исправление и в 1С ФРЕШ.

 

Причины возникновение проблемы

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

Функция ПроверитьДокументыОснования(ПроверяемыеОбъекты, ВыделенныеСтрокиАдресов = Неопределено, ВыдаватьСообщения = Истина) Экспорт

Целью данной функции является формирование на выходе структуры(коллекции значений) результата, содержащей следующие ключи:

ОбъектыПоКоторымМожноИНужноСоздатьТранспортныеНакладные

ОбъектыПоКоторымСоздаватьТранспортныеНакладныеНельзя

ОбъектыПоКоторымНакладныеУжеСозданы

ЗаданияНаПеревозкуДляСозданияТранспортныхНакладных ЗаданияНаПеревозкуПоКоторымНакладныеУжеСозданы

 

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

А проблема совсем в другом.

Во входной параметр ПроверяемыеОбъекты в виде ссылки передается массив объектов печати (в понимании массива объектов всех процедур печати при использовании БСП). Заметим, что переменная передается, по ссылке, а не по значению!

Забыв про это, авторы проводят манипуляции с данной входной переменной. Например, используют прямое присваивание по ссылке новой переменной.

МассивОбъектов       = ПроверяемыеОбъекты;

Напомню, что при этом новый массив не создается, а новая переменная лишь привязывается к существующим данным массива.

Далее в коде проводится обработка данных массива, включая такую операцию:

МассивОбъектов.Очистить();

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

Достаточно было бы входную переменную было бы претворить выражением ЗНАЧ, такой бы проблемы не возникало:

Функция ПроверитьДокументыОснования(Знач ПроверяемыеОбъекты, ВыделенныеСтрокиАдресов = Неопределено, ВыдаватьСообщения = Истина) Экспорт

Возможно, возникает вопрос, почему проблема проявляется не всегда и вообще, как при этом хоть что-то печатается?

Кратко попробую ответить.

Данная функция, как писалось выше, на выходе формирует структуру с массивами документов-оснований.

По стандартной логике печати данные массивы сопоставляются с исходным массивом транспортных накладных к печати и каждому из транспортных накладных сопоставляются основания.

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

Но как только попадется основание, встречающееся в двух и более транспортных накладных, все они будут выведены на печать, поскольку «обрезающая функция» в виде сопоставления с исходным списком накладных к печати не отработает.

Первоначально проблема была обнаружена в 1С: Комплексная автоматизация 2.5.8.369.

Проверялось так же на последней 1С: Управление торговлей 11.5.8.405  - проблема на месте.

Предполагаю, что проблема проявится и в последних редакциях 1C: ERP.

Печать транспортной накладной ТТН

См. также

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 руб.

06.10.2023    8530    25    6    

47

Универсальная печать по шаблонам Word (Печать договоров из 1С БП 3, УНФ 1.6, ЗУП 3, УТ 11, КА 2, ERP 2, ДО 3)

Печатные формы Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Научите вашу 1C печатать из 1С в файл Word (Например: трудовые договоры, договоры с контрагентами, спецификации, дополнительные соглашения, приказы, коммерческие предложения, акты, накладные, карточки партнера или любого справочника и многие другие). Универсальная печать предназначена для формирования печатных форм на основе шаблонов в формате Word из любой конфигурации 1С. С помощью данного инструмента можно самостоятельно заполнить шаблон реквизитами справочника или документа 1С и сформировать печатные формы на основании ссылки на любой объект.

5400 руб.

08.10.2019    43589    147    89    

141

УТ 11, КА 2, ERP 2: Настраиваемые под каждую организацию печать и подпись ответственных лиц в печатных формах (ТОРГ-12, Счёт-фактура, УПД, УКД, Заказ клиента, Акт сверки, М-15 и др.)

Печатные формы Взаиморасчеты Оптовая торговля Производство готовой продукции (работ, услуг) Акт сверки Оперативный учет Управляемые формы 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

12000 руб.

13.03.2018    57054    185    76    

116

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    4745    10    5    

18

Печатные формы КС-2 и КС-3 в "1С:Бухгалтерия 3.0"

Печатные формы Производство готовой продукции (работ, услуг) Платформа 1С v8.3 Бухгалтерский учет Оперативный учет 1С:Бухгалтерия 3.0 Строительство Россия Бухгалтерский учет Платные (руб)

Откройте для себя заполнение КС-2 и КС-3 в "1С:Бухгалтерия 3.0". Вы получаете удобство, скорость и систему, чтобы заполнить, распечатать и сохранить формы КС-2 и КС-3 из документов "Оказание производственных услуг" или "Реализация товаров услуг". Вы можете заполнить дополнительную информацию о материалах из документов "Требование-накладная" и указать сведения, которые не предусмотрены типовой конфигурацией "1С:Бухгалтерия 3.0". Так же доступно множество настроек для формирования КС-2 и КС-3.

3240 руб.

13.02.2019    88914    395    44    

378

Путевой лист грузового автомобиля в 1С:Бухгалтерия 3.0

Печатные формы Учет рабочего времени Платформа 1С v8.3 Бухгалтерский учет Оперативный учет 1С:Бухгалтерия 3.0 Транспорт, автопарки, такси Россия Бухгалтерский учет Платные (руб)

Путевой лист грузового автомобиля в 1С:Бухгалтерия 3.0 - заполнить, распечатать, сохранить. Вы можете не только внести всю информацию и распечатать путевой лист грузового автомобиля в 1С, но и повторно использовать ранее введенные данные спустя любое время - данные путевого листа сохраняются в "1С:Бухгалтерия 3.0" без каких-либо доработок.

4200 руб.

23.08.2019    53950    161    63    

150
Оставьте свое сообщение