Имя: Пароль:
1C
1С v8
8.3 Картинка
, ,
0 polkin
 
11.12.13
11:31
В 8,2 в обработке картинку отображал таким способом

    ФК = Элементы.ТаблицаЗаказа.ТекущиеДанные.ФайлКартинки;

    ФайлКартинки = ПолучитьТекущуюВерсиюКАртинки(ФК);
    Если Не ФайлКартинки.Пустая() Тогда
        ТекущаяВерсияКартинки = ПолучитьТекущуюВерсиюКАртинки(ФК);
        АдресКартинки = РаботаСФайламиСлужебныйВызовСервера.ПолучитьНавигационнуюСсылкуДляОткрытия(ТекущаяВерсияКартинки)
    Иначе     
        АдресКартинки = "";
    Конецесли;


теперь перешел на 8,3 и картинка перестала отображаться. Что нужно поменять?
1 Wobland
 
11.12.13
11:45
ПолучитьТекущуюВерсиюКАртинки()?
2 polkin
 
11.12.13
12:57
(1) работало....
3 Wobland
 
11.12.13
13:06
тогда её нужно три раза вызвать. в 8.2 ты же её два раза вызываешь
4 polkin
 
11.12.13
13:11
(3)
Ну тогда как правильно?

Функция ПолучитьТекущуюВерсиюКАртинки(ФайлКартинки)

    Возврат ФайлКартинки.ТекущаяВерсия;     

КонецФункции


ФК = Элементы.ТаблицаЗаказа.ТекущиеДанные.ФайлКартинки;

     ФайлКартинки = ПолучитьТекущуюВерсиюКАртинки(ФК);
    Если Не ФайлКартинки.Пустая() Тогда
        ТекущаяВерсияКартинки = ПолучитьТекущуюВерсиюКАртинки(ФК);
        АдресКартинки = РаботаСФайламиСлужебныйВызовСервера.ПолучитьНавигационнуюСсылкуДляОткрытия(ТекущаяВерсияКартинки)
    Иначе    
        АдресКартинки = "";
    Конецесли;
5 Wobland
 
11.12.13
13:13
в какую ветку ты заходишь?
6 polkin
 
11.12.13
13:14
(5) в смысле?
7 Wobland
 
11.12.13
13:16
в смысле, не пустая ли у тебя ФайлКартинки?
8 polkin
 
11.12.13
13:22
Иногда пустая, иногда есть. От номенклатуры зависит. когда пустая ничего не выводило.
9 Wobland
 
11.12.13
13:25
хорошо. в момент "перестала отображаться" в адресе нормальная строка? тогда сдаюсь
10 polkin
 
11.12.13
13:44
нашел
запрос не выводит ФайлКартинки.
В предыдущей версии выводит - копирую в эту - не выводит....
буду рыть...
11 polkin
 
16.12.13
17:52
(4) запрос исправил, но картинка не выводится....

{Обработка.Продажи.Форма.Форма.Форма(6)}: Поле объекта не обнаружено (ТекущаяВерсия)
Возврат ФайлКартинки.ТекущаяВерсия;  

выдает ошибку
&НаСервереБезКонтекста
Функция ПолучитьТекущуюВерсиюКАртинки(ФайлКартинки)
Возврат ФайлКартинки.ТекущаяВерсия;  
КонецФункции
12 Wobland
 
16.12.13
18:22
хм.. а есть ли поле? скорей всего нет
13 polkin
 
16.12.13
21:56
(12) уже все мозги вывихнул....
если ФайлКартинки = СправочникСсылка.Файлы
то запрос в таблицу не выводит ничего. Но при выборе вручную - картинка появляется.
если ФайлКартинки = НоменклатураПрисоединенныеФайлы то запрос в таблицу все выводит но ничего не отображается. Ошибка выше...
14 polkin
 
16.12.13
21:57
ФайлКартинки =
СправочникСсылка.НоменклатураПрисоединенныеФайлы
15 Drac0
 
16.12.13
22:25
16 polkin
 
16.12.13
22:46
(15) Прочитал, но пока не понял......
17 Drac0
 
16.12.13
23:00
В текущих релизах платформы картинка не таблице, а как элемент формы адекватно работает только через поле ХТМЛ документа...
18 polkin
 
17.12.13
00:22
(17) Почему выбрав вручную в таблице ТаблицаЗаказаФайлКартинки я вижу картинки, а запрос перестал ФайлКартинки выводить в ТаблицаЗаказа?
19 Drac0
 
17.12.13
06:18
(18)Хм, кстати, у тебя же таблица. А какого типа у тебя поле с картинкой?
Во-вторых, после отработки запроса и заполнения на сервере, у тебя есть клиентская процедура, которая меняет видимость, заголовки элементов?
20 polkin
 
17.12.13
13:56
(19) Поле картинки
Есть. Но не работает и без нее.
21 Drac0
 
17.12.13
15:05
(20) а реквизит формы какого типа?
22 polkin
 
17.12.13
21:22
нету реквизита
23 Drac0
 
17.12.13
21:48
ФайлКартинки у ТаблицыЗаказа реквизит же. Какой тип?
24 polkin
 
17.12.13
22:02
СправочникСсылка.Файлы
25 Drac0
 
17.12.13
22:30
М, так работало? Ну, есть два варианта. Само изображение у тебя наверное лежит в хранилище значений. Делай реквизит строковым, вид элемента Картинка и помещай туда ссфлку на хранилище значения. Либо делай тип картинка и помещай туда Объект картинка, создав его из двоичных данных, что лежат в храилище. Так должно работать для таблицы 100%.
26 Drac0
 
17.12.13
22:48
Я сам уже запутался. Получается, в строках таблицы, лежит ссылка на справочник Файлы, у которого реквизит ТекущаяВерсия содержит ссылк на хранилище значения, и при активации строки эта картинка отображается на форме в отдельном элементе? Тогда я сначала все правильно сказал - поле HTML, прлное решение по моей ссылке.
27 polkin
 
17.12.13
23:35
при активации строки эта картинка отображается на форме в отдельном элементе

Просто раньше запросом колонка ФайлКартинки заполнялась. Теперь не хочет. Если я вручную введу эти данные - файлы отображает...
28 Drac0
 
18.12.13
06:21
Тогда может стоит вопрос показать еще.
29 polkin
 
19.12.13
00:34
А как? ничего не выходит......
30 Drac0
 
19.12.13
15:31
(29) Ну, текст запроса, которым заполняешь ТаблицаЗаказа. Может у тебя вообще колонка ФайлКартинки пустая получается.
31 polkin
 
20.12.13
02:08
пустая и есть.......

    Запрос.УстановитьПараметр("Родитель",Элементы.Дерево.ТекущаяСтрока);
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Номенклатура1.Ссылка КАК Номенклатура,
    |    ЕСТЬNULL(ХарактеристикиНоменклатуры.Ссылка, НЕОПРЕДЕЛЕНО) КАК Характеристика,
    |    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
    |    ЕСТЬNULL(ЗапасыНаСкладахОстатки.КоличествоОстаток, 0) КАК Количество,
    |    ЕСТЬNULL(ЗаказыПоставщикамОстатки.КоличествоОстаток, 0) КАК Заказано,
    |    Номенклатура1.ЕдиницаИзмерения,
    |    Номенклатура1.СсылкаWEB,
    |    Номенклатура1.СтавкаНДС,
    |    Номенклатура1.ФайлКартинки,
    |    Номенклатура1.НаименованиеПолное КАК Содержание
    |ИЗ
    |    Справочник.Номенклатура КАК Номенклатура1
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗапасыНаСкладах.Остатки КАК ЗапасыНаСкладахОстатки
    |            ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ЗапасыНаСкладахОстатки.Номенклатура
    |                И ЦеныНоменклатурыСрезПоследних.Характеристика = ЗапасыНаСкладахОстатки.Характеристика
    |            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
    |            ПО (ХарактеристикиНоменклатуры.Ссылка = ЦеныНоменклатурыСрезПоследних.Характеристика)
    |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПоставщикам.Остатки КАК ЗаказыПоставщикамОстатки
    |            ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ЗаказыПоставщикамОстатки.Номенклатура
    |                И ЦеныНоменклатурыСрезПоследних.Характеристика = ЗаказыПоставщикамОстатки.Характеристика
    |        ПО Номенклатура1.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
    |ГДЕ
    |    Номенклатура1.Родитель = &Родитель
    |
    |УПОРЯДОЧИТЬ ПО
    |    Номенклатура,
    |    Характеристика
    |АВТОУПОРЯДОЧИВАНИЕ";


    Результат = Запрос.Выполнить().Выгрузить();
    Объект.ТаблицаЗаказа.Загрузить(Результат);
32 Drac0
 
20.12.13
06:17
Чудес не бывает. В отладчике в таблице результата эти картинки есть или уже там пустые?
33 polkin
 
20.12.13
13:40
(32)мыло есть? могу скинуть внешнюю обработку...
34 Drac0
 
20.12.13
14:38
(33) кидай сюда wissen13(at) гмыло точка ком.
35 polkin
 
20.12.13
20:21
выслал, если правильно понял адрес - дойдет.
36 EvgeniuXP
 
20.12.13
23:19
в переменную адрес сохраняешь адрес, где двоичные данные во временном хранилище, выкладываешь адрес на форму и ставишь тип "Картинка" - и всё отображает.
37 Drac0
 
20.12.13
23:19
(35) дошло, гляну завтра.
38 Drac0
 
20.12.13
23:24
(36) говорит, там даже эти ссылки не заполняются.
39 polkin
 
21.12.13
01:27
(38) та знаю, колонка пустая.
запрос с переходом на 8,3 перестал ее заполнять.....
40 Drac0
 
21.12.13
08:14
(39) Конфы нет подходящей, но по заполнению должно быть все ОК. Вот только типы я не вижу: Номенклатура1.ФайлКартинки и ТаблицаЗаказа.ФайлКартинки - Какие типы имеют?

Попробуй в отладчике точку останова на строке 58 поставить и посмотреть таблицу в Результат. Будет ли колонка ФайлКартинки заполнена и чем.
41 polkin
 
21.12.13
16:00
(40)конфу могу скинуть
42 Drac0
 
21.12.13
17:58
Давай выгрузку конфы.
43 polkin
 
21.12.13
21:17
а чем стандартная не подойдет? У меня УНФ 1.4.7.37
44 Drac0
 
21.12.13
21:49
(43) что ж сразу несказал. Подойдет.
45 polkin
 
21.12.13
22:28
слать? или есть?
46 AaNnDdRrEeYy
 
22.12.13
12:19
Надо картинку на сервере во временное хранилище пихать а адрес хранилища в реквизит с типом строка. на форме для этого реквизита установить вид поле картинки.
47 Drac0
 
23.12.13
22:10
(45) Ну, блин, лысый ежик! Тебе же сказали, чтобы типы проверил!

У Номенклатура.ФайлКартинки тип СправочникСсылка.НоменклатураПрисоединенныеФайлы, а у ТаблицаЗаказа.ФайлКартинки тип СправочникСсылка.Файлы. Мдя...
48 polkin
 
24.12.13
13:43
Если и там и там СправочникСсылка.НоменклатураПрисоединенныеФайлы

{Обработка.Продажи.Форма.Форма.Форма(6)}: Поле объекта не обнаружено (ТекущаяВерсия)
Возврат ФайлКартинки.ТекущаяВерсия;
49 Drac0
 
24.12.13
15:57
(48) А ты уверен, что НоменклатураПрисоединенныеФайлы есть реквизит ТекущаяВерсия? В общем, просто нормально переделывай, никакой мистики нет. Смотри, где теперь лежат эти реквизиты и собирай данные запросом правильно.
50 Wobland
 
24.12.13
16:21
вы всё ещё на одном месте?
51 polkin
 
25.12.13
16:13
(50)да... не выходит каменный цветок....
52 polkin
 
25.12.13
18:31
ВСЕ ПОЛУЧИЛОСЬ!!!!!!! ДОМУЧИЛ.
ВСЕМ СПАСИБО.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.