Не создается нужная форма

1. user1299321 15.03.21 15:45 Сейчас в теме
Доброго времени суток. Конфа УТ 11.4
Мне нужно создать документ Ввод начальных остатков задолженности клиентов на основании табличной части (уже есть рассчитанная), но почему то создается форма не РасчетыСПартнерами, а Товары. Не могу понять почему. Вроде в параметрах передаю ТипОперации, на основании которой должна открываться нужная форма, но что то пошло не так. помогите разобраться.
Спасибо;)

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

	НС.ДатаПлатежа = Дата;
	КонецЦикла;
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьДокументЗК(Команда)
		
	ЗначенияЗаполнения = Новый Структура;
	ЗначенияЗаполнения.Вставить("Дата",               		 Дата);
	ЗначенияЗаполнения.Вставить("ТипОперации",               ТипОперации());
	ЗначенияЗаполнения.Вставить("Организация",               Объект.Организация); 
	ЗначенияЗаполнения.Вставить("ОтражатьВОперативномУчете", Ложь);
	ЗначенияЗаполнения.Вставить("ОтражатьВБУиНУ",            Ложь);
	ЗначенияЗаполнения.Вставить("ОтражатьВУУ",               Ложь);
		
	ОткрытьФорму("Документ.ВводОстатков.Форма.ФормаРасчетыСПартнерами", ЗначенияЗаполнения); //СМ ЗДЕСЬ
	СоздатьДокументЗКНаСервере();
КонецПроцедуры

&НаСервере
Функция ТипОперации ()    
	Возврат Перечисления.ТипыОперацийВводаОстатков.ОстаткиЗадолженностиКлиентов;
КонецФункции

Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Nubsdale 15.03.21 15:49 Сейчас в теме
(1) попробуйте поставить точки остановок и пройтись отладчиком. Возможно поймете где и почему открывается другая форма
3. FatPanzer 15.03.21 15:52 Сейчас в теме
И не стоит принудительно ходить на сервер за значением перечисления, его вполне можно получить на клиенте.
4. FatPanzer 15.03.21 15:53 Сейчас в теме
Интересно вы - открываете пустую форму на клиенте, а потом идете на сервер и создаете какой-то документ, который к этой форме вообще никаким боком...
5. FatPanzer 15.03.21 15:59 Сейчас в теме
А вообще - курите модуль менеджера документа "ВводОстатков", там есть прекрасный обработчик ОбработкаПолученияФормы(), который и переопределяет вам открываемую форму.
Оставьте свое сообщение

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