Автозаполнение Ответственного за правильность оформления факта хозяйственной жизни БП 2.0

22.08.17

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

Автозаполнение ответственного за правильность оформления факта хозяйственной жизни в УПД Бухгалтерия 2.0

ОбщийМодульОбщего назначения меняем

Функция ОтветственныеЛица(Организация, ДатаСреза, Подразделение = Неопределено) Экспорт
	
	СобиратьПоОрганизации = Истина;
	Результат = Новый Структура("Руководитель, РуководительДолжность, РуководительФИО, РуководительПредставление, 
								|ГлавныйБухгалтер, ГлавныйБухгалтерДолжность, ГлавныйБухгалтерФИО, ГлавныйБухгалтерПредставление, 
								|Кассир, КассирДолжность, КассирФИО, КассирПредставление,  
								|УПД, УПДДолжность, УПДФИО, УПДПредставление,
								|ОтветственныйЗаРегистры, ОтветственныйЗаРегистрыДолжность, ОтветственныйЗаРегистрыФИО, ОтветственныйЗаРегистрыПредставление");

	Если Организация <> Неопределено тогда

		ЗапросПоЛицам = Новый Запрос();
		ЗапросПоЛицам.УстановитьПараметр("ДатаСреза",   ДатаСреза);
		ЗапросПоЛицам.УстановитьПараметр("Организация", Организация);
		ЗапросПоЛицам.УстановитьПараметр("ПризнакФизЛица",   Перечисления.ЮрФизЛицо.ФизЛицо);
		
		ЗапросПоЛицам.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
		                      |	ФИОФизЛицСрезПоследних.Фамилия,
		                      |	ФИОФизЛицСрезПоследних.Имя,
		                      |	ФИОФизЛицСрезПоследних.Отчество,
		                      |	ФИОФизЛицСрезПоследних.ФизЛицо КАК ФизическоеЛицо
		                      |ИЗ
		                      |	РегистрСведений.ФИОФизЛиц.СрезПоследних(&ДатаСреза, ) КАК ФИОФизЛицСрезПоследних
		                      |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации
		                      |		ПО ФИОФизЛицСрезПоследних.ФизЛицо = Организации.ИндивидуальныйПредприниматель
		                      |			И (Организации.Ссылка = &Организация)
		                      |			И (Организации.ЮрФизЛицо = &ПризнакФизЛица)";
		
		Руководители = ЗапросПоЛицам.Выполнить().Выбрать();
		
		Пока Руководители.Следующий() Цикл
			
			ФИО = Новый Структура("Фамилия, Имя, Отчество, Представление");
			Если НЕ (НЕ ЗначениеЗаполнено(Руководители.Фамилия) или Руководители.Фамилия = NULL) Тогда
				ФИО.Фамилия = Руководители.Фамилия;
			КонецЕсли;
			Если НЕ (НЕ ЗначениеЗаполнено(Руководители.Имя) или Руководители.Имя = NULL) Тогда
				ФИО.Имя = Руководители.Имя;
			КонецЕсли;
			Если НЕ (НЕ ЗначениеЗаполнено(Руководители.Отчество) или Руководители.Отчество = NULL) Тогда
				ФИО.Отчество = Руководители.Отчество;
			КонецЕсли;
			Представление = ПолучитьФамилиюИмяОтчество(ФИО.Фамилия, ФИО.Имя, ФИО.Отчество);
			
			Результат.Руководитель               = Руководители.ФизическоеЛицо;
			Результат.РуководительДолжность      = "";
			Результат.РуководительФИО            = ФИО;
			Результат.РуководительПредставление  = Представление;
			
		КонецЦикла;
		
		Если СобиратьПоОрганизации Тогда
			
			ЗапросПоЛицам.Текст = 
			"ВЫБРАТЬ РАЗРЕШЕННЫЕ
			|	ОтветственныеЛицаОрганизацийСрезПоследних.ОтветственноеЛицо,
			|	ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо,
			|	ОтветственныеЛицаОрганизацийСрезПоследних.Должность,
			|	ФИОФизЛицСрезПоследних.Фамилия,
			|	ФИОФизЛицСрезПоследних.Имя,
			|	ФИОФизЛицСрезПоследних.Отчество
			|ИЗ
			|	РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних(&ДатаСреза, СтруктурнаяЕдиница = &Организация) КАК ОтветственныеЛицаОрганизацийСрезПоследних
			|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&ДатаСреза, ФизЛицо ССЫЛКА Справочник.ФизическиеЛица) КАК ФИОФизЛицСрезПоследних
			|		ПО ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо = ФИОФизЛицСрезПоследних.ФизЛицо";
			Руководители = ЗапросПоЛицам.Выполнить().Выбрать();
		КонецЕсли;

		Пока Руководители.Следующий() Цикл

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

			ИначеЕсли Руководители.ОтветственноеЛицо = Перечисления.ОтветственныеЛицаОрганизаций.ГлавныйБухгалтер Тогда
				Результат.ГлавныйБухгалтер           = Руководители.ФизическоеЛицо;
				Результат.ГлавныйБухгалтерДолжность  = Руководители.Должность;
                Результат.ГлавныйБухгалтерФИО        = ФИО;
				Результат.ГлавныйБухгалтерПредставление  = Представление;
				
			ИначеЕсли Руководители.ОтветственноеЛицо = Перечисления.ОтветственныеЛицаОрганизаций.Кассир Тогда
				Результат.Кассир                     = Руководители.ФизическоеЛицо;
				Результат.КассирДолжность      		 = Руководители.Должность;
                Результат.КассирФИО            		 = ФИО;
				Результат.КассирПредставление  = Представление;
				
			ИначеЕсли Руководители.ОтветственноеЛицо = Перечисления.ОтветственныеЛицаОрганизаций.УПД Тогда
				Результат.УПД                     = Руководители.ФизическоеЛицо;
				Результат.УПДДолжность      		 = Руководители.Должность;
                Результат.УПДФИО            		 = ФИО;
				Результат.УПДПредставление  = Представление;

				
			ИначеЕсли Руководители.ОтветственноеЛицо = Перечисления.ОтветственныеЛицаОрганизаций.ОтветственныйЗаНалоговыеРегистры Тогда
				Результат.ОтветственныйЗаРегистры    = Руководители.ФизическоеЛицо;
				Результат.ОтветственныйЗаРегистрыДолжность      = Руководители.Должность;
				Результат.ОтветственныйЗаРегистрыФИО = ФИО;
				Результат.ОтветственныйЗаРегистрыПредставление  = Представление;

			КонецЕсли;

		КонецЦикла;

	КонецЕсли;

	Возврат Результат;

КонецФункции

 

 

Документ Реализация товаров и услуг меняем

Процедура УстановитьРуководителяИГлавногоБухгалтера()
	
	Организация = ЭтотОбъект.Организация;
	Если Организация = Справочники.Организации.ПустаяСсылка() Тогда 
		Возврат;
	КонецЕсли;
	
	ДанныеУполномоченногоЛица = ОбщегоНазначения.ПолучитьДанныеУполномоченногоЛица(Организация, ЭтотОбъект.Ответственный);
	ОтветственныеЛица = ОбщегоНазначения.ОтветственныеЛица(Организация, ЭтотОбъект.Дата);
	
	Если ДанныеУполномоченногоЛица = Неопределено Тогда 
		ЭтотОбъект.Руководитель = ОтветственныеЛица.Руководитель;
		ЭтотОбъект.ГлавныйБухгалтер = ОтветственныеЛица.ГлавныйБухгалтер;
		ЭтотОбъект.ОтветственныйЗаОформление = ОтветственныеЛица.УПД ;
		ЭтотОбъект.ЗаРуководителяПоПриказу = "";
		ЭтотОбъект.ЗаГлавногоБухгалтераПоПриказу = "";
	Иначе
		ЭтотОбъект.Руководитель = ?(ДанныеУполномоченногоЛица.Руководитель=Неопределено,ОтветственныеЛица.Руководитель,ДанныеУполномоченногоЛица.Руководитель);
		ЭтотОбъект.ОтветственныйЗаОформление = ?(ДанныеУполномоченногоЛица.УПД=Неопределено,ОтветственныеЛица.УПД,ДанныеУполномоченногоЛица.УПД);
		ЭтотОбъект.ГлавныйБухгалтер = ?(ДанныеУполномоченногоЛица.ГлавныйБухгалтер=Неопределено,ОтветственныеЛица.ГлавныйБухгалтер,ДанныеУполномоченногоЛица.ГлавныйБухгалтер);
		ЭтотОбъект.ЗаРуководителяПоПриказу = ?(ДанныеУполномоченногоЛица.Руководитель=Неопределено,"",ДанныеУполномоченногоЛица.ПриказРуководитель);
		ЭтотОбъект.ЗаГлавногоБухгалтераПоПриказу = ?(ДанныеУполномоченногоЛица.ГлавныйБухгалтер=Неопределено,"",ДанныеУполномоченногоЛица.ПриказГлавныйБухгалтер);
	КонецЕсли;
	
КонецПроцедуры

 

ответственый упд

См. также

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

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

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

29400 руб.

29.06.2023    4977    11    5    

20

Расширение для 1С:УНФ. Автоматическое снятие резервов в Заказах покупателей

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

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

7200 руб.

02.08.2023    3350    6    0    

24

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

Универсальные функции Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

21.05.2024    9703    dimanich70    79    

117

Вставляем картинку из буфера обмена (платформа 1С 8.3.24)

Универсальные функции Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    3230    3    John_d    11    

57

Переоткрытие внешних обработок

Универсальные функции Программист Платформа 1С v8.3 Бесплатно (free)

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

30.11.2023    4578    ke.92@mail.ru    16    

64
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user900448 26.01.18 13:42 Сейчас в теме
при формировании УПД выдает

{ОбщийМодуль.ОбщегоНазначения.Модуль(7585)}: Поле объекта не обнаружено (УПД)
ИначеЕсли Руководители.ОтветственноеЛицо = Перечисления.ОтветственныеЛицаОрганизаций.УПД Тогда
Оставьте свое сообщение