gifts2017

Внешняя печатная форма акта сверки с комментариями (для БП 1.6, БП 2.0, КА 1.1)

Опубликовал AvtoBuhgalter ООО (AvtoBuhgalter) в раздел Печать - Печатные формы документов

Внешняя печатная форма акта сверки с выводом в табличную часть содержимого номеров счетов-фактур для реализации и  поступления, назначения платежей для платежных документов.
Разработано для:
БП 1.6 (8.1)
БП 2.0 (8.2)
КА 1.1 (8.2)

Обновлено:
06.11.2010 - добавлена колонка "Единица измерения". Перенесено на платформу 8.2. Добавлена возможность формирования в комплексной автоматизации

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

Подключается стандартным способом.

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

Код открыт.

Подключение внешней печатной формы к конфигурации:

  1. Запускаем 1С: Бухгалтерию в режиме 1С:Предприятия. 
  2. Заходим в меню "Сервис", "Дополнительные отчеты и обработки", "Дополнительные внешние печатные формы"
  3. Нажимаем "Добавить" 
  4. Нажимаем кнопку-картинку "Заменить файл внешней обработки"  (в виде папки со стрелкой) и выбираем скачанный файл
  5. На вопрос "Указанная внешняя печатная форма содержит параметры авторегистрации. Использовать их..." - отвечаем "ДА"
  6. Нажимаем "ОК" 
  7. Открываем документ "Акт сверки" - формируем его.
  8. Нажимаем печать и выбираем вновь появившуюся форму "Акт сверки расширенный"
  9. Наслаждаемся!

 

 

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Внешняя расширенная форма акта сверки 8.1
.epf 15,65Kb
06.11.10
272
.epf 15,65Kb 272 Скачать
Внешняя расширенная форма акта сверки 8.2
.epf 15,34Kb
06.11.10
241
.epf 15,34Kb 241 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Дониэла Иванова (Доня) 29.01.10 15:19
По картинке Акт содержательный!
А где сам файл? :o
2. AvtoBuhgalter ООО (AvtoBuhgalter) 29.01.10 16:20
(1) Где-то выскочил при загрузке. :)
Исправил.
3. Надежда Иванова (Nadezhda09) 03.02.10 08:02
Здравствуйте!
А что значит "Подключается стандартным способом"?
4. Ольга Валькова (valkovaolga) 03.02.10 11:15
(2) 1C Бухгалтерия 8.1 редакция 1.6 (1.6.22.4)

Файл вообще не открывается!
5. СВЕТА (света1969) 03.02.10 13:36
ни фига не открывает. изучение спроса?
6. AvtoBuhgalter ООО (AvtoBuhgalter) 03.02.10 20:10
(4) (5) Что значит не открывается? Через Файл открыть чтоли?
(3) В заголовке сказано "Внешняя печатная форма для документа". Это означает, что её нельзя открыть просто так, а она предназначена для конкретного документа.

В описание добавлю как это сделать.
7. Ольга Валькова (valkovaolga) 04.02.10 08:49
(6) Урра, все заработало. Спасибо!
8. Надежда Иванова (Nadezhda09) 05.02.10 10:20
P.S. Для тех, кто в танке:

Спасибо. :{} Именно так я и делала. :)
Мне понравилось представление документов.
Но акт не формируется. Выходит сообщение:
Не удалось сформировать внешнюю печатную форму!
Поле объекта не обнаружено (РазбитьПоДоговорам)




9. СВЕТА (света1969) 05.02.10 12:31
Бухгалтерия предприятия, редакция 1.6 (1.6.22.4)
почему то 1с не видит этот файл?
10. AvtoBuhgalter ООО (AvtoBuhgalter) 05.02.10 18:20
(8) Проверил на релизах 1.6.19.3, 1.6.20.6, 1.6.23.2
с разными положениями галочек.
Все работает.
Чтоб не засорять лишними вопросами напишу в личку.
11. AvtoBuhgalter ООО (AvtoBuhgalter) 08.06.10 14:02
Для УПП не предназначено.
12. Андрей Григорьев (Borisych) 20.04.11 00:23
Товарищи, зачем загружать мозг пользователей и терять свое время объясняя как подключить ВПФ или ОЗТЧ к документу?

Делаем в обработке форму с кодом, приведенным ниже, устанавливаем её основной.

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	Отказ 				 = Истина;
	
	Если Ложь Тогда
		ЭтотОбъект = "";
		ИспользуемоеИмяФайла = "";
	КонецЕсли; 
	
	Если Найти(Строка(ЭтотОбъект), "Внешн") = 0 Тогда
		Сообщить("Автоматическая регистрация в справочнике ""Внешние обработки"" для обработки из конфигурации не предусмотрена. Сохраните обработку во внешний файл.", СтатусСообщения.БезСтатуса);
		Возврат;
	КонецЕсли;
	
	
	// инициализация параметров регистрации обработки
	ТипОбработки = "ПечатнаяФорма"; // "ПечатнаяФорма", "ЗаполнениеТабличныхЧастей", "Отчет", "Обработка"
    //
	СписокДокументов = Новый СписокЗначений; 
	СписокДокументов.Добавить("", "");
	//СписокДокументов.Добавить("АктСверкиВзаиморасчетов", "Акт сверки взаиморасчетов");
	//
	СписокТабличныхЧастейДокументов = Новый СписокЗначений; // для ОЗТЧ
	СписокТабличныхЧастейДокументов.Добавить("", "");
	//СписокТабличныхЧастейДокументов.Добавить("ПоДаннымКонтрагента", "По данным контрагента");
	//
	СписокПредставленийКнопки = Новый СписокЗначений; // для ОЗТЧ
	СписокПредставленийКнопки.Добавить("", "");
	//СписокПредставленийКнопки.Добавить("Заполнить по данным филиала", "Заполнить по данным филиала");
	//
	ОбработкаСиноним = ЭтотОбъект.Метаданные().Синоним;
	Для каждого Док Из СписокДокументов Цикл
		ДокМетаданные = Метаданные.Документы.Найти(Док.Значение);
		Если ДокМетаданные = Неопределено Тогда
			Предупреждение("Данная обработка предназначена для документа " + Док.Представление + "! 
			|В данной конфигурации не найден такой тип документа, регистрация обработки не проведена!");
			Возврат;
		ИначеЕсли ТипОбработки = "ЗаполнениеТабличныхЧастей" И ДокМетаданные.ТабличныеЧасти.Найти(СписокТабличныхЧастейДокументов[СписокДокументов.Индекс(Док)].Значение) = Неопределено Тогда
			Предупреждение("В данной конфигурации у документа """ + Док.Представление + """ не обнаружена табличная часть """
								+ СписокТабличныхЧастейДокументов[СписокДокументов.Индекс(Док)].Представление + """. Регистрация обработки не проведена!", 15);
			Возврат;
		КонецЕсли;
	КонецЦикла;
	Если НЕ ПравоДоступа("Изменение", Метаданные.Справочники.ВнешниеОбработки) Тогда
		Предупреждение("У Вас недостаточно прав доступа для регистрации обработки в информационной базе! Обратитесь к пользователю с административными правами!");
		Возврат;
	КонецЕсли;
	Эл = Справочники.ВнешниеОбработки.НайтиПоНаименованию(ОбработкаСиноним);
	Режим = "";
	Если Эл = Справочники.ВнешниеОбработки.ПустаяСсылка() Тогда
		Режим = "Создать";
	Иначе
		Если Вопрос("В информационной базе уже зарегистрирован" + 
					?(ТипОбработки = "ПечатнаяФорма", "а внешняя печатная форма", 
					  ?(ТипОбработки = "ЗаполнениеТабличныхЧастей", "а обработка заполнения табличных частей", 
					    ?(ТипОбработки = "Отчет", " отчет","а обработка"))) + " """ + 
					ОбработкаСиноним + """. Обновить существующую?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да 
		Тогда
			Режим = "Обновить";
		КонецЕсли;
	КонецЕсли; 	
	Если Режим = "" Тогда                                                       
		Возврат;                                                                     
	КонецЕсли;
	Если Режим = "Создать" Тогда
		ЭлСпрВнОбр = Справочники.ВнешниеОбработки.СоздатьЭлемент();
	КонецЕсли;	
	Если Режим = "Обновить" Тогда 
		ЭлСпрВнОбр = Эл.ПолучитьОбъект();
	КонецЕсли;
	ЭлСпрВнОбр.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок[ТипОбработки];
	ЭлСпрВнОбр.Наименование = ОбработкаСиноним;
	Файл = Новый Файл(ИспользуемоеИмяФайла);
	ЭлСпрВнОбр.КомментарийКФайлуИсточнику = "Исходный файл: " + Файл.Имя + Символы.ПС + "размер:" + Файл.Размер()+" байт; изменен:" + Файл.ПолучитьВремяИзменения() + "; сохранен в ИБ:" + ТекущаяДата();
	ЭлСпрВнОбр.ХранилищеВнешнейОбработки = Новый ХранилищеЗначения(Новый ДвоичныеДанные(ИспользуемоеИмяФайла));
	ЭлСпрВнОбр.Принадлежность.Очистить();
	Если ТипОбработки = "ПечатнаяФорма" ИЛИ ТипОбработки = "ЗаполнениеТабличныхЧастей" Тогда 
		Для каждого Док Из СписокДокументов Цикл                         
			Прин = ЭлСпрВнОбр.Принадлежность.Добавить();
			Прин.СсылкаОбъекта = Документы[Док.Значение].ПустаяСсылка();
			Если ТипОбработки = "ЗаполнениеТабличныхЧастей" Тогда
				Прин.ПредставлениеКнопки = СписокПредставленийКнопки[СписокДокументов.Индекс(Док)].Значение;
			Иначе
				Прин.ПредставлениеКнопки = ОбработкаСиноним;
			КонецЕсли;
			Прин.ПредставлениеОбъекта = "Документ """ + Метаданные.Документы[Док.Значение].Синоним +"""";
			Если ТипОбработки = "ЗаполнениеТабличныхЧастей" Тогда
				Прин.ТабличнаяЧастьИмя			 = СписокТабличныхЧастейДокументов[СписокДокументов.Индекс(Док)].Значение;	
				Прин.ТабличнаяЧастьПредставление = СписокТабличныхЧастейДокументов[СписокДокументов.Индекс(Док)].Представление;	
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;
	ЭлСпрВнОбр.Записать();
	СтрокаТекста = "";
	Для каждого Док Из СписокДокументов Цикл
		СтрокаТекста = СтрокаТекста + ?(СтрокаТекста <> "",Символы.ПС,"") +
						?(ТипОбработки = "ПечатнаяФорма", "Внешняя печатная форма  """ + ОбработкаСиноним + """ документа  """ +  Док.Представление + """ зарегистрирована ", 
									  ?(ТипОбработки = "ЗаполнениеТабличныхЧастей", "Обработка заполнения табличной части """ + СписокТабличныхЧастейДокументов[СписокДокументов.Индекс(Док)].Представление + """ документа """ +  Док.Представление + """ зарегистрирована ", 
									    ?(ТипОбработки = "Отчет", "Отчет """ + ОбработкаСиноним + """ зарегистрирован ","Обработка """ + ОбработкаСиноним + """ зарегистрирована ")))
						 + "в справочнике ""Внешние обработки""";
	КонецЦикла;
	Предупреждение(СтрокаТекста,10);
	
	ФВО = Справочники.ВнешниеОбработки.ПолучитьФормуСписка();
	РеквизитОтбора = "Наименование";
	ФВО.Отбор[РеквизитОтбора].ВидСравнения	= ВидСравнения.Равно;
	ФВО.Отбор[РеквизитОтбора].Значение 		= ОбработкаСиноним;
	ФВО.Отбор[РеквизитОтбора].Использование	= Истина;
	ФВО.ЭлементыФормы.СправочникСписок.НастройкаОтбора[РеквизитОтбора].Доступность = Ложь;
	ФВО.Открыть();
	ФВО.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;
	Для каждого Док Из СписокДокументов Цикл
		Если НЕ ПравоДоступа("Просмотр",Метаданные.Документы[Док.Значение]) Тогда
			Предупреждение("У Вас недостаточно прав доступа просмотра документов " + Метаданные.Документы[Док.Значение].Синоним + "!",10);
		Иначе
			Док = Документы[Док.Значение].Выбрать(,,,"Дата Убыв");
			Если Док.Следующий() Тогда
				Док.Ссылка.ПолучитьФорму().Открыть();
			КонецЕсли;
		КонецЕсли;
	КонецЦикла;	
	СтрокаТекста = "";
	Если ТипОбработки = "ПечатнаяФорма" ИЛИ ТипОбработки = "ЗаполнениеТабличныхЧастей" Тогда 
		Для каждого Стр Из ЭлСпрВнОбр.Принадлежность Цикл
			СтрокаТекста = СтрокаТекста + ?(СтрокаТекста <> "",Символы.ПС,"") + 
							?(ТипОбработки = "ПечатнаяФорма", 
								"Внешняя печатная форма " + Стр.ПредставлениеКнопки + """ документа """ + Стр.СсылкаОбъекта.Метаданные().Синоним + """",
							  	"Обработка заполнения табличной части """ + Стр.ПредставлениеКнопки + """ документа """ +  Стр.СсылкаОбъекта.Метаданные().Синоним + """");
		КонецЦикла;
	КонецЕсли;
	Справка = СтрокаТекста;
	Сообщить(Справка);				
	//Предупреждение(Справка,600);
КонецПроцедуры
...Показать Скрыть
Прикрепленные файлы:
ШаблонВПФ.epf
13. Анна Ни (Anyu-n) 18.03.14 22:36
Классная идея! Только я еще цену добавила. А вы не подскажите для УТ тоже что-нибудь в разрезе по номенклатуре?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа