При нажатии на кнопку нужно создавать документы на выбранную дату

1. Гость 30.03.21 15:33
Во внешней обработке нужно, чтобы при выборе даты и нажатие на кнопку Создать документы БУ, новый документ создавался выбранной датой. Как это сделать помогите пожалуйста
&НаСервере
Процедура СоздатьДокументыБУНаСервере()
	
	Для Каждого СтрокаДерева Из ДокументыДерево.ПолучитьЭлементы() Цикл
		
	
		НачатьТранзакцию(РежимУправленияБлокировкойДанных.Управляемый);
		
		ДокументУУ = СтрокаДерева.ДокументУУ;
		
		Блокировка = Новый БлокировкаДанных;
		ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.стр_СвязиДокументовУУ_БУ");
		ЭлементБлокировки.УстановитьЗначение("ДокументУУ", ДокументУУ);
		ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
		Блокировка.Заблокировать(); 
		
		МенеджерЗаписи = РегистрыСведений.стр_СвязиДокументовУУ_БУ.СоздатьМенеджерЗаписи();
		МенеджерЗаписи.ДокументУУ = ДокументУУ;
		
		МенеджерЗаписи.ДокументБУ = СтрокаДерева.ДокументБУ;
		
		МенеджерЗаписи.Прочитать();
		Если МенеджерЗаписи.Выбран() Тогда
			
			ЗаполнитьЗначенияСвойств(СтрокаДерева, МенеджерЗаписи);	
			
		КонецЕсли;
		
		
		Если (ЗначениеЗаполнено(СтрокаДерева.ДокументБУ) ИЛИ ЗначениеЗаполнено(СтрокаДерева.ДокументБУДав)) И НЕ Объект.ПерезаполнятьСозданные Тогда
			ОтменитьТранзакцию();
			Продолжить;
		КонецЕсли;
		
		Если ((ЗначениеЗаполнено(СтрокаДерева.ДокументБУ) И СтрокаДерева.ДокументБУ.Проведен) ИЛИ
			(ЗначениеЗаполнено(СтрокаДерева.ДокументБУДав) И СтрокаДерева.ДокументБУДав.Проведен))
			И НЕ Объект.ПерезаполнятьПроведенные Тогда
			ОтменитьТранзакцию();
			Продолжить;
		КонецЕсли;
		
		
		МетаданныеДокумента = СтрокаДерева.ДокументУУ.Метаданные();
		
		ОшибкаОтображения = "";
		
		
		ПараметрыДляОтображения = стр_ОМТС_Сервер.ФБД_ПараметрыДляОтображенияВБухДокумент();
		
		ПараметрыДляОтображения.Вставить("Документ", СтрокаДерева.ДокументУУ);
		ПараметрыДляОтображения.Вставить("БухДокументСсылка", СтрокаДерева.ДокументБУ);
		ПараметрыДляОтображения.Вставить("БухДокументСсылкаДав", СтрокаДерева.ДокументБУДав);
		ПараметрыДляОтображения.Вставить("СПартиями", Объект.СписаниеПоДокументамПартий);
		
		ДокументСоздан = Документы[МетаданныеДокумента.Имя].ОтобразитьВБухгалтерскийДокумент(ПараметрыДляОтображения, ОшибкаОтображения);
		
		СтрокаДерева.ДокументБУ = ПараметрыДляОтображения.БухДокументСсылка;
		СтрокаДерева.ДокументБУДав = ПараметрыДляОтображения.БухДокументСсылкаДав;
		
		
		
		       
		Если ДокументСоздан Тогда
			
			ЗафиксироватьТранзакцию();
			
		Иначе
			
			ОтменитьТранзакцию();
			
		КонецЕсли;
		

		СтрокаДерева.БУПроведен = ?(Не СтрокаДерева.ДокументБУ = Неопределено, 
		стр_ОМТС_Сервер.ПолучитьЗначениеРеквизитаОбъектаПоСсылке(СтрокаДерева.ДокументБУ, "Проведен"), Ложь);
		СтрокаДерева.БУДавПроведен = ?(Не СтрокаДерева.ДокументБУДав = Неопределено, 
		стр_ОМТС_Сервер.ПолучитьЗначениеРеквизитаОбъектаПоСсылке(СтрокаДерева.ДокументБУДав, "Проведен"), Ложь);
		
		НовСтр = ТаблоСообщений.Добавить();
		НовСтр.Ошибка = Не ДокументСоздан;
		НовСтр.Текст = ОшибкаОтображения;	
		
		
	КонецЦикла;
	
	Если ТаблоСообщений.Количество() Тогда
		Элементы.ТаблоСообщений.Видимость = Истина;
	КонецЕсли;
	
КонецПроцедуры
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. sssss_aaaaa_2011 30.03.21 15:44 Сейчас в теме
1. При нажатиИ (для проверки смотри как написаны ПриОткрытии, ПриСоздании и т.д.)
2. "создавался выбранной датой" - выбранной где/как?
3. Где-то перед завершением транзакции получи созданный документ, поставь в нём нужную дату, сохрани с проведением.
3. DenisVol 3 30.03.21 15:45 Сейчас в теме
Там где создаете документ. пишите документ.дата = ВыбраннаяДата;
4. ive 3 30.03.21 16:04 Сейчас в теме
документ.дата = ВыбраннаяДата;

в бит_стр_ОМТС_Сервер.ФБД_ПараметрыДляОтображенияВБухДокумент()
5. Гость 30.03.21 18:12
Можно объяснить по подробнее?
(4)
6. ive 3 30.03.21 22:11 Сейчас в теме
(5) Посмотрите функцию ФБД_ПараметрыДляОтображенияВБухДокумент() в модуле бит_стр_ОМТС_Сервер
7. Гость 30.03.21 22:17
(6)
Функция ФБД_ПараметрыДляОтображенияВБухДокумент() Экспорт
	
	ПараметрыДляОтображения = Новый Структура;
	
	ПараметрыДляОтображения.Вставить("Документ", Неопределено);
	ПараметрыДляОтображения.Вставить("БухДокументСсылка", Неопределено);
	ПараметрыДляОтображения.Вставить("БухДокументСсылкаДав", Неопределено);
	ПараметрыДляОтображения.Вставить("СПартиями", Ложь);
	ПараметрыДляОтображения.Вставить("НеотфактурованнаяПоставка", Ложь);
	ПараметрыДляОтображения.Вставить("СворачиватьСтрокиВАвансовомОтчете", Ложь);
	
	ПараметрыДляОтображения.Вставить("ГруппироватьДанныеВБухучете", Ложь);
	ПараметрыДляОтображения.Вставить("ДатаНачала", '00010101');
	ПараметрыДляОтображения.Вставить("ДатаОкончания", '00010101');
	
	
	Возврат ПараметрыДляОтображения;
		
КонецФункции
Показать
8. ive 3 30.03.21 22:37 Сейчас в теме
(7) Модуль менеджера документа который обрабатывается, там функция ОтобразитьВБухгалтерскийДокумент
9. Гость 30.03.21 22:58
(8) Больше нигде эта функция не встречается
ПараметрыДляОтображения = стр_ОМТС_Сервер.ФБД_ПараметрыДляОтображенияВБухДокумент();
		Документ.Дата = Элементы.ДатаСозданияБухгалтерскихДокументов;
		ПараметрыДляОтображения.Вставить("Документ", СтрокаДерева.ДокументУУ);
		ПараметрыДляОтображения.Вставить("БухДокументСсылка", СтрокаДерева.ДокументБУ);
		ПараметрыДляОтображения.Вставить("БухДокументСсылкаДав", СтрокаДерева.ДокументБУДав);
		ПараметрыДляОтображения.Вставить("СПартиями", Объект.СписаниеПоДокументамПартий);
		
		ДокументСоздан = Документы[МетаданныеДокумента.Имя].ОтобразитьВБухгалтерскийДокумент(ПараметрыДляОтображения, ОшибкаОтображения);
		
		СтрокаДерева.ДокументБУ = ПараметрыДляОтображения.БухДокументСсылка;
		СтрокаДерева.ДокументБУДав = ПараметрыДляОтображения.БухДокументСсылкаДав;
	           
		Если ДокументСоздан Тогда
			
			ЗафиксироватьТранзакцию();
			
		Иначе
			
			ОтменитьТранзакцию();
			
		КонецЕсли;
Показать
10. ive 3 31.03.21 08:48 Сейчас в теме
Как я понимаю в ПараметрыДляОтображения необходимо добавить новый параметр:
ПараметрыДляОтображения.Вставить("ДатаДокументаБУ", Элементы.ДатаСозданияБухгалтерскихДокументов);


Далее смотреть обработку данных параметров в модуле менеджера документа:
ДокументСоздан = Документы[МетаданныеДокумента.Имя].ОтобразитьВБухгалтерскийДокумент(ПараметрыДляОтображения, ОшибкаОтображения);

необходимо в конфигурации найти документ, который создается в обработке, с модуле менеджера в функции ОтобразитьВБухгалтерскийДокумент добавить обработку параметра ДатаДокументаБУ вида :
Документ.Дата = ПараметрыДляОтображения.ДатаДокументаБУ;
более точно, нужен текст функции ОтобразитьВБухгалтерскийДокумент(ПараметрыДляОтображения, ОшибкаОтображения)
11. Гость 31.03.21 08:53
(10)Спасибо огромное)
Внимание! Не забывайте отмечать решение на ваш вопрос, если оно найдено. Это повысит ваш рейтинг на форуме.
Оставьте свое сообщение

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