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