Имя: Пароль:
1C
 
Как выразить тип ХранилищеЗначений в Булев тип в запросе?
0 tabarigen
 
31.01.18
09:17
Есть поле в запросе
ПартииНоменклатурыОстатки.Товар.Картинка КАК Фото

Как на выходе получить Истина если Картинка у товара есть и ЛОЖЬ если картинки нет.
Пробовал через Выразить, но так и не добился работоспособности. Подскажите пожалуйста, кто знает.
1 GGDots
 
31.01.18
09:27
Насколько хватает знаний - то в запросе это сделать не получится.

Добавляешь реквизит в справочник товары "ЕстьКартинка" - типа булево. При записи элемента проверяешь заполнено ли хранилище - и заполняешь соответствующим значением свой реквизит "ЕстьКартинка".

Используешь "ЕстьКартинка" в запросе.
2 tabarigen
 
31.01.18
09:29
(1) конфа на поддержке. дело происходит во внешней обработке
3 VS-1976
 
31.01.18
09:33
(2) Попробуй сравнить с Неопределено через ВЫБОР, но не факт что покатит.
4 GGDots
 
31.01.18
09:35
Совсем нельзя изменять конфигурацию?


Насколько я слышал в 8.3.11 - можно добавлять новые объекты не снимая с поддержки конфигурацию.

Минимальные доработки:

Реквизит в виде - дополнительного реквизита или свойства (в режиме предприятия)

+ модуль подписки "Перед записью". (не снимая с поддержки конфу)
5 tabarigen
 
31.01.18
09:36
(3)
ВЫБОР
    КОГДА ПартииНоменклатурыОстатки.Товар.Картинка <> НЕОПРЕДЕЛЕНО
   ТОГДА ЛОЖЬ
ИНАЧЕ ИСТИНА
КОНЕЦ КАК Фото
6 tabarigen
 
31.01.18
09:36
пробовал, не  работает.
7 VS-1976
 
31.01.18
09:38
Там несовместимость типов в общем. А Хранилище это поле хрянящее упакованные данные неограниченной длины. В MSSQL проверяется скорее всего через Empty но не точно.
8 youalex
 
31.01.18
09:39
(7) в mssql  есть datalength
9 VladZ
 
31.01.18
09:39
(2) Получай все элементы, выгружай в ТЗ и ТЗ потом анализируй.
10 Сияющий в темноте
 
31.01.18
09:39
хранилище значения,это blobполе,для него нужно  проверять значение на Null
11 tabarigen
 
31.01.18
09:39
(4) (1) наверное так придется попробовать.  
Платформа у меня 8.3.11 добавлю кастомный реквизит.
12 tabarigen
 
31.01.18
09:41
(10) при помощи ВЫБОР или ВЫРАЗИТЬ?
13 VS-1976
 
31.01.18
09:44
Если картинка есть то есть и запись, но там так же хранятся и документы различные если речь идёт о справочнике типа ХранилищеДополнительнойИнформации. По этому через соединение может быть получена неточная информация.
14 GGDots
 
31.01.18
09:49
Выдержка из справки 1с:

"...К значению, хранящемуся в объекте, нельзя обращаться, его можно только извлечь из хранилища..
"

И отсюда следует вывод - через один запрос это сделать не получится.
15 tabarigen
 
31.01.18
10:05
(14) чел добрый, подскажи пож. Добавил через расширение реквизит ЕстьКартинка. При записи номенклатуры, пишу туда Истина есть картинка заполнена.

Однако в Конструкторе Запросов, не видно реквизита, добавленного через расширения.
16 GGDots
 
31.01.18
10:41
Сам лично не пробовал - но насколько я понимаю то:

Объекты, которые не заимствованы, в расширении не видны и при попытке обращения к ним, например, в тексте запроса, в режиме “Конфигуратор” вызывают ошибку. Хотя в пользовательском режиме код выполняется без проблем.

Просто напиши обращение к полю руками в запросе и попробуй его выполнить в предприятии
17 tabarigen
 
31.01.18
10:54
(16) Держи пятак от меня дружище ))).
На самом деле, прописал поле ручками и все заработало.

В общем таким вот геморным способом задача решена.
18 GGDots
 
31.01.18
11:44
Ну и отлично :)