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

1. zoeh 31 24.11.22 13:32 Сейчас в теме
данные запроса не обрабоать т.к. запрос получается из другой базы через com connector

мне нусжно срастить 2 переменные для последующей обработки но с условием

нормальный код:

Функция ВернутьРегНомер(СтрКонтрВх) 

		Если СокрЛП(СтрКонтрВх.АБ_НомерКонтрагента) = "" Тогда
			Возврат	СокрЛП(СтрКонтрВх.РегистрационныйНомер);
		Иначе
			Возврат	(СокрЛП(СтрКонтрВх.РегистрационныйНомер)+"/"+СокрЛП(СтрКонтрВх.АБ_НомерКонтрагента));
		КонецЕсли;
КонецФункции


вот пока что придумал в запросе но вижу что фигню написал

|ВЫБОР
		|КОГДА ВнутренниеДокументы.ОсновнойДоговор = ЗНАЧЕНИЕ(Справочник.ВнутренниеДокументы.ПустаяСсылка)
		|	ТОГДА 
		     |ВЫБОР
			 
			 
               |КОГДА СокрЛП(ВнутренниеДокументы.АБ_НомерКонтрагента) = NULL
		          |	ТОГДА 
				  		|ПРЕДСТАВЛЕНИЕ(ВнутренниеДокументы.РегистрационныйНомер)
                  |ИНАЧЕ
				        |ПРЕДСТАВЛЕНИЕ(ВнутренниеДокументы.РегистрационныйНомер)+ ""/""+ПРЕДСТАВЛЕНИЕ(ВнутренниеДокументы.АБ_НомерКонтрагента)
                  |КОНЕЦ
				  
				|ИНАЧЕ ПРЕДСТАВЛЕНИЕ(ВнутренниеДокументы.ОсновнойДоговор.РегистрационныйНомер)
				
				|ВЫБОР
               |КОГДА СокрЛП(ВнутренниеДокументы.ОсновнойДоговор.АБ_НомерКонтрагента) = NULL
		          |	ТОГДА 
				  		|ПРЕДСТАВЛЕНИЕ(ВнутренниеДокументы.ОсновнойДоговор.РегистрационныйНомер)
                  |ИНАЧЕ
				        |ПРЕДСТАВЛЕНИЕ(ВнутренниеДокументы.ОсновнойДоговор.РегистрационныйНомер)+ ""/""+ПРЕДСТАВЛЕНИЕ(ВнутренниеДокументы.ОсновнойДоговор.АБ_НомерКонтрагента)
                  |КОНЕЦ

				
		|КОНЕЦ КАК РегистрационныйНомер,
Показать
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starik-2005 3073 24.11.22 13:37 Сейчас в теме
Ща в запросах есть и СокрЛП и прочая строковая муть, так что так и пишите:
ВЫБОР КОГДА СокрЛП(ЧтоТоТам) = "" ТОГДА
  ЧтоТоТамЕще
ИНАЧЕ
  ЧтоТоТам+"/"+ЧтоТоТамЕще
КОНЕЦ КАК МояОфигенскаяСтрока
Слово "Представление" - это не Ваше слово...
3. zoeh 31 24.11.22 13:51 Сейчас в теме
Да я нашел
ВЫБРАТЬ
Контрагенты.Ссылка,
ВЫБОР
КОГДА (Контрагенты.Родитель.Код ЕСТЬ NULL ) ТОГДА Контрагенты.Код
КОГДА (Контрагенты.Родитель.Родитель.Код ЕСТЬ NULL ) ТОГДА Контрагенты.Родитель.Код + "/" + Контрагенты.Код
ИНАЧЕ Контрагенты.Родитель.Родитель.Код + "/" + Контрагенты.Родитель.Код + "/" + Контрагенты.Код
КОНЕЦ КАК ПолныйКод
ИЗ
Справочник.Контрагенты КАК Контрагенты

только в консоли запросов на + выдает ошибку


ВЫБРАТЬ
	Валюты.Наименование КАК Наименование,
	Валюты.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания,
	
	Выбор 
	Когда СокрЛП(Валюты.РеквизитДопУпорядочивания) = NULL
	 	ТОГДА 
				  		ПРЕДСТАВЛЕНИЕ(Валюты.Наименование)
				  		
				  		 ИНАЧЕ
				        Валюты.Наименование + Валюты.РеквизитДопУпорядочивания  
				     
				                   КОНЕЦ КАК Ыхъ



ИЗ
	Справочник.Валюты КАК Валюты
Показать
4. Sashares 35 24.11.22 13:53 Сейчас в теме
(3)
СокрЛП(Валюты.РеквизитДопУпорядочивания) = NULL

Не верно.


ПРЕДСТАВЛЕНИЕ(Валюты.Наименование)

Не имеет смысла.
7. RustamZz 24.11.22 13:55 Сейчас в теме
9. starik-2005 3073 24.11.22 13:56 Сейчас в теме
(7)
Строки не складываются
Кто Вам сказал? Сложение строк = конкатенация. В запросе это работает. Другое дело, что строки с циферками не складываются.
13. spacecraft 24.11.22 14:08 Сейчас в теме
(3)
только в консоли запросов на + выдает ошибку

Возможно Код числового типа. В запросе нет приведения типов из числа в строку.

PS. хотя в новых версиях платформы появилось. Строка()
5. zoeh 31 24.11.22 13:54 Сейчас в теме
Неверные параметры "+"
ИНАЧЕ Валюты.Наименование <<?>>+ Валюты.РеквизитДопУпорядочивания
10. starik-2005 3073 24.11.22 13:59 Сейчас в теме
(5) А какого типа "РеквизитДопУпорядочивания"? В современных 1Сах можно попробовать СТРОКА(РеквизитДопУпорядочивания), но это не точно...
6. zoeh 31 24.11.22 13:54 Сейчас в теме
Почему ?
ведь у меня в точности по мануалу
8. RustamZz 24.11.22 13:56 Сейчас в теме
(6) Что за мануал такой? Можно цитату.
12. zoeh 31 24.11.22 14:06 Сейчас в теме
получилось вот так
ВЫБРАТЬ
	Валюты.Наименование КАК Наименование,
	Валюты.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания,
	
	Выбор 
	Когда Валюты.РеквизитДопУпорядочивания Есть NULL
	ТОГДА 
	ПРЕДСТАВЛЕНИЕ(Валюты.Наименование)
	ИНАЧЕ Выразить(Валюты.Наименование КАК Строка(100) ) + Выразить(Валюты.Наименование КАК Строка(100) )
    КОНЕЦ КАК Ыхъ
ИЗ
	Справочник.Валюты КАК Валюты
Показать


выразить и преобразовать во вторую не получилось но теперь хотя бы есть шаблон как писать
14. Sashares 35 24.11.22 14:20 Сейчас в теме
(12)
Валюты.РеквизитДопУпорядочивания Есть NULL

Он не может быть NULL, это же реквизит справочника. Он будет только пустым значением типа. Если это число, то 0.
Оставьте свое сообщение

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