|
Поля неограниченной длины во внешней таблице запроса | ☑ | ||
---|---|---|---|---|
0
Cоляпсус
25.05.18
✎
14:50
|
Добрый день уважаемые. Сложилась такая ситуация. Сделал запрос, в нём срастил две таблицы, внешнюю ТЗ и РегистрНакопления.
http://prntscr.com/jmgq4t Ситуация такова: при попытке сформировать выдаёт ошибку, что нельзя сравнивать поля неограниченной длины и поля несовместимых типов. http://prntscr.com/jmgow6 я теоретически понимаю что это может быть так, но ни разу не сталкивался с таким и не знаю что делать. Буду благодарен если подскажите. Может регистр тоже сначала в ВТ загнать, а потом соединить? Может поможет? Хотя не уверен конечно Заранее спасибо |
|||
1
PR
25.05.18
✎
14:51
|
ВЫРАЗИТЬ
И длины, а не длинны |
|||
2
lodger
25.05.18
✎
14:51
|
(0) нет. не поможет. нельзя сравнивать поля неограниченной длины
|
|||
3
Cоляпсус
25.05.18
✎
14:54
|
(1) Выразить строку сравнения?
Да я в роде длины и написал |
|||
4
Cool_Profi
25.05.18
✎
14:55
|
(3) Пишется "вроде" ))))
НАПИШИ ГДЕ ВЫРАЗИТЬ(ДлиннннннаяСтрока КАК Строка(100)) = ВнешнийИсточник.Реквизит Вместо 100 подставь нужное значение |
|||
5
DrShad
25.05.18
✎
15:01
|
+(4) максимум 1024
|
|||
6
Cоляпсус
25.05.18
✎
15:02
|
(4) Ну тут согласен, косякнул)))) Быстро набираю иногда не слежу)))
А вместо 100 какое значение поставить типа ВТТовары.Номенклатура? |
|||
7
Cоляпсус
25.05.18
✎
15:13
|
100 - это ведь длинна строки имеется в виду?
|
|||
8
Cоляпсус
25.05.18
✎
15:19
|
http://prntscr.com/jmh538
что-то всёравно не нравится, ошибка перестала вылезать, а запросы стали пустые возвращаться. Или я не то и не там написал. Вроде во всемирном мозге смотрел, там тоже самое, примерно) |
|||
9
dezss
25.05.18
✎
15:22
|
(6) Какого типа ВТТовары.Номенклатура и СебестоимостьТовара.АналитикаУчетаНоменклатуры.Номенклатура какого?
|
|||
10
dezss
25.05.18
✎
15:23
|
(9) +Может тебе стоит сравнивать ВТТовары.Номенклатура.Наименование с твоей аналитикой?
|
|||
11
singlych
25.05.18
✎
15:32
|
Вангую что во внешней ТЗ Номенклатура - строка.
Сделай ссылку. |
|||
12
Cоляпсус
25.05.18
✎
15:36
|
(10) ВТТОвары.Номенклатура = СебестоимостьТоваров.АналитикаУчетаНоменклатуры - я вот так пробовал не помогает. Так не могу сдеать ВТТовары.Номенклатура.Наименование - пишет тогда поле не найдено.
|
|||
13
Cоляпсус
25.05.18
✎
15:36
|
(11) Преобразовать в ссылку?
|
|||
14
Cоляпсус
25.05.18
✎
15:38
|
(12) Как сделать ссылку, у меня же её нет в ВТТовары?
|
|||
15
Cоляпсус
25.05.18
✎
15:39
|
ВТТовары - это и есть внешняя ТЗ
|
|||
16
singlych
25.05.18
✎
15:40
|
(13) Внешнюю ТЗ ты откуда брал?
|
|||
17
Cоляпсус
25.05.18
✎
15:46
|
http://prntscr.com/jmhk39 вот так я по идее её получил
|
|||
18
Cоляпсус
25.05.18
✎
15:47
|
Если пытаюсь выразить, выдаёт такую ошибку
http://prntscr.com/jmhilw похоже необходимо что-то ещё дописать |
|||
19
hhhh
25.05.18
✎
15:51
|
(18) в этой строчке у тебя 38 ошибок. Это рекорд.
|
|||
20
singlych
25.05.18
✎
15:56
|
Сделай шаг после точки останова в (17) и напиши в табло
ТипЗнч(ВыборкаТоварыСтрок[0].Номенклатура) Че за тип? |
|||
21
lodger
25.05.18
✎
15:57
|
(17) зачем стоматологов мучают 1ской?
|
|||
22
dezss
25.05.18
✎
16:00
|
(20) да строка у него там, походу...
ну что ж, у нас новый ливинг стар!!! (17) Тебе надо еще узнать тип СебестоимостьТовара.АналитикаУчетаНоменклатуры.Номенклатура. Если это номенклатура, то можешь сравнивать так: Выразить(ВТТовары.Номенклатура как строка(200)) = СебестоимостьТовара.АналитикаУчетаНоменклатуры.Номенклатура.Наименование Но я бы вообще так не делал. Это глупо и неправильно) |
|||
23
Cоляпсус
25.05.18
✎
16:02
|
(22) Подскажешь правильный выход?
|
|||
24
Cоляпсус
25.05.18
✎
16:09
|
(20) Хм он пишет NULL, а всё по тому что выглядит так, поэтому по ходу и ошибка
http://prntscr.com/jmhwgh |
|||
25
dezss
25.05.18
✎
16:11
|
(24) тогда проще...надо узнать, почему там есть null. Либо убрать его, либо исключить в самом запросе через конструкцию ЕстьNull()
|
|||
26
Cоляпсус
25.05.18
✎
16:28
|
(25) в при выгрузке из результата запроса, выгружаются две строки, ссылка на документ и уже сама табличная часть документа.
http://prntscr.com/jmi62r "Либо убрать его, либо исключить в самом запросе через конструкцию ЕстьNull()" ты прав |
|||
27
Cоляпсус
25.05.18
✎
16:30
|
(25) Надо избавится как то от первой строки
|
|||
28
Cоляпсус
25.05.18
✎
16:40
|
(25) Ещё разок не подскажешь как правильно избавиться от первой строки пустой где ссылка. Запомню раз и навсегда.
Понимаю, что (25) всё объяснил, но можешь чуть подробнее? Спасибо |
|||
29
Cоляпсус
25.05.18
✎
16:46
|
(25) Наверное удалить строку из выгруженной ТЗ я подозреваю, но так тоже наверное не правильно.
|
|||
30
dezss
25.05.18
✎
16:48
|
(28) ЕстьNull(ВТТовары.Номенклатура,Значение(Справочник.Номенклатура.ПустаяСсылка)) = СебестоимостьТовара.АналитикаУчетаНоменклатуры.Номенклатура
|
|||
31
lodger
25.05.18
✎
16:48
|
(29) наверное надо заглянуть в предыдущий запрос, который дает ТЗ и убрать из него ИТОГИ
|
|||
32
dezss
25.05.18
✎
16:49
|
(31) у него там выгрузка из тч, вроде...хотя хз, я весь запрос не видел, но есть скрин в (17)
|
|||
33
lodger
25.05.18
✎
16:51
|
(32) по именам переменных инфа100, что это результат запроса.
|
|||
34
Cоляпсус
25.05.18
✎
16:53
|
(31) Я думал над этим, но пока не успел придумать что с этим поделать. Так как сам запрос это ДанныеПечати, а они приходят параметром прямо в процедуру. Насколько я помню, они провалятся или в документ в самой конфигурации или в общий модуль тоже в основной конфигурации, которую конечно бы не хотелось бы трогать. Можно, но не очень хочется.
|
|||
35
lodger
25.05.18
✎
16:57
|
(34) тогда делай внутреннее соединение с условием
НЕ ВТТовары.Номенклатура ЕСТЬ NULL И ВТТовары.Номенклатура = СебестоимостьТовара.АналитикаУчетаНоменклатуры.Номенклатура |
|||
36
Cоляпсус
25.05.18
✎
17:05
|
(35) Так не прокатывает, пустой запрос возвращается,(
|
|||
37
lodger
25.05.18
✎
17:27
|
(36) покеж свой запрос с этой модификацией.
http://www.heypasteit.com/ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |