Имя: Пароль:
1C
1С v8
Если значение доп реквизита не заполнено, тогда подставить из параметров.
,
0 korppinen
 
04.03.15
19:32
Чтот туплю.. помогите

БП 3.0
В спр Номенклатура добавлен доп реквизит ВидТовара
Если значение доп реквизита не заполнено, тогда подставить из параметров.


это не работает..

<code>

ВЫБРАТЬ
    ЕСТЬNULL(НоменклатураДополнительныеРеквизиты.Значение, &ПустоеЗначениеВидыТовара) КАК Значение,
    НоменклатураДополнительныеРеквизиты.Свойство
ИЗ
    Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
ГДЕ
    НоменклатураДополнительныеРеквизиты.Ссылка = &Ссылка
    И НоменклатураДополнительныеРеквизиты.Свойство = &МассивСвойств

<code>
1 zak555
 
04.03.15
19:39
сначала во вневременную пвх с отбором по &МассивСвойств
далее спр левое соединение с времянкой

и через изНАЛ получаешь своё
2 zak555
 
04.03.15
19:39
можно ещё через выбор когда
3 korppinen
 
04.03.15
19:51
(2) Как чер Когда?

КОГДА НоменклатураДополнительныеРеквизиты.Значение = ЗНАЧЕНИЕ(Справочник.ЗначенияСвойствОбъектовИерархия.ПустаяСсылка)
    |            ТОГДА &ПустоеЗначениеВидыТовара
    |        ИНАЧЕ ЕСТЬNULL(НоменклатураДополнительныеРеквизиты.Значение, &ПустоеЗначениеВидыТовара)
4 yavasya
 
04.03.15
21:03
+(1) через временную таблицу где свойство нулл и добавить колонку с параметром
5 korppinen
 
05.03.15
11:01
(4) Чтот не получилось всё равно..

ВЫБРАТЬ
    ЗначенияСвойствОбъектовИерархия.Наименование,
    ЗначенияСвойствОбъектовИерархия.Ссылка
ПОМЕСТИТЬ ВТ
ИЗ
    Справочник.ЗначенияСвойствОбъектовИерархия КАК ЗначенияСвойствОбъектовИерархия
ГДЕ
    ЗначенияСвойствОбъектовИерархия.Владелец = &МассивСвойств
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЕСТЬNULL(НоменклатураДополнительныеРеквизиты.Значение, &ПустоеЗначениеВидыТовара) КАК Значение,
    НоменклатураДополнительныеРеквизиты.Свойство
ИЗ
    Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ КАК ВТ
        ПО НоменклатураДополнительныеРеквизиты.Свойство = ВТ.Ссылка
ГДЕ
    НоменклатураДополнительныеРеквизиты.Ссылка = &Ссылка
6 korppinen
 
05.03.15
13:48
Если не заполнено.. в выборку не попадает вообще
7 korppinen
 
05.03.15
17:49
Или возвращает пустую ссылку типа "ЗначенияСвойствОбъектов" а не ЗначенияСвойствОбъектовИерархия
8 Ник второй
 
05.03.15
17:58
левая таблица не нужна, это не до программисты
9 Ник второй
 
05.03.15
17:59
(8) *Точнее временная таблица не нужна
10 korppinen
 
06.03.15
09:11
(9) Не понимаю почему (0) не работает? и правда что соединять, если там ничего нет?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший