|
выбор когда тогда | ☑ | ||
---|---|---|---|---|
0
August
16.06.16
✎
15:43
|
Есть кусок в запросе (немного упростил для восприятия, но суть не меняется):
ВЫБОР КОГДА НЕ ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации ЕСТЬ NULL ТОГДА ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации.СоответствуетСудамЗарегистрированнымВРоссийскомМеждународномРеестреСудов ИНАЧЕ "НУЛЛ" КОНЕЦ когда во временной таблице территория - все норм, но есть случаи когда может придти "неопределено" в таком случае запрос отваливается с ошибкой ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации.СоответствуетСудамЗарегистрированнымВРоссийскомМеждународномРеестреСудов поле не найдено. вопрос: какого художника он лезет по "тогда" и sblbn что реквизита то действительно нет, хотя должен уйти на "иначе"? |
|||
1
Sonny
16.06.16
✎
15:49
|
Может вместо ковыряния в особенностях работы платформы с пустыми значениями просто научиться нормально писать запросы? При грамотном подходе такой кусок вообще не должен был появиться.
|
|||
2
Nuobu
16.06.16
✎
15:50
|
ВЫБОР
КОГДА ЕстьNull(ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации, "Нулл) <> "Нулл" Тогда " не нулл" Иначе "Нулл" Конец |
|||
3
Nuobu
16.06.16
✎
15:51
|
(2) Ну или вот так:
ЕстьNull(ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации.СоответствуетСудамЗарегистрированнымВРоссийскомМеждународномРеестреСудов, "Нулл") Вместо тысяци "Выбор когда тогда конец")) |
|||
4
Зая Бусечка
16.06.16
✎
15:51
|
А откель в запросе может появиться неопределено?
|
|||
5
Fedor-1971
16.06.16
✎
15:56
|
(4) например, из соединения
|
|||
6
August
16.06.16
✎
15:56
|
(3)спасибо, сейчас попробую, но что-то мне подсказывает что пошлет опять
(1) ну если бы типовые механизмы учета страховых работали правильно, возможно и не пришлось бы городить костыль, но сейчас нужно с минимальным куроченьем типового допилить условие (4) при единовременном пособии получатель может быть сотрудник так и физик, соответственно если сотр - территория есть, а если физик - территории нет |
|||
7
Ёпрст
16.06.16
✎
15:59
|
(6) >>> при единовременном пособии получатель может быть сотрудник так и физик
если так, то все ранее предложенные варианты не рабочие. Ставь проверку на тип реквизита |
|||
8
Nuobu
16.06.16
✎
16:00
|
(6) Это называется Нулл. Не путай с "Неопределено". Полоска под именем всё таки обязывает знать такие вещи.
|
|||
9
August
16.06.16
✎
16:02
|
(3) не канает, как я и думал то же самое
(8) ну я ж грю упростил, суть не меняет (7) пробовал, все равно ругается ну внутреннее "тогда", хотя лезть туда по идее и не должен. |
|||
10
August
16.06.16
✎
16:02
|
(7) стоп, в смысле на проверку реквизита?
|
|||
11
Ёпрст
16.06.16
✎
16:05
|
(10) ТерриторияВыполненияРаботВОрганизации - у тебя же "составного" типа,так ?
Вот вся твоя ошибка, что ты пытаешься посмотреть реквизит СоответствуетСудамЗарегистрированнымВРоссийскомМеждународномРеестреСудов у объекта, в котором такого реквизита нема. Вот и проверяй, выбор Когда ТерриторияВыполненияРаботВОрганизации ссылка Справочник.Вася тогда ТерриторияВыполненияРаботВОрганизации.СоответствуетСудамЗарегистрированнымВРоссийскомМеждународномРеестреСудов иначе "зхрен вам" конец а нула, там скорее всего вообще нет, от слова совсем :) |
|||
12
August
16.06.16
✎
16:05
|
пробовал так:
ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации) = ТИП(Справочник.ТерриторииВыполненияРабот) ТОГДА ВЫБОР КОГДА ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации <> ЗНАЧЕНИЕ(Справочник.ТерриторииВыполненияРабот.ПустаяСсылка) ТОГДА 3 ИНАЧЕ 2 КОНЕЦ ИНАЧЕ 1 КОНЕЦ работает, возвращает 1 как только вместо "3" написать ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации.СоответствуетСудамЗарегистрированнымВРоссийскомМеждународномРеестреСудов - валится нахер |
|||
13
Ёпрст
16.06.16
✎
16:08
|
СоответствуетСудамЗарегистрированнымВРоссийскомМеждународномРеестреСудов - поди булево, так ?
вот и в кейс кидай тот же тип везде |
|||
14
August
16.06.16
✎
16:08
|
(11) пробовал через "ссылка" - не работает, валится со словами:
несовместимые типы "ССЫЛКА" когда ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации <<?>> Ссылка |
|||
15
Ёпрст
16.06.16
✎
16:09
|
Покажи весь код
|
|||
16
Sonny
16.06.16
✎
16:10
|
Сделай уже левое соединение со Справочник.ТерриторииВыполненияРабот и тогда ECТЬNULL(СправочникТерриторииВыполненияРабот.СоответствуетСудамЗарегистрированнымВРоссийскомМеждународномРеестреСудов, "НУЛЛ") точно будет работать как надо.
Вообще нафига там текстом нулл писать? Видимо костыль на костыле. |
|||
17
August
16.06.16
✎
16:10
|
ВЫБРАТЬ
&ДатаПолученияДохода КАК ДатаПолученияДохода, ВременнаяТаблица.Сотрудник, ВременнаяТаблица.Начисление, ВременнаяТаблица.ПодразделениеОрганизации КАК Подразделение, ВременнаяТаблица.ДатаНачала, ДанныеУчета.ВидДохода, ДанныеУчета.ОблагаетсяВзносамиНаДоплатуЛетчикам, ДанныеУчета.ОблагаетсяВзносамиНаДоплатуШахтерам, ДанныеУчета.ЯвляетсяДоходомФармацевта, ВЫБОР КОГДА ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации ССЫЛКА Справочник.ТерриторииВыполненияРабот ТОГДА ВЫБОР КОГДА ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации <> ЗНАЧЕНИЕ(Справочник.ТерриторииВыполненияРабот.ПустаяСсылка) ТОГДА ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации.СоответствуетСудамЗарегистрированнымВРоссийскомМеждународномРеестреСудов ИНАЧЕ ДанныеУчета.ЯвляетсяДоходомЧленаЭкипажаСуднаПодФлагомРФ КОНЕЦ ИНАЧЕ ДанныеУчета.ЯвляетсяДоходомЧленаЭкипажаСуднаПодФлагомРФ КОНЕЦ КАК ЯвляетсяДоходомЧленаЭкипажаСуднаПодФлагомРФ, ДанныеУчета.ОблагаетсяВзносамиЗаЗанятыхНаРаботахСДосрочнойПенсией, ДанныеУчета.КлассУсловийТруда, ВЫРАЗИТЬ(СУММА(ВременнаяТаблица.СуммаДохода * ЕСТЬNULL(ДанныеУчета.КоэффициентУчетаСтроки, 1)) КАК ЧИСЛО(15, 2)) КАК Сумма, ВЫБОР КОГДА ДанныеУчета.ВидДохода.ОблагаетсяВзносамиЧастично ТОГДА ВЫРАЗИТЬ(СУММА(ВременнаяТаблица.СуммаВычетаВзносы * ЕСТЬNULL(ДанныеУчета.КоэффициентУчетаСтроки, 1)) КАК ЧИСЛО(15, 2)) ИНАЧЕ 0 КОНЕЦ КАК Скидка, ДанныеУчета.ФизическоеЛицо, ИСТИНА КАК РаспределятьЕНВД, НЕОПРЕДЕЛЕНО КАК ОблагаетсяЕНВД ПОМЕСТИТЬ ВТНачисленияСДаннымиУчета ИЗ ВТНачисления КАК ВременнаяТаблица ЛЕВОЕ СОЕДИНЕНИЕ ВТСДаннымиУчета КАК ДанныеУчета ПО ВременнаяТаблица.Сотрудник = ДанныеУчета.Сотрудник И ВременнаяТаблица.Начисление = ДанныеУчета.Начисление И ВременнаяТаблица.ПодразделениеОрганизации = ДанныеУчета.Подразделение И ВременнаяТаблица.ДатаНачала = ДанныеУчета.ДатаНачала И (&ИспользоватьОсобыеУсловияТруда) СГРУППИРОВАТЬ ПО ВременнаяТаблица.Сотрудник, ВременнаяТаблица.Начисление, ВременнаяТаблица.ПодразделениеОрганизации, ВременнаяТаблица.ДатаНачала, ДанныеУчета.ВидДохода, ДанныеУчета.ВидДохода.ОблагаетсяВзносамиЧастично, ДанныеУчета.ОблагаетсяВзносамиНаДоплатуЛетчикам, ДанныеУчета.ОблагаетсяВзносамиНаДоплатуШахтерам, ДанныеУчета.ЯвляетсяДоходомФармацевта, ВЫБОР КОГДА ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации ССЫЛКА Справочник.ТерриторииВыполненияРабот ТОГДА ВЫБОР КОГДА ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации <> ЗНАЧЕНИЕ(Справочник.ТерриторииВыполненияРабот.ПустаяСсылка) ТОГДА ВременнаяТаблица.ТерриторияВыполненияРаботВОрганизации.СоответствуетСудамЗарегистрированнымВРоссийскомМеждународномРеестреСудов ИНАЧЕ ДанныеУчета.ЯвляетсяДоходомЧленаЭкипажаСуднаПодФлагомРФ КОНЕЦ ИНАЧЕ ДанныеУчета.ЯвляетсяДоходомЧленаЭкипажаСуднаПодФлагомРФ КОНЕЦ, ДанныеУчета.ОблагаетсяВзносамиЗаЗанятыхНаРаботахСДосрочнойПенсией, ДанныеУчета.КлассУсловийТруда, ДанныеУчета.ФизическоеЛицо |
|||
18
Ёпрст
16.06.16
✎
16:13
|
(17) ВТНачисления как делалась ?
Как у тебя не будет работать, поле всегда приводится к одному типу |
|||
19
August
16.06.16
✎
16:13
|
(16) спасибо за идею, возможно действительно имеет смысл третим пакетом соединиться со справочником
|
|||
20
Ёпрст
16.06.16
✎
16:13
|
во временной табличке.
|
|||
21
Sonny
16.06.16
✎
16:14
|
(19) Не надо отдельным пакетом. Когда пишешь через точку - у тебя неявно делает джойн, сделай его просто явным в том же запросе и Вася-кот.
|
|||
22
August
16.06.16
✎
16:15
|
(18) ВТНачисления делаются типовыми запросами как обычно в ЗУПе на 100500 строк и кучей модулей. в этой таблице есть территория, которая либо заполнена составным типом (территория, подразделение) либо вообще не заполнено, как в моем случае
|
|||
23
Ёпрст
16.06.16
✎
16:18
|
(22) не может там быть составной тип в поле..Только значения одного типа.
|
|||
24
Ёпрст
16.06.16
✎
16:18
|
в этой временной.
|
|||
25
August
16.06.16
✎
16:19
|
(24) в этой временной то понятно не может. в данном случае тип - неопределено. когда провожу "нормальный" документ там территория
|
|||
26
Ёпрст
16.06.16
✎
16:21
|
ладно, занимайся :)
|
|||
27
August
16.06.16
✎
16:21
|
(26) ну спасибо за напутствие )) пробую (21) присоседить, надеюсь так получится
|
|||
28
August
16.06.16
✎
16:39
|
(21) действительно Вася теперь кот. спасибо ;)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |