|
|
|
Функция Значение в запросе
|
|||
|---|---|---|---|
|
#18+
Уважаемые участники форума, столкнулся с проблемой получения ТипаЗначения в таком Запросе: ВЫБРАТЬ ВЫБОР КОГДА Док.Размещение.Ссылка = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ТОГДА Док.Количество ИНАЧЕ "ЗНАЧЕНИЕ<>" КОНЕЦ КАК ЗНАЧЕНИЕ1, ВЫБОР КОГДА Док.Размещение.Ссылка <> ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ТОГДА Док.Количество ИНАЧЕ "ЗНАЧЕНИЕ=" КОНЕЦ КАК ЗНАЧЕНИЕ2, ВЫБОР КОГДА ISNULL(ВЫРАЗИТЬ(Док.Размещение КАК Справочник.Склады),0)=0 ТОГДА Док.Количество ИНАЧЕ "ВЫРАЗИТЬ<>" КОНЕЦ КАК ВЫРАЗИТЬ1, ВЫБОР КОГДА ISNULL(ВЫРАЗИТЬ(Док.Размещение КАК Справочник.Склады),0)<>0 ТОГДА Док.Количество ИНАЧЕ "ВЫРАЗИТЬ=" КОНЕЦ КАК ВЫРАЗИТЬ2, Док.Размещение ИЗ Документ.ЗаказПокупателя.Товары КАК Док ГДЕ Док.Ссылка = &Заказ Запрос должен проверять заполнен ли реквизит Размещение ТЧ Товары, документа ЗаказПокупателя. Реквизит имеет составной тип данных, один из типов это Склад (СправочникСсылка.Склады). Проблема в том, что в ряде случаев Тип данного реквизита является Тип СправочникСсылка.Склады но значение реквизита не заполненно, так вот в этот момент при выполнении вышеприведенного запроса в конструкции Выбор данный реквизит в один и тот же момент равен ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) и не равен ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка), я честно говоря в шоке. Вопрос оправданно ли использование функции ЗНАЧЕНИЕ() в данном случае или это ошибка платформы и можеете ли вы предложить варианты обхода данной проблемы? PS. Значение функции ISNULL(ВЫРАЗИТЬ(Док.Размещение КАК Справочник.Склады),0) в этот момент не равно 0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 12:19 |
|
||
|
Функция Значение в запросе
|
|||
|---|---|---|---|
|
#18+
это ппц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 12:59 |
|
||
|
Функция Значение в запросе
|
|||
|---|---|---|---|
|
#18+
я от Вас конкретно не ожидал ТоварыВРезервеНаСкладах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 13:01 |
|
||
|
Функция Значение в запросе
|
|||
|---|---|---|---|
|
#18+
leafя от Вас конкретно не ожидал ТоварыВРезервеНаСкладах Что не ожидали, и что в отчете ТоварыВРезервеНаСкладах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 13:06 |
|
||
|
Функция Значение в запросе
|
|||
|---|---|---|---|
|
#18+
это регистр остатков не знаю ... я лично работаю с регистрами - вы как хотите ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 13:17 |
|
||
|
Функция Значение в запросе
|
|||
|---|---|---|---|
|
#18+
если же документ один и не проведен то перебор табличной части хотя ... кто его знает как оно правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 13:24 |
|
||
|
Функция Значение в запросе
|
|||
|---|---|---|---|
|
#18+
leafэто регистр остатков не знаю ... я лично работаю с регистрами - вы как хотите ... При чем здесь регистр остатков? Выборка идет из ТЧ документа, формируется печатная форма. Модифицирую стандартный алгоритм печати Заказа, запрос очень сильно сокращен, что бы указать на возможно неправильную работу функции ЗНАЧЕНИЕ в запросе. Полностью переписать алгоритм формирования печ. формы с использованием регистров - не слишком ли круто? Релиз платформы 1С 8.1.15.14. Уточною проблему: 1) Реквизит Размещение ТЧ товары документа ЗаказПокупателя. 2) Реквизит имеет составной тип данных. 3) При использовании функции ЗначениеЗаполненно(Размещение) = Ложь 4) При использовании Размещение.Метаданные().ПолноеИмя() = "Справочник.Склады" 5) При использовании функции ТипЗнч(Строка.Размещение) = "Справочник ссылка: Склады (места хранения)" 6) При использовании конструкции в запросе: ВЫБОР КОГДА Док.Размещение.Ссылка = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ТОГДА Док.Количество ИНАЧЕ "ЗНАЧЕНИЕ<>" КОНЕЦ КАК ЗНАЧЕНИЕ1 = "ЗНАЧЕНИЕ<>" 7) При использовании конструкции в запросе: ВЫБОР КОГДА Док.Размещение.Ссылка <> ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ТОГДА Док.Количество ИНАЧЕ "ЗНАЧЕНИЕ=" КОНЕЦ КАК ЗНАЧЕНИЕ1 = "ЗНАЧЕНИЕ=" Все это в один и тот же момент. Если обратите внимание на 6 и 7 пункты то в один и тот же момент Док.Размещение.Ссылка как равен так и не равен ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 13:35 |
|
||
|
Функция Значение в запросе
|
|||
|---|---|---|---|
|
#18+
т.е. Док.Размещение.Ссылка в данный момент времени, что иное чем "равно" или "не равно" ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка). В общем Размещение в данный момент это Есть Null. Всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 13:54 |
|
||
|
Функция Значение в запросе
|
|||
|---|---|---|---|
|
#18+
Есть предложение использовать приведение типов для реквизита размещение. Если передавать значение пустой ссылки как параметр - такое же поведение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 14:51 |
|
||
|
Функция Значение в запросе
|
|||
|---|---|---|---|
|
#18+
vitkhv, Док.Размещение .Ссылка ЕСТЬ NULL будет равно ИСТИНА при любом виде "пустоты" (и Неопределено, и ПустаяСсылка()) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2010, 17:07 |
|
||
|
Функция Значение в запросе
|
|||
|---|---|---|---|
|
#18+
AnyKeyManvitkhv, Док.Размещение .Ссылка ЕСТЬ NULL будет равно ИСТИНА при любом виде "пустоты" (и Неопределено, и ПустаяСсылка()) Спасибо. Уже разобрался: vitkhv т.е. Док.Размещение.Ссылка в данный момент времени, что иное чем "равно" или "не равно" ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка). В общем Размещение в данный момент это Есть Null. В общем, заблудился в 3 соснах. Вот это vitkhv Значение функции ISNULL(ВЫРАЗИТЬ(Док.Размещение КАК Справочник.Склады),0) в этот момент не равно 0. ввело меня в заблуждение. Привык в свое время на T-SQL через ISNULL проверять пустые значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 16:38 |
|
||
|
|

start [/forum/topic.php?fid=28&gotonew=1&tid=1522183]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
180ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 502ms |

| 0 / 0 |
