0
Fedor-1971
23.04.14
✎
10:20
|
Доброго дня!
В документе при оплате необходимо различать строки табличной части, для чего используется УникальныйИдентификатор
Наступил на грабли, там где не ожидал:
тип УникальныйИдентификатор - замечательно сохраняется в регистре сведений, а в регистре накопления может храниться только в виде строки.
При попытке запросом соединить ТЧ и регистр накопления получаем следующую ошибку:
"Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И (Усл.УслУникИД <<?>>= ОстаткиДляОплатыУслугОстатки.УникИД"
Что логично: Усл.УслУникИД - уникальный идентификатор, а ОстаткиДляОплатыУслугОстатки.УникИД - строка, но привести уникальный диентификатор к типу СТРОКА через Выразить(тэоУслугаРеальныеУслуги.УникИД как строка(50)), получаем ошибку "несовместимые типы данных".
Есть ли возможность преобразовать УникальныйИдентификатор в строку прямо в запросе или придётся изменить саму логику получения данных? например, через разбиение одного запроса на 2.
Текст запроса:
"ВЫБРАТЬ
| ОстаткиДляОплатыУслугОстатки.Услуга КАК Услуга,
| ОстаткиДляОплатыУслугОстатки.ОстатокОстаток КАК Осталось,
| ОстаткиДляОплатыУслугОстатки.УникИД КАК УникИД,
| Усл.ВидУслуги КАК ВидУслуги,
| Усл.Валюта КАК Валюта,
| Усл.Ставка КАК Ставка,
| Усл.СтавкаПриведенная КАК СтавкаПриведенная,
| Усл.Описание КАК Описание,
| Усл.Ссылка
|ИЗ
| РегистрНакопления.ОстаткиДляОплатыУслуг.Остатки(&ТекДата, Услуга В (&масУслуг)) КАК ОстаткиДляОплатыУслугОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| тэоУслугаРеальныеУслуги.Ссылка КАК Ссылка,
| тэоУслугаРеальныеУслуги.ВидУслуги КАК ВидУслуги,
| тэоУслугаРеальныеУслуги.Описание КАК Описание,
| тэоУслугаРеальныеУслуги.Валюта КАК Валюта,
| тэоУслугаРеальныеУслуги.Ставка КАК Ставка,
| тэоУслугаРеальныеУслуги.СтавкаПриведенная КАК СтавкаПриведенная,
| тэоУслугаРеальныеУслуги.УникИД КАК УслУникИД
| ИЗ
| Документ.тэоУслуга.РеальныеУслуги КАК тэоУслугаРеальныеУслуги) КАК Усл
| ПО (Усл.Ссылка = ОстаткиДляОплатыУслугОстатки.Услуга.Ссылка)
| И (Усл.УслУникИД = ОстаткиДляОплатыУслугОстатки.УникИД)
|ГДЕ
| ОстаткиДляОплатыУслугОстатки.ОстатокОстаток > 0
|
|УПОРЯДОЧИТЬ ПО
| Услуга,
| УникИД";
|
|
3
Fedor-1971
23.04.14
✎
10:29
|
(1) спасибо, буду думать, как выбрать данные
(2) в РС - без проблем сохраняется как УникальныйИдентификатор, а в РО как строка, была мысль в документе сохранить УникальныйИдентификатор как строку, но так делать как-то коряво
|
|