После обновления Бух на 151.27 глюки отвественного в факсимиле, берет чужую

1. zoeh 31 16.04.24 19:02 Сейчас в теме +1 $m
весь день изучал алгоритм так и не понял где он добавляет "косые" факсимилье.
процедура
ДобавитьПодписантовДокумента отрабатывает ровно судя по заполненным физ лицам и названиям файлов.
может кто разбирал и даст совет?
Вознаграждение за ответ
Показать полностью
Найденные решения
3. zoeh 31 17.04.24 07:12 Сейчас в теме
Кому надо будет я победил это

&После("ДоработатьФаксимильнуюПодписьИПечать")
Процедура т_ДоработатьФаксимильнуюПодписьИПечать(ТабличныйДокумент, ОбъектыПечати, Организация, ДокументПечатнойФормы)
				
	//Добавил 
	Если ТипЗнч(ДокументПечатнойФормы.Ссылка) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
		ОрганизацияЮридическоеЛицо = ОбщегоНазначенияБПВызовСервераПовтИсп.ЭтоЮрЛицо(Организация);
		СуффиксРисункаФаксимиле = СуффиксРисункаФаксимиле(ОбъектыПечати, ДокументПечатнойФормы);
		
		Если НЕ(ДокументПечатнойФормы.Ссылка.ДоговорКонтрагента.ВыводитьПодписиОтветственныхНашейОрганизацииВУПД) Тогда 
			//Инд = МассивИменПоказателей.Найти("ФаксимилеРуководитель");
			//Если Инд<> Неопределено Тогда
			//	Инд = МассивУдаляемыхИменПоказателей.Найти("ФаксимилеРуководитель");
			//	Если Инд= Неопределено Тогда
			//    	МассивУдаляемыхИменПоказателей.Добавить("ФаксимилеРуководитель");
			//	КонецЕсли;
			//КонецЕсли;
			//Инд = МассивИменПоказателей.Найти("ФаксимилеГлавныйБухгалтер");
			//Если Инд<> Неопределено Тогда
			//	Инд = МассивУдаляемыхИменПоказателей.Найти("ФаксимилеГлавныйБухгалтер");
			//	Если Инд= Неопределено Тогда
			//		
			//		МассивУдаляемыхИменПоказателей.Добавить("ФаксимилеГлавныйБухгалтер");
			//	КонецЕсли;
			//КонецЕсли; 
			
			
			
			
			//ОчиститьНесовместимыеФаксимиле(ТабличныйДокумент, СуффиксРисункаФаксимиле,
			//"ФаксимилеРуководитель", "ФаксимилеРуководитель", ОрганизацияЮридическоеЛицо); 
			//
			//ОчиститьНесовместимыеФаксимиле(ТабличныйДокумент, СуффиксРисункаФаксимиле,
			//"ФаксимилеГлавныйБухгалтер", "ФаксимилеГлавныйБухгалтер", ОрганизацияЮридическоеЛицо);
			//
			//	ОчиститьНесовместимыеФаксимиле(ТабличныйДокумент, СуффиксРисункаФаксимиле,
			//"ФаксимилеРуководительСчетФактура", "ФаксимилеРуководительСчетФактура", ОрганизацияЮридическоеЛицо); 
			//
			//ОчиститьНесовместимыеФаксимиле(ТабличныйДокумент, СуффиксРисункаФаксимиле,
			//"ФаксимилеГлавныйБухгалтерСчетФактура", "ФаксимилеГлавныйБухгалтерСчетФактура", ОрганизацияЮридическоеЛицо); 
			
						//Жо..а
			
			//ДокументПечатнойФормы.Руководитель   //Отвественный за оформление и т.п.
			//ДокументПечатнойФормы.ГлавныйБухгалтер   //Отвественный за оформление и т.п.
			//Рисунки	КоллекцияРисунковТабличногоДокумента	КоллекцияРисунковТабличногоДокумента
			//ФаксимилеГлавныйБухгалтер_Документ_1	РисунокТабличногоДокумента	РисунокТабличногоДокумента
			//ФаксимилеКладовщик_Документ_1	РисунокТабличногоДокумента	РисунокТабличногоДокумента
			//ФаксимилеОтветственныйЗаОформление_Документ_1	РисунокТабличногоДокумента	РисунокТабличногоДокумента
			//ФаксимилеПечать_Документ_1	РисунокТабличногоДокумента	РисунокТабличногоДокумента
			//ФаксимилеРуководитель_Документ_1	РисунокТабличногоДокумента	РисунокТабличногоДокумента
			
			Для Каждого ТекущийФаксимиле Из ТабличныйДокумент.Рисунки Цикл
				//Если СтрНайти(ТекущийФаксимиле.Имя,"Руководитель")>0 Тогда 
				//	Запомнить = ТекущийФаксимиле.Картинка;
				//КонецЕсли;	
				
				Если СтрНайти(ТекущийФаксимиле.Имя,"Кладовщик")>0 Тогда
					ТекущийФаксимиле.Картинка = Новый Картинка(ДвоичныеДанныеФаксимилеФизическогоЛица(ДокументПечатнойФормы.Руководитель),Истина);
					//ТекущийФаксимиле.ЦветЛинии = ЦветаСтиля.ТекстИнформационнойНадписи;
					//Если (ТекущийФаксимиле.Высота<6)  Тогда
						ТекущийФаксимиле.Высота = 10;
					//КонецЕсли;
					ТекущийФаксимиле.Верх=ТекущийФаксимиле.Верх+1;

					//	ТекущийФаксимиле.Высота=7.32013888888889;
					//	ТекущийФаксимиле.Верх=ТекущийФаксимиле.Верх+2;
					//КонецЕсли;
					//ТекущийФаксимиле.Картинка = Новый Картинка(ПрисоединенныйФайлФаксимилеФизическогоЛица(ДокументПечатнойФормы.Руководитель));
					//ТекущийФаксимиле.Картинка = Запомнить;
				КонецЕсли;  
				
				Если СтрНайти(ТекущийФаксимиле.Имя,"ОтветственныйЗаОформление")>0 Тогда
					ТекущийФаксимиле.Картинка = Новый Картинка(ДвоичныеДанныеФаксимилеФизическогоЛица(ДокументПечатнойФормы.Руководитель),Истина);
					//Если (ТекущийФаксимиле.Высота<6)  Тогда
						ТекущийФаксимиле.Высота = 10;
						
					//КонецЕсли;
					ТекущийФаксимиле.Верх=ТекущийФаксимиле.Верх+1;
					//ТекущийФаксимиле.ЦветЛинии = ЦветаСтиля.ТекстИнформационнойНадписи;
					//Если (ТекущийФаксимиле.Высота<6) ИЛИ (ТекущийФаксимиле.Высота>8) Тогда
					//	ТекущийФаксимиле.Высота=7.32013888888889;
					//	ТекущийФаксимиле.Верх=ТекущийФаксимиле.Верх+2;
					//КонецЕсли;
					//ТекущийФаксимиле.Картинка = Новый Картинка(ПрисоединенныйФайлФаксимилеФизическогоЛица(ДокументПечатнойФормы.Руководитель));
					//ТекущийФаксимиле.Картинка = Запомнить;
				КонецЕсли; 
				
			КонецЦикла;
			
			//Жо..а
			
			ОчиститьОбластьФаксимиле(ТабличныйДокумент, ИмяОбластиФаксимилеДокумента("ФаксимилеРуководитель", СуффиксРисункаФаксимиле));
			ОчиститьОбластьФаксимиле(ТабличныйДокумент, ИмяОбластиФаксимилеДокумента("ФаксимилеГлавныйБухгалтер", СуффиксРисункаФаксимиле));
			ОчиститьОбластьФаксимиле(ТабличныйДокумент, ИмяОбластиФаксимилеДокумента("ФаксимилеРуководительСчетФактура", СуффиксРисункаФаксимиле));
			ОчиститьОбластьФаксимиле(ТабличныйДокумент, ИмяОбластиФаксимилеДокумента("ФаксимилеГлавныйБухгалтерСчетФактура", СуффиксРисункаФаксимиле));
			
			//ДвоичныеДанныеФаксимилеФизическогоЛица(ФизическоеЛицо);
			
			
			Попытка
				ФаксимилеКладовщика = ТабличныйДокумент.Рисунки["ФаксимилеКладовщикУПД_"+СуффиксРисункаФаксимиле];
				Если ФаксимилеКладовщика.Высота<6 Тогда
            		ФаксимилеКладовщика.Высота = ФаксимилеКладовщика.Высота=7;
				КонецЕсли;
			Исключение
			КонецПопытки;
		Иначе
			//Инд = МассивУдаляемыхИменПоказателей.Найти("ФаксимилеРуководитель");
			//Если Инд<> Неопределено Тогда
			//	МассивУдаляемыхИменПоказателей.Удалить(Инд);
			//КонецЕсли;
			//Инд = МассивУдаляемыхИменПоказателей.Найти("ФаксимилеГлавныйБухгалтер");
			//Если Инд<> Неопределено Тогда
			//	МассивУдаляемыхИменПоказателей.Удалить(Инд);
			//КонецЕсли;
			
		КонецЕсли;
		
	КонецЕсли;
	//Добавил 
		
			
			
	// Вставить содержимое метода.
КонецПроцедуры
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. zoeh 31 17.04.24 06:05 Сейчас в теме
Ничего не нашел кроме как перерисовывать факсимиле заново

подскажите как теперь вставить на печ форму картинки заново из двоичных данных или из файла

ДоработатьФаксимильнуюПодписьИПечать(
Для Каждого ТекущийФаксимиле Из ТабличныйДокумент.Рисунки Цикл
				сообщить(ТекущийФаксимиле.Имя);
				Если СтрНайти(ТекущийФаксимиле.Имя,"Кладовщик")>0 Тогда
					ТекущийФаксимиле.Картинка = Новый Картинка(ДвоичныеДанныеФаксимилеФизическогоЛица(ДокументПечатнойФормы.Руководитель));
					
				КонецЕсли;
			КонецЦикла;

Показать
3. zoeh 31 17.04.24 07:12 Сейчас в теме
Кому надо будет я победил это

&После("ДоработатьФаксимильнуюПодписьИПечать")
Процедура т_ДоработатьФаксимильнуюПодписьИПечать(ТабличныйДокумент, ОбъектыПечати, Организация, ДокументПечатнойФормы)
				
	//Добавил 
	Если ТипЗнч(ДокументПечатнойФормы.Ссылка) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
		ОрганизацияЮридическоеЛицо = ОбщегоНазначенияБПВызовСервераПовтИсп.ЭтоЮрЛицо(Организация);
		СуффиксРисункаФаксимиле = СуффиксРисункаФаксимиле(ОбъектыПечати, ДокументПечатнойФормы);
		
		Если НЕ(ДокументПечатнойФормы.Ссылка.ДоговорКонтрагента.ВыводитьПодписиОтветственныхНашейОрганизацииВУПД) Тогда 
			//Инд = МассивИменПоказателей.Найти("ФаксимилеРуководитель");
			//Если Инд<> Неопределено Тогда
			//	Инд = МассивУдаляемыхИменПоказателей.Найти("ФаксимилеРуководитель");
			//	Если Инд= Неопределено Тогда
			//    	МассивУдаляемыхИменПоказателей.Добавить("ФаксимилеРуководитель");
			//	КонецЕсли;
			//КонецЕсли;
			//Инд = МассивИменПоказателей.Найти("ФаксимилеГлавныйБухгалтер");
			//Если Инд<> Неопределено Тогда
			//	Инд = МассивУдаляемыхИменПоказателей.Найти("ФаксимилеГлавныйБухгалтер");
			//	Если Инд= Неопределено Тогда
			//		
			//		МассивУдаляемыхИменПоказателей.Добавить("ФаксимилеГлавныйБухгалтер");
			//	КонецЕсли;
			//КонецЕсли; 
			
			
			
			
			//ОчиститьНесовместимыеФаксимиле(ТабличныйДокумент, СуффиксРисункаФаксимиле,
			//"ФаксимилеРуководитель", "ФаксимилеРуководитель", ОрганизацияЮридическоеЛицо); 
			//
			//ОчиститьНесовместимыеФаксимиле(ТабличныйДокумент, СуффиксРисункаФаксимиле,
			//"ФаксимилеГлавныйБухгалтер", "ФаксимилеГлавныйБухгалтер", ОрганизацияЮридическоеЛицо);
			//
			//	ОчиститьНесовместимыеФаксимиле(ТабличныйДокумент, СуффиксРисункаФаксимиле,
			//"ФаксимилеРуководительСчетФактура", "ФаксимилеРуководительСчетФактура", ОрганизацияЮридическоеЛицо); 
			//
			//ОчиститьНесовместимыеФаксимиле(ТабличныйДокумент, СуффиксРисункаФаксимиле,
			//"ФаксимилеГлавныйБухгалтерСчетФактура", "ФаксимилеГлавныйБухгалтерСчетФактура", ОрганизацияЮридическоеЛицо); 
			
						//Жо..а
			
			//ДокументПечатнойФормы.Руководитель   //Отвественный за оформление и т.п.
			//ДокументПечатнойФормы.ГлавныйБухгалтер   //Отвественный за оформление и т.п.
			//Рисунки	КоллекцияРисунковТабличногоДокумента	КоллекцияРисунковТабличногоДокумента
			//ФаксимилеГлавныйБухгалтер_Документ_1	РисунокТабличногоДокумента	РисунокТабличногоДокумента
			//ФаксимилеКладовщик_Документ_1	РисунокТабличногоДокумента	РисунокТабличногоДокумента
			//ФаксимилеОтветственныйЗаОформление_Документ_1	РисунокТабличногоДокумента	РисунокТабличногоДокумента
			//ФаксимилеПечать_Документ_1	РисунокТабличногоДокумента	РисунокТабличногоДокумента
			//ФаксимилеРуководитель_Документ_1	РисунокТабличногоДокумента	РисунокТабличногоДокумента
			
			Для Каждого ТекущийФаксимиле Из ТабличныйДокумент.Рисунки Цикл
				//Если СтрНайти(ТекущийФаксимиле.Имя,"Руководитель")>0 Тогда 
				//	Запомнить = ТекущийФаксимиле.Картинка;
				//КонецЕсли;	
				
				Если СтрНайти(ТекущийФаксимиле.Имя,"Кладовщик")>0 Тогда
					ТекущийФаксимиле.Картинка = Новый Картинка(ДвоичныеДанныеФаксимилеФизическогоЛица(ДокументПечатнойФормы.Руководитель),Истина);
					//ТекущийФаксимиле.ЦветЛинии = ЦветаСтиля.ТекстИнформационнойНадписи;
					//Если (ТекущийФаксимиле.Высота<6)  Тогда
						ТекущийФаксимиле.Высота = 10;
					//КонецЕсли;
					ТекущийФаксимиле.Верх=ТекущийФаксимиле.Верх+1;

					//	ТекущийФаксимиле.Высота=7.32013888888889;
					//	ТекущийФаксимиле.Верх=ТекущийФаксимиле.Верх+2;
					//КонецЕсли;
					//ТекущийФаксимиле.Картинка = Новый Картинка(ПрисоединенныйФайлФаксимилеФизическогоЛица(ДокументПечатнойФормы.Руководитель));
					//ТекущийФаксимиле.Картинка = Запомнить;
				КонецЕсли;  
				
				Если СтрНайти(ТекущийФаксимиле.Имя,"ОтветственныйЗаОформление")>0 Тогда
					ТекущийФаксимиле.Картинка = Новый Картинка(ДвоичныеДанныеФаксимилеФизическогоЛица(ДокументПечатнойФормы.Руководитель),Истина);
					//Если (ТекущийФаксимиле.Высота<6)  Тогда
						ТекущийФаксимиле.Высота = 10;
						
					//КонецЕсли;
					ТекущийФаксимиле.Верх=ТекущийФаксимиле.Верх+1;
					//ТекущийФаксимиле.ЦветЛинии = ЦветаСтиля.ТекстИнформационнойНадписи;
					//Если (ТекущийФаксимиле.Высота<6) ИЛИ (ТекущийФаксимиле.Высота>8) Тогда
					//	ТекущийФаксимиле.Высота=7.32013888888889;
					//	ТекущийФаксимиле.Верх=ТекущийФаксимиле.Верх+2;
					//КонецЕсли;
					//ТекущийФаксимиле.Картинка = Новый Картинка(ПрисоединенныйФайлФаксимилеФизическогоЛица(ДокументПечатнойФормы.Руководитель));
					//ТекущийФаксимиле.Картинка = Запомнить;
				КонецЕсли; 
				
			КонецЦикла;
			
			//Жо..а
			
			ОчиститьОбластьФаксимиле(ТабличныйДокумент, ИмяОбластиФаксимилеДокумента("ФаксимилеРуководитель", СуффиксРисункаФаксимиле));
			ОчиститьОбластьФаксимиле(ТабличныйДокумент, ИмяОбластиФаксимилеДокумента("ФаксимилеГлавныйБухгалтер", СуффиксРисункаФаксимиле));
			ОчиститьОбластьФаксимиле(ТабличныйДокумент, ИмяОбластиФаксимилеДокумента("ФаксимилеРуководительСчетФактура", СуффиксРисункаФаксимиле));
			ОчиститьОбластьФаксимиле(ТабличныйДокумент, ИмяОбластиФаксимилеДокумента("ФаксимилеГлавныйБухгалтерСчетФактура", СуффиксРисункаФаксимиле));
			
			//ДвоичныеДанныеФаксимилеФизическогоЛица(ФизическоеЛицо);
			
			
			Попытка
				ФаксимилеКладовщика = ТабличныйДокумент.Рисунки["ФаксимилеКладовщикУПД_"+СуффиксРисункаФаксимиле];
				Если ФаксимилеКладовщика.Высота<6 Тогда
            		ФаксимилеКладовщика.Высота = ФаксимилеКладовщика.Высота=7;
				КонецЕсли;
			Исключение
			КонецПопытки;
		Иначе
			//Инд = МассивУдаляемыхИменПоказателей.Найти("ФаксимилеРуководитель");
			//Если Инд<> Неопределено Тогда
			//	МассивУдаляемыхИменПоказателей.Удалить(Инд);
			//КонецЕсли;
			//Инд = МассивУдаляемыхИменПоказателей.Найти("ФаксимилеГлавныйБухгалтер");
			//Если Инд<> Неопределено Тогда
			//	МассивУдаляемыхИменПоказателей.Удалить(Инд);
			//КонецЕсли;
			
		КонецЕсли;
		
	КонецЕсли;
	//Добавил 
		
			
			
	// Вставить содержимое метода.
КонецПроцедуры
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот