Учим обработку выгрузки налоговой накладной в XML использовать внешнюю печатную форму.

26.09.13

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Немного доработав налоговую накладную типовой бухгалтерии, обнаружил что изменения не выгружаются в XML для отчета в ГНАУ. Проблема оказалась не такой простой, как ожидал, поэтому публикую решение.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Подключаемая форма печати налоговой накладной
.epf 32,42Kb
2 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Итак, получил задание от бухгалтерии немного доработать печатную форму налоговой накладной. Естественно, сделал внешнюю печатную форму, чтобы не снимать объект с поддержки. После выполнения задачи, оказалось, что мои изменения не передаются в XML-отчет для ГНАУ! Нашел, что выгрузкой занимается РегламентированныйОтчетНалоговаяНакладная, форма ФормаОтчета2012, процедура ЗаполнитьАвто(строка 2245). Начал искать откуда этот отчет тянет показатели, и выяснил что из модуля самой налоговой: функция "Печать" может возвращать или табличный документ или структуру показателей, все зависит от параметра ТолькоФормироватьСтруктуруПоказателейПечатнойФормы.

Таким образом, задача свелась к тому, чтобы доработать РегламентированныйОтчетНалоговаяНакладная (затем зарегистрировать его как внешний регл. отчет), чтоб он мог получить структуру показателей с моей внешней печатной формы. К сожалению, в типовом варианте отчет "не видит" внешнюю печатную форму, а сразу обращается к печатной форме переданного документа-объекта:

СтруктураПараметров = НалоговыйДокументОбъект.ПечатьДокумента(Истина);

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

Заходим в Отчеты->РегламентированныйОтчетНалоговаяНакладная->ФормаОтчета2012->ЗаполнитьАвто(строка 2245). Находим текст 

Процедура ЗаполнитьАвто(ИспользоватьДанныеЗЦ = Ложь) Экспорт
	перем ИсходноеКоличествоСтрокГруппы;
	
	НалоговыйДокументОбъект = НалоговыйДокумент.ПолучитьОбъект();
	
	Попытка
		СтруктураПараметров = НалоговыйДокументОбъект.ПечатьДокумента(Истина);
	Исключение
		Сообщить(НСТР("ru = 'Заполнение по данным документа невозможно в данной версии конфигурации. Необходимо обновить конфигурацию!'; uk = 'Заповнення даними документа неможливе на поточній версії конфигурації. Необхідно оновити конфігурацію!'"));
		Возврат;
	КонецПопытки;
 

Заменяем его на:

Процедура ЗаполнитьАвто(ИспользоватьДанныеЗЦ = Ложь) Экспорт
	перем ИсходноеКоличествоСтрокГруппы;
	перем ДополнительныеПараметры;
	
	НалоговыйДокументОбъект = НалоговыйДокумент.ПолучитьОбъект();
	
	// Если вместо стандартной печатной формы зарегистрирована внешняя печатная форма - используем ее
	СтруктураПараметров = Неопределено;
	
	Попытка
		СтруктураВнутреннихПечатныхФорм = НалоговыйДокументОбъект.ПолучитьСтруктуруПечатныхФорм()
	Исключение
		СтруктураВнутреннихПечатныхФорм = Новый Структура;
	КонецПопытки;
	
	ДеревоМакетовПечати = УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(НалоговыйДокументОбъект.Ссылка, СтруктураВнутреннихПечатныхФорм);
	
	СтрокаКнопки = ДеревоМакетовПечати.Строки.Найти("Налоговая накладная", "Текст");
	
	Расшифровка = СтрокаКнопки.Расшифровка;
	Если ТипЗнч(Расшифровка) = Тип("Структура") Тогда
		
		// печатаем из внешней формы
		ИсточникМакета = Расшифровка;
		
		ДвоичныеДанные = ИсточникМакета.СсылкаНаВнешнююОбработку.Принадлежность[ИсточникМакета.НомерСтроки - 1].ХранилищеВнешнейОбработки.Получить();
		
		// Получить дополнительные параметры внешней обработки
		ИсточникМакета.Свойство("ДополнительныеПараметрыОбработки", ДополнительныеПараметры);
		
		Если ДополнительныеПараметры = Неопределено Тогда
			ДополнительныеПараметры = Новый Структура;
		КонецЕсли;
		
		Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда
			ДополнительныеПараметры.Вставить("ТолькоФормироватьСтруктуруПоказателейПечатнойФормы", Истина);
		КонецЕсли;
		
		Если ДвоичныеДанные = Неопределено Тогда
			ДвоичныеДанные = ИсточникМакета.СсылкаНаВнешнююОбработку.ХранилищеВнешнейОбработки.Получить();
		КонецЕсли;
		
		Если ДвоичныеДанные = Неопределено Тогда
			Сообщить(НСТР("ru = 'Не удалось загрузить внешнюю печатную форму!'; uk = 'Не удалось загрузить внешнюю печатную форму!'"));
			Возврат;
		КонецЕсли;
		
		ТабДокумент = Неопределено;
		
		ИмяФайла = ПолучитьИмяВременногоФайла("epf");
		Попытка
			ДвоичныеДанные.Записать(ИмяФайла);
			Обработка = ВнешниеОбработки.Создать(ИмяФайла);
			Обработка.СсылкаНаОбъект = НалоговыйДокументОбъект.Ссылка;
			
			// Передать внешней обработке дополнительные параметры
			Если ДополнительныеПараметры <> Неопределено Тогда
				
				// Если у внешней обработки есть реквизит для дополнительных параметров, присвоить ему значение
				Если НЕ Обработка.Метаданные().Реквизиты.Найти("ДополнительныеПараметры") = Неопределено Тогда
					Обработка.ДополнительныеПараметры = ДополнительныеПараметры;
				КонецЕсли;
				
			КонецЕсли;
			
			СтруктураПараметров = Обработка.Печать();
			
			УдалитьФайлы(ИмяФайла);
		Исключение
			ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(),, НСтр("ru='Не удалось сформировать внешнюю печатную форму!';uk='Не вдалося сформувати зовнішню друковану форму!'"));
			Возврат;
		КонецПопытки;
		
	КонецЕсли;
	
	// Если внешняя печатная форма не вернула структуру параметров (возможно разработчик не предусмотрел такую возможность), используем стандартную печать (типовый механизм)
	Если ТипЗнч(СтруктураПараметров) <> Тип("Структура") Тогда
		Попытка
			
			СтруктураПараметров = НалоговыйДокументОбъект.ПечатьДокумента(Истина);
		
		Исключение
			Сообщить(НСТР("ru = 'Заполнение по данным документа невозможно в данной версии конфигурации. Необходимо обновить конфигурацию!'; uk = 'Заповнення даними документа неможливе на поточній версії конфигурації. Необхідно оновити конфігурацію!'"));
			Возврат;
		КонецПопытки;
	КонецЕсли;
 

В прикрепленном файле находится пример подключаемой обработки.

Вступайте в нашу телеграмм-группу Инфостарт

Налоговая накладная

См. также

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27660 руб.

12.06.2017    152746    893    302    

463

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

55778 50200 руб.

15.04.2019    78935    212    163    

150

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    178108    328    275    

396

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    41978    119    75    

113

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.255.x) и БП 3.0 (3.0.183.x). Правила подходят для версии ПРОФ и КОРП.

38000 34200 руб.

15.12.2021    29660    213    58    

158

Операции по ВЭД Файловый обмен (TXT, XML, DBF), FTP Программист Бухгалтер 1С v8.3 Бухгалтерский учет 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Платные (руб)

Федеральная таможенная служба России давно поддерживает унифицированный формат электронных документов для обмена с информационными системами предприятий. xmlns="urn:customs.ru:Information:ExchangeDocuments:". Структура, утвержденная комиссией Таможенного союза. Осталось только сделать загрузку в 1С из этого формата. На выходе - два документа ГТД по импорту и Поступление (акты, накладные) Обработка актуализирована на начало 2025 года

4800 руб.

09.08.2016    88878    331    378    

91

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.24.x).

38000 34200 руб.

23.07.2020    61633    289    81    

229

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 24.09.2025, версия 9.12 - 10.4)

19200 руб.

20.11.2015    167569    417    388    

539
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Abbra 24 03.10.13 23:17 Сейчас в теме
что это за конфигурация?
2. crs 22 17.10.13 16:20 Сейчас в теме
Читаем внимательней описание:

Конфигурация: 1С:Бухгалтерия 8
...
Страна: Украина
Для отправки сообщения требуется регистрация/авторизация