Добавление сведений об организации в колонтитулы всех типовых отчетов. Бухгалтерия 2

07.09.18

Задачи пользователя - Адаптация типовых решений

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Добавление сведений об организации в колонтитулы всех типовых отчетов Бухгалтерии 2
.txt 5,24Kb
1
1 Скачать (1 SM) Купить за 1 850 руб.

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

Общий модуль УправлениеОтчетами правим функцию:

Функция ЗаполнитьТекстКолонтитула(Текст, НазваниеОтчета, Пользователь,ОтчетОбъект)

    Результат = Текст;
    Результат = СтрЗаменить(Результат, "[&НазваниеОтчета]", НазваниеОтчета);
    Результат = СтрЗаменить(Результат, "[&Пользователь]", Пользователь);
    //***доработка
    Попытка
        Результат = СтрЗаменить(Результат, "[&Организация]", ОтчетОбъект.Организация);
    Исключение
        Результат = СтрЗаменить(Результат, "[&Организация]", "");
    КонецПопытки;
    Попытка
        Результат = СтрЗаменить(Результат, "[&ИНН]", ОтчетОбъект.Организация.ИНН);
    Исключение
        Результат = СтрЗаменить(Результат, "[&ИНН]", "");
    КонецПопытки;
    Попытка
        Результат = СтрЗаменить(Результат, "[&КПП]", ОтчетОбъект.Организация.КПП);
    Исключение
        Результат = СтрЗаменить(Результат, "[&КПП]", "");        
    КонецПопытки;
    //доработка***
    Возврат Результат;

КонецФункции // ЗаполнитьТекстКолонтитула()

В этом же модуле правим процедуру, добавляя новый необязательный параметр ОтчетОбъект:

Процедура УстановитьКолонтитулыПоУмолчанию(ТабличныйДокумент, НазваниеОтчета, Пользователь, ОтчетОбъект = "") Экспорт

	Настройка = ПолучитьНастройкиКолонтитулов();
	
	ТабличныйДокумент.ВерхнийКолонтитул.Выводить          = Настройка.ВерхнийКолонтитул.Выводить;
	ТабличныйДокумент.ВерхнийКолонтитул.НачальнаяСтраница = Настройка.ВерхнийКолонтитул.НачальнаяСтраница;
	ТабличныйДокумент.ВерхнийКолонтитул.ВертикальноеПоложение = ВертикальноеПоложение.Низ;
	ТабличныйДокумент.ВерхнийКолонтитул.ТекстСлева   = ЗаполнитьТекстКолонтитула(Настройка.ВерхнийКолонтитул.ТекстСлева, НазваниеОтчета, Пользователь, ОтчетОбъект);
	ТабличныйДокумент.ВерхнийКолонтитул.ТекстВЦентре = ЗаполнитьТекстКолонтитула(Настройка.ВерхнийКолонтитул.ТекстВЦентре, НазваниеОтчета, Пользователь, ОтчетОбъект);
	ТабличныйДокумент.ВерхнийКолонтитул.ТекстСправа  = ЗаполнитьТекстКолонтитула(Настройка.ВерхнийКолонтитул.ТекстСправа, НазваниеОтчета, Пользователь, ОтчетОбъект);
	
	ТабличныйДокумент.НижнийКолонтитул.Выводить          = Настройка.НижнийКолонтитул.Выводить;
	ТабличныйДокумент.НижнийКолонтитул.НачальнаяСтраница = Настройка.НижнийКолонтитул.НачальнаяСтраница;
	ТабличныйДокумент.НижнийКолонтитул.ВертикальноеПоложение = ВертикальноеПоложение.Верх;
	ТабличныйДокумент.НижнийКолонтитул.ТекстСлева   = ЗаполнитьТекстКолонтитула(Настройка.НижнийКолонтитул.ТекстСлева, НазваниеОтчета, Пользователь, ОтчетОбъект);
	ТабличныйДокумент.НижнийКолонтитул.ТекстВЦентре = ЗаполнитьТекстКолонтитула(Настройка.НижнийКолонтитул.ТекстВЦентре, НазваниеОтчета, Пользователь, ОтчетОбъект);
	ТабличныйДокумент.НижнийКолонтитул.ТекстСправа  = ЗаполнитьТекстКолонтитула(Настройка.НижнийКолонтитул.ТекстСправа, НазваниеОтчета, Пользователь, ОтчетОбъект);
	
КонецПроцедуры // УстановитьКолонтитулы

Далее все стандартные отчеты выводятся при помощи процедуры из общего модуля СтандартныеОтчеты и в нем процедура в которую так же добавляем передачу ссылки на объект отчета:

Процедура ОбработкаРезультатаОтчета(ОтчетОбъект, Результат) Экспорт
	
	// Выводим надписи вертикально, если количество точек диаграмм больше 9
	Для Каждого Рисунок Из Результат.Рисунки Цикл
		Попытка
			Если ТипЗнч(Рисунок.Объект) = Тип("Диаграмма") Тогда
				Рисунок.Объект.ОбластьПостроения.ВертикальныеМетки  = (Рисунок.Объект.Точки.Количество() > 9);
				Рисунок.Объект.ОбластьПостроения.ФорматШкалыЗначений = "ЧГ=3,0";
				Рисунок.Объект.ОбластьЛегенды.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 1);
				
				Рисунок.Объект.ПоложениеПодписейШкалыЗначенийИзмерительнойДиаграммы = ПоложениеПодписейШкалыЗначенийИзмерительнойДиаграммы.НаШкале;
				Рисунок.Объект.ПодписиШкалыЗначенийИзмерительнойДиаграммыВдольШкалы = Истина;
				Рисунок.Объект.ТолщинаШкалыИзмерительнойДиаграммы                   = 3;
				Рисунок.Объект.ФорматЗначенийВПодписях                              = "ЧДЦ=2; ЧГ=3,0";
			КонецЕсли;
		Исключение
		КонецПопытки;
	КонецЦикла;
	
	Результат.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_" + ОтчетОбъект.Метаданные().Имя;
	
	//УправлениеОтчетами.УстановитьКолонтитулыПоУмолчанию(Результат, ОтчетОбъект.ПолучитьТекстЗаголовка(Ложь), Строка(глЗначениеПеременной("глТекущийПользователь")));
	УправлениеОтчетами.УстановитьКолонтитулыПоУмолчанию(Результат, ОтчетОбъект.ПолучитьТекстЗаголовка(Ложь), Строка(глЗначениеПеременной("глТекущийПользователь")),ОтчетОбъект);
	
КонецПроцедуры

И наконец для удобства настройки колонтитулов типовыми средствами в общую форму "ФормаНастройкиКолонтитулов" в раздел основной программы вставляем строки

ШаблонТекста.Вставить("Организация",    "[&Организация]");
ШаблонТекста.Вставить("ИНН", 			"[&ИНН]");
ШаблонТекста.Вставить("КПП", 			"[&КПП]");

Это позволит выбирать в колонтитулах новые параметры, так как показано на картинках к статье.

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

Колонтитулы заголовки типовые отчеты

См. также

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

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

29400 руб.

29.06.2023    5618    14    5    

24

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    3889    11    0    

29

Адаптация типовых решений Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Каждый из нас сталкивается с ситуацией, когда какой-нибудь менеджер показывает свой Excel и рассказывает, как он что-то из 1С копирует в него, снабжает пояснениями, выделяет цветом и т.д. и т.п. Заканчивается все просьбой сделать вот чтобы также было в 1С. И оказывается такой человек (почти с гарантией) либо лучшим продажником, либо каким-то важным, за все отвечающим, - на ком все держится.

2 стартмани

22.04.2024    5068    dimanich70    15    

21

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    5360    dimanich70    9    

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