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

26.09.13

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

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

Скачать файл

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

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

Итак, получил задание от бухгалтерии немного доработать печатную форму налоговой накладной. Естественно, сделал внешнюю печатную форму, чтобы не снимать объект с поддержки. После выполнения задачи, оказалось, что мои изменения не передаются в 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    143325    821    297    

428

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.20.x), также подходят для релиза 11.5 (11.5.19.x).

35000 31500 руб.

23.07.2020    53417    236    73    

192

SALE! 10%

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

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

35000 31500 руб.

15.12.2021    24824    174    51    

132

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    37243    99    66    

95

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    172015    307    258    

384

SALE! 10%

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

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

55778 50200 руб.

24.04.2015    195872    155    244    

284

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    72789    184    151    

125

SALE! 10%

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

Перенос данных из ERP в УПП 1.3 | из КА 2 в КА 1.1 | из КА 2 в УПП 1.3 | из КА 2 в УТ 10.3 | из ERP в КА 1.1 | из ERP в УТ 10.3 | из УТ 11 в УТ 10.3 | из УТ 11 в УПП 1.3 | из УТ 11 в КА 1.1 | Можно переносить только новые объекты, найденные в приемнике перезаписываться не будут | Есть фильтр по организации при выгрузке данных | Оперативно обновляем на новые релизы 1С

53111 47800 руб.

28.11.2015    83616    32    126    

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

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