Помогите с ошибкой, куда копать?

1. smoln86 09.01.19 17:16 Сейчас в теме
Здравствуйте, имеем 1C 8.3.13.1513 УТ 11.4.6.188, так же есть расширяемая конфигурация, собственно в которой все и дело.

В заказе клиента, в табличной части добавили доп поле, в этом поле прописывается определенная информация, при сохранении,изменении, провидении, выходит ошибка - Ошибка отображения типов. Отсутствуют отображение для типа "УправляемаяФорма"

Вот сам код, помогите найти ошибку или как ее обнаружить.


&НаКлиентеНаСервереБезКонтекста
&После("РассчитатьИтоговыеПоказателиЗаказа")
Процедура СОЗРассчитатьИтоговыеПоказателиЗаказа(Форма)
	
	ДозаполнитьДанные(Форма);
	
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ДозаполнитьДанные(Форма)
Если ЗначениеЗаполнено(Форма.Объект.Ссылка) Тогда	
		//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
		// Данный фрагмент построен конструктором.
		// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
		Запрос = Новый Запрос;
		Запрос.Текст = 
			"ВЫБРАТЬ
			|	ЗаказКлиентаТовары.КодСтроки КАК КодСтроки,
			|	ЗаказКлиентаТовары.КоличествоУпаковок КАК Количество,
			|	СУММА(ЕСТЬNULL(ЗаказПоставщикуТовары.КоличествоУпаковок, 0)) КАК КоличествоЗаказано,
			|	СУММА(ЕСТЬNULL(ПриобретениеТоваровУслугТовары.КоличествоУпаковок, 0)) КАК КоличествоПоступило,
			|	СУММА(ЕСТЬNULL(РеализацияТоваровУслугТовары.КоличествоУпаковок, 0)) КАК КоличествоОтгружено
			|ИЗ
			|	Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
			|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
			|			ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
			|			ПО ЗаказПоставщикуТовары.Ссылка = ПриобретениеТоваровУслугТовары.ЗаказПоставщику
			|				И ЗаказПоставщикуТовары.КодСтроки = ПриобретениеТоваровУслугТовары.КодСтроки
			|				И (ПриобретениеТоваровУслугТовары.Ссылка.Проведен)
			|		ПО ЗаказКлиентаТовары.КодСтроки = ЗаказПоставщикуТовары.КодСтроки
			|			И ЗаказКлиентаТовары.Ссылка = ЗаказПоставщикуТовары.Назначение.Заказ
			|			И (ЗаказПоставщикуТовары.Ссылка.Проведен)
			|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
			|		ПО ЗаказКлиентаТовары.КодСтроки = РеализацияТоваровУслугТовары.КодСтроки
			|			И ЗаказКлиентаТовары.Ссылка = РеализацияТоваровУслугТовары.ЗаказКлиента
			|			И (РеализацияТоваровУслугТовары.Ссылка.Проведен)
			|ГДЕ
			|	ЗаказКлиентаТовары.Ссылка = &Ссылка
			|
			|СГРУППИРОВАТЬ ПО
			|	ЗаказКлиентаТовары.КоличествоУпаковок,
			|	ЗаказКлиентаТовары.КодСтроки";
		
		Запрос.УстановитьПараметр("Ссылка", Форма.Объект.Ссылка);
		
		РезультатЗапроса = Запрос.Выполнить();
		
		Выборка = РезультатЗапроса.Выбрать();
		
		//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
	КонецЕсли;

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

Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. spacecraft 09.01.19 17:35 Сейчас в теме
(1) с клиента пытаетесь передать клиентскую форму на сервер.
Как вариант:
&НаКлиентеНаСервереБезКонтекста
&После("РассчитатьИтоговыеПоказателиЗаказа")
Процедура СОЗРассчитатьИтоговыеПоказателиЗаказа(Форма)
    #Если Сервер Тогда
    ДозаполнитьДанные(Форма);
    #КонецЕсли
КонецПроцедуры
Показать

Но все же не совсем правильную точку подключения выбрали.

Или так лучше:
&НаКлиентеНаСервереБезКонтекста
&После("РассчитатьИтоговыеПоказателиЗаказа")
Процедура СОЗРассчитатьИтоговыеПоказателиЗаказа(Форма)

    ДозаполнитьДанные(Форма.Объект.Ссылка);

КонецПроцедуры
Показать

Соответственно в ДозаполнитьДанные(Ссылка). Использовать уже ссылку, а не форму.
5. smoln86 10.01.19 17:05 Сейчас в теме
(3)
&НаКлиентеНаСервереБезКонтекста
&После("РассчитатьИтоговыеПоказателиЗаказа")
Процедура СОЗРассчитатьИтоговыеПоказателиЗаказа(Форма)
    #Если Сервер Тогда
    ДозаполнитьДанные(Форма);
    #КонецЕсли
КонецПроцедуры
Показать


так работает, но когда сохраняешь то все поля очищаются, потом заново открываешь документ все на месте

насчет этого "Соответственно в ДозаполнитьДанные(Ссылка). Использовать уже ссылку, а не форму." не понял немного, где нужно поменять?
6. spacecraft 10.01.19 17:21 Сейчас в теме
(5) менять нужно логику решения. Или искать точку подключения чисто серверную, или получать данные с сервера без привязки к форме и уже в СОЗРассчитатьИтоговыеПоказателиЗаказа заполнять данные формы.
4. oleg-x 26 09.01.19 23:12 Сейчас в теме
(1) Как писали выше, нельзя передавать форму с клиента на сервер и обратно.
Либо убирайте "БезКонтекста" и обращайтесь к форме сразу с сервера (если позволяет основная процедура), либо переписывайте.
2. Boneman 298 09.01.19 17:22 Сейчас в теме
ну так и копайте в сторону того что накрутили.
Что за поле добавили, какой тип...и т.п.
не все типы могут отображаться на форме.
Оставьте свое сообщение

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