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 8 09.01.19 23:12 Сейчас в теме
(1) Как писали выше, нельзя передавать форму с клиента на сервер и обратно.
Либо убирайте "БезКонтекста" и обращайтесь к форме сразу с сервера (если позволяет основная процедура), либо переписывайте.
2. Boneman 214 09.01.19 17:22 Сейчас в теме
ну так и копайте в сторону того что накрутили.
Что за поле добавили, какой тип...и т.п.
не все типы могут отображаться на форме.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Нижний Новгород
зарплата до 120 000 руб.
Полный день

Программист 1С
Волгоград
зарплата от 45 000 руб. до 90 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Консультант-аналитик 1С
Москва
зарплата от 70 000 руб. до 100 000 руб.
Полный день

Программист 1С
Москва
зарплата от 80 000 руб. до 120 000 руб.
Временный (на проект)