Не получается запросом выгрузить два справочника

1. antonal123 05.06.18 03:25 Сейчас в теме
Доброго времени суток!
Есть две самописных конфигурации, есть необходимость по нажатию на кнопку в первой конфигурации, получать справочники Номенклатура и ЕдиницыИзмерения со второй конфигурации. Справочники получаются через веб - сервис. При получении справочников на первой конфигурации, должны создаваться элементы справочников, которых нет в этой конфиге.

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


При исполнении этого запроса, возвращается следующая таблица: прикреплена

Вот код обрабатывающий эту таблицу на клиенте(мобильном приложении которое запрашивает справочники)
&НаСервереБезКонтекста
Процедура ПолучитьНоменклатуруССервераНаСервере(Nom)
	Соединение = WSСсылки.SelectNomForServer.СоздатьWSПрокси("SelectNofForServer","SelectNofForServer","SelectNofForServerSoap");
	Операция = Соединение.ТочкаПодключения.Интерфейс.Операции.Получить("SelectNofForServer");
	СтруктураДанных = Соединение.ФабрикаXDTO.Создать(Операция.Параметры.Получить("Nom").Тип);
	Ответ = Соединение.SelectNofForServer(Nom);
	ТЗНоменклатура = Десериализовать(Ответ);

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


Вот собственно проблема, как должен выглядеть запрос на стороне конфигурации которая отдает справочники, что бы он отдавал значения обоих справочников, не связывая таблицы и как правильно это обработать на клиенте ?
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
7. PhoenixAOD 62 05.06.18 04:09 Сейчас в теме
Руки бы оторвать кто это сделал) Тогда 2 Временных таблицы в одно данные по номнеклатуре, во второй по ед. измерения. и потом левым соединением с номенклатуре присоединяем единицы.
antonal123; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. PhoenixAOD 62 05.06.18 03:28 Сейчас в теме
(1)А что Вас собственно в картинке смущает?
3. antonal123 05.06.18 03:30 Сейчас в теме
(2) То что сначала выдаются повторяющиеся(!) единицы измерения, которые соответствуют номенклатуре
4. PhoenixAOD 62 05.06.18 03:36 Сейчас в теме
(3) Ну так связывайте тогда ед.измерения.Владелец.ссылка = номенклатура.ссылка.
5. antonal123 05.06.18 03:57 Сейчас в теме
(4) Выдает такую ошибку
Прикрепленные файлы:
6. antonal123 05.06.18 04:00 Сейчас в теме
(4) Реквизит не активен
Прикрепленные файлы:
7. PhoenixAOD 62 05.06.18 04:09 Сейчас в теме
Руки бы оторвать кто это сделал) Тогда 2 Временных таблицы в одно данные по номнеклатуре, во второй по ед. измерения. и потом левым соединением с номенклатуре присоединяем единицы.
antonal123; +1 Ответить
9. antonal123 05.06.18 08:06 Сейчас в теме
8. catena 110 05.06.18 05:41 Сейчас в теме
В приемнике при создании единицы проверять существование этой единицы.
Либо
В приемнике сначала создавать отсутствующую номенклатуру, потом отсутствующие единицы.
Оставьте свое сообщение

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