Вход | Регистрация
 

Не отображается загруженное изображение на форме справочника

Не отображается загруженное изображение на форме справочника
Я
   NIGHTHUNTER
 
03.12.20 - 04:56
Создаю элемент справочника. При открытии формы, жму на кнопку загрузить логотип. Выбираю файл, он появляется на форме.
Жму записать, закрыть. Но при открытии, на форме нет изображения. Хотя было. Я не понимаю в чем не точность и в чем не дочет. Подскажите пожалуйста.



//
&НаКлиенте
Процедура ЗагрузитьЛоготип(Команда)
ИмяФайла          = "";
ПутьФайла         = "";
ВыбранноеИмяФайла = "";
Если ПоместитьФайл(ПутьФайла, ИмяФайла, ВыбранноеИмяФайла) = Истина Тогда
    //    
    Ф                         = Новый Файл(ВыбранноеИмяФайла);
    НаименованиеФайлаЛоготипа = Ф.ИмяБезРасширения;
    Логотип                   = ПутьФайла;
    УстановитьКартинку();
КонецЕсли;
КонецПроцедуры
//
&НаСервере
Процедура УстановитьКартинку()
    Объект.Наименование = НаименованиеФайлаЛоготипа;
    Записать();
    ОбъектСправочникФайлы      = Объект.Ссылка.ПолучитьОбъект();
    ОбъектСправочникФайлы.Файл = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Логотип));
    Логотип                    = ПоместитьВоВременноеХранилище(ОбъектСправочникФайлы.Файл.Получить());
КонецПроцедуры
//
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
        Логотип                         = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "Файл");
        Элементы.Логотип.РазмерКартинки = РазмерКартинки.АвтоРазмер;
    КонецЕсли;
КонецПроцедуры
//
 
 Партнерская программа EFSOL Oblako
   hhhh
 
1 - 03.12.20 - 08:52
(0) ну это выкинь
    ОбъектСправочникФайлы      = Объект.Ссылка.ПолучитьОбъект();


напиши 

    ОбъектСправочникФайлы      = РеквизитФормыВЗначение("Объект");
   NIGHTHUNTER
 
2 - 03.12.20 - 08:57
(1) Ок, буду пробовать. Дело в том что работает в документе.
Я все несколько меняю на справочник. То есть загрузка изображения в реквизит справочника и вывод его на форму.
И при открытии тоже. И все вроде работало, при разных изменениях, исправлениях.
Тут смотрю, изображение загружаешь, появляется на форме элемента справочника. записываешь его закрываешь.
Потом открываешь, там пусто на форме !!!! Вот озадачется от чего бы это. Буду пробовать.
   acht
 
3 - 03.12.20 - 09:04
   NIGHTHUNTER
 
4 - 03.12.20 - 09:09
(1) Так это работает! Не работает , при открытии, на форме пусто
//
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
        Логотип                         = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "Файл");
        Элементы.Логотип.РазмерКартинки = РазмерКартинки.АвтоРазмер;
    КонецЕсли;
КонецПроцедуры
//


или (1) именно это и решает ?
   NIGHTHUNTER
 
5 - 03.12.20 - 09:11
(1) Это не влияет на открытие созданного элемента справочника и загруженного в него изображения.
Форма все равно стала открываться пустой ((( Что тут не так не понимаю.
   NIGHTHUNTER
 
6 - 03.12.20 - 09:13
все должно работать но что то не идет .
   hhhh
 
7 - 03.12.20 - 09:33
(5) наверно, потому что вы два объекта пишете в одно и то же место. Они друг друга затирают.
   NIGHTHUNTER
 
8 - 03.12.20 - 14:50
(7) Весь код, который отрабатывает в (0), как понять 2 объекта пишу в одно и тоже место?
Я создаю, новый элемент справочника. Добавляю на форму изображение, и в справочник. Оно появляется на форме.
Нажимаю записать и закрыть, открываю, изображения на форме нету .
   Галахад
 
9 - 03.12.20 - 15:13
Если код верный, возможно проблема в реквизите формы.
   NIGHTHUNTER
 
10 - 03.12.20 - 15:51
(9) Да все работало, потом раз и не стало. Да и реквизит я не трогал, тип картинка
буду разбираться
   acht
 
11 - 03.12.20 - 15:52
Мироздание намекает тебе, Андрей, что у него-то упорства-то побольше тебя будет.
   NIGHTHUNTER
 
12 - 04.12.20 - 05:00
Изображения, которые загружены были до, выводятся на форме http://joxi.ru/p27pgLvCNZjeYA
То есть дело не в реквизите, а в том что я туда помещаю?
ну так и помещаю я все нормально, поместил, на форме отразилось. Значит как и старые на форме должно быть изображение. Но если я загружаю новое. При повторном открытии его нет.
Подскажите пожалуйста в чем дело?
   NIGHTHUNTER
 
13 - 04.12.20 - 05:13
http://joxi.ru/MAjnRMZHkYXelA

вот например, что при открытии идет на форму, когда отображается изображение

вот то что уже не отображается при открытии, все в порядке, но почему то у новых элементов, ничего не выводится на форме при открытии, что может быть?

http://joxi.ru/v29b7JoCpjke5A
   NIGHTHUNTER
 
14 - 04.12.20 - 05:16
то есть все так же, и должно работать но перестало (
смотрю и в документе, все также, что случилось, почему нет изображения при открытии справочника не понятно ((
   Галахад
 
15 - 04.12.20 - 05:23
Посмотрел еще раз, (1) дело говорит.
   hhhh
 
16 - 04.12.20 - 05:42
(14) у тебя есть Объект, и есть Объект.Ссылка.ПолучитьОбъект(). Это два разных объекта.
   NIGHTHUNTER
 
17 - 04.12.20 - 06:23
(16) ? Где? Я же говорю, сейчас когда загружаешь на форму все загружается!!!!!
И открывается что было загружено раньше. Но вот новое что я загружаю, загружается, но при открытии этого нет на форме.
   NIGHTHUNTER
 
18 - 04.12.20 - 06:24
(16)

  ОбъектСправочникФайлы = Объект.Ссылка.ПолучитьОбъект();

это один объект, а это другой?

ПолучитьНавигационнуюСсылку(Объект.Ссылка, "Файл")
   hhhh
 
19 - 04.12.20 - 06:43
(18) да, другой. И еще есть "Объект". Это третий объект. У тебя три объекта. И куда ты ивм пишешь кртинку, хрен ее знает, может и правильно.
   NIGHTHUNTER
 
20 - 04.12.20 - 06:48
очистка кеша не помогла ((((
(19) странно все же работало на таком коде, где что исказилось что я не вижу, но срочно нужно поставить все на место!
(19) как нужно то что бы работало все ?????
   hhhh
 
21 - 04.12.20 - 06:57
(20) не вые...ться, а перейти на бсп, как все люди. Открыть любую типовую и посмотреть, как там сделано. Или открыть демо-версию БСП.
   NIGHTHUNTER
 
22 - 04.12.20 - 07:01
(21) Не думаю что вы актуальный совет даете.
И то что вы на меня говорите, лишено вообще смысла.

Буду разбираться, сам.
   NIGHTHUNTER
 
23 - 04.12.20 - 07:03
(21) В трех соснах запутались что ли????
   hhhh
 
24 - 04.12.20 - 07:05
(23) да, похоже на то.
   NIGHTHUNTER
 
25 - 04.12.20 - 07:06
(24) Ну так давайте разберемся! Зачем ворочить начинать огромадные конфигурации, и что то там искать, чего не найти вообще в принципе, кроме поломанной головы?
   NIGHTHUNTER
 
26 - 04.12.20 - 07:09
Есть документ. Сейчас туда что загружу, запишу его закрою, открою то и отображается. http://joxi.ru/DmBK7Equ4610K2

то же самое почему не работает в справочнике? На его форме? Согласен есть различия, но я же их учел! все загружается.
Но потом при открытии не отображается.
   kobzon2
 
27 - 04.12.20 - 07:57
Нужно включать отладчик и смотреть, что записалось к твоему справочнику или не записалось, что имеется сразу при открытии справочника и что после твоих присвоений.
Консоль запросов опять же поможет. Или подойти к руководителю и сказать, что данная задача очень сложная и мне нужна помощь сторонних специалистов.
   NIGHTHUNTER
 
28 - 04.12.20 - 08:32
вижу что сейчас работает следующим образом

загружаемое изображение с документа, в последствии открывается как на форме изображения, так и на форме справочника.
Загружаешь на форму документа, оно появляется на форме, и в последствии, и на форме открываемого элемента, этого загруженного справочника. Так и на форме снова открываемого этого документа.

Но вот если загружать изображение на форме справочника, оно появляется на форме, но не отображается после записи и закрытия справочника.

По коду я смотрел, туда в реквизит файл и помещаются и извлекаются, примерно одинаковые строковые значения, наподобе таких (13).
   NIGHTHUNTER
 
29 - 04.12.20 - 08:42
Значения все одни и те же, только при открытии загруженных на форму справочника, они не отображаются на форме, изображения.
Ладно, понятно, наверное никто не подскажет, так как не видит никто этого просто.
   NIGHTHUNTER
 
30 - 04.12.20 - 09:16
UP! Подскажете что можно посмотреть? Или что испробовать, что поправить?
 
 
   Галахад
 
31 - 04.12.20 - 09:26
В (1) уже подсказали.
Потом несколько раз посоветовали посмотреть (1).
   NIGHTHUNTER
 
32 - 04.12.20 - 09:54
(31) Ну я это делал. Результата нет. Все так же.

1). Открываю документ. Нажимаю кнопку загрузить логотип. Выбираю картинку. Она появляется на форме. Записываю и закрываю документ.
Открываю документ. Картинка на форме. Перехожу в справочник. Нахожу этот элемент, открываю его, картинка на форме элемента справочника.

То есть, она загружается нормально и в документ, и в справочник. И выводится тем же кодом и на форму документа и на форму справочника !!!!

//
&НаКлиенте
Процедура ДобавитьЛоготип(Команда)
ИмяФайла          = "";
ПутьФайла         = "";
ВыбранноеИмяФайла = "";
Если ПоместитьФайл(ПутьФайла, ИмяФайла, ВыбранноеИмяФайла) = Истина Тогда
    Ф                         = Новый Файл(ВыбранноеИмяФайла);
    НаименованиеФайлаЛоготипа = Ф.ИмяБезРасширения;
    Логотип                   = ПутьФайла;
    УстановитьКартинку();
КонецЕсли;
КонецПроцедуры
//

&НаСервере
Процедура УстановитьКартинку()
    НовыйФайлКартинки               = Справочники.Файлы.СоздатьЭлемент();
    НовыйФайлКартинки.Наименование = НаименованиеФайлаЛоготипа; 
    НовыйФайлКартинки.Файл            = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Логотип));
    Логотип                          = ПоместитьВоВременноеХранилище(НовыйФайлКартинки.Файл.Получить());
    НовыйФайлКартинки.Записать();
    Объект.Картинка = НовыйФайлКартинки.Ссылка;
КонецПроцедуры
//

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Логотип                         = ПолучитьНавигационнуюСсылку(Объект.Картинка, "Файл");
    Элементы.Логотип.РазмерКартинки = РазмерКартинки.АвтоРазмер;
    //
...


2). Создаю элемент справочника. Нажимаю кнопку, загрузить логотип. Картинка появляется на форме справочника. Нажимаю записать и закрыть.
Открываю этот только что созданный элемент справочника, картинки на форме нет!!!!!
   NIGHTHUNTER
 
33 - 04.12.20 - 09:56
(32+) Код, загружающий картинку на форму документа и в справочник. потом нормально открывается и кодом (0).

То есть там проблема в самой загрузке?

вот тут?
//

&НаСервере
Процедура УстановитьКартинку()
    Объект.Наименование = НаименованиеФайлаЛоготипа;
    Записать();
    ОбъектСправочникФайлы      = Объект.Ссылка.ПолучитьОбъект();
    ОбъектСправочникФайлы.Файл = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Логотип));
   NIGHTHUNTER
 
34 - 04.12.20 - 09:56
(31) Я же делал это. Результат не меняется. Что там смотреть мне ещё ?
   NIGHTHUNTER
 
35 - 04.12.20 - 10:13
(31) Почему мне это не помогает ?


//

&НаКлиенте
Процедура ЗагрузитьЛоготип(Команда)
ИмяФайла          = "";
ПутьФайла         = "";
ВыбранноеИмяФайла = "";
Если ПоместитьФайл(ПутьФайла, ИмяФайла, ВыбранноеИмяФайла) = Истина Тогда
    //    

    Ф                         = Новый Файл(ВыбранноеИмяФайла);
    НаименованиеФайлаЛоготипа = Ф.ИмяБезРасширения;
    Логотип                   = ПутьФайла;
    УстановитьКартинку();
КонецЕсли;
КонецПроцедуры
//

&НаСервере
Процедура УстановитьКартинку()
    Объект.Наименование = НаименованиеФайлаЛоготипа; 
    Записать();
    //ОбъектСправочникФайлы      = Объект.Ссылка.ПолучитьОбъект();

    ОбъектСправочникФайлы      = РеквизитФормыВЗначение("Объект");        
    ОбъектСправочникФайлы.Файл = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Логотип));
    Логотип                    = ПоместитьВоВременноеХранилище(ОбъектСправочникФайлы.Файл.Получить());
КонецПроцедуры
//

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
        Логотип                         = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "Файл"); 
        Элементы.Логотип.РазмерКартинки = РазмерКартинки.АвтоРазмер;
    КонецЕсли;
КонецПроцедуры
   NIGHTHUNTER
 
36 - 04.12.20 - 10:14
Это ничего не дает!!!!

ОбъектСправочникФайлы      = РеквизитФормыВЗначение("Объект");  


Чего я не понимаю? Как нужно?
   NIGHTHUNTER
 
37 - 04.12.20 - 10:24
Пробую как только можно, меняя изменяя все, но не работает (
   NIGHTHUNTER
 
38 - 04.12.20 - 11:19
все знатоки мне все рассказали!!!!
   acht
 
39 - 04.12.20 - 11:30
Мироздание, Андрей. Мироздание не обманешь.
   NIGHTHUNTER
 
40 - 04.12.20 - 11:34
Скачал пример. И увидел его в описании на сайте.
Там обязательно что бы был включен режим модальности не использовать в конфигурации.
Это что главное????
То есть без этого никак????? Или что? Почему работает добавление картинки через документ? А с элемента справочника нет.
   NIGHTHUNTER
 
41 - 04.12.20 - 11:35
(40) Там делают через оповещение. А как в (0) что нельзя сделать ????



&НаКлиенте
Процедура ВыбратьФайлКартинки(Команда)
    
    //Создаем оповещение, именно процедура "ОбработатьВыборФайла" будет вызвана при закрытии окна выбора файла

    Оповещение = Новый ОписаниеОповещения("ОбработатьВыборФАйла", ЭтотОбъект);
    
    //Открываем интерактивно окно для выбора файла

    НачатьПомещениеФайла(Оповещение, , , Истина, УникальныйИдентификатор);
    
КонецПроцедуры

&НаКлиенте
Процедура ОбработатьВыборФайла(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
    
    Если Не Результат Тогда
        Возврат;
    КонецЕсли; 
    
    СсылкаНаКартинку = Адрес;
    
КонецПроцедуры


&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    Если ЭтоАдресВременногоХранилища(СсылкаНаКартинку) Тогда
        ТекущийОбъект.ДанныеКартинки = Новый ХранилищеЗначения( ПолучитьИзВременногоХранилища(СсылкаНаКартинку) );
    КонецЕсли; 
КонецПроцедуры


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ДанныеКартинки");
КонецПроцедуры
   NIGHTHUNTER
 
42 - 04.12.20 - 11:47
нашел ещё пример, там модальность использовать, но в коде справочника, создается сам же элемент справочника



&НаКлиенте
Процедура ДобавитьКартинку(Команда)
 ИмяФайла = "";
 ПутьФайла = "";
//Вызываем Диалоговое окно и помещаем файл Картинки из локальной файловой системы во временное хранилище

 Если ПоместитьФайл(ПутьФайла, , ИмяФайла, Истина)= Истина Тогда
     
  //в строковый реквизит ФОТО нашей формы сохраняем ссылку на Картинку во временном хранилище

 Фото = ПутьФайла;
//для создания нового элемента в Справонике Файлы и записи Картинки в его реквизит Файл 

//переходим на сервер с помощью вызова серверной процедуры

 УстановитьКартинку();
КонецЕсли;
//условие ЕСЛИ нужно для того, чтобы если пользователь отказался от выбора файла 

//мы не вызывали серверную процедуру УстановитьКартинку()
КонецПроцедуры

&НаСервере
Процедура УстановитьКартинку()
//создаем новый элемент в Справочнике Файлы 

 НовыйФайлКартинки = Справочники.Файлы.СоздатьЭлемент();
//в реквизит СправочникаФайлы Файл помещаем выбранную ранее Картинку, 

 НовыйФайлКартинки.Файл = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Фото));
 Фото = ПоместитьВоВременноеХранилище(НовыйФайлКартинки.Файл.Получить());
//записываем новый элемент справочника Файлы

 НовыйФайлКартинки.Записать();
 
//добавили во 2 ЧАСТИ ПРИМЕРА

// тут проверим была ли ранее установлена картинка и если да - то удалим ее из справочника Файлы
//вторая проверка Объект.Картинка.ПолучитьОбъект()<>Неопределено нужна чтобы проверить если ли в справочнике

//Файлы элемент, на который ссылается наш реквизит Картинка. 
//Тем не менее, картинки может не быть по 2 причинам:

//1 если мы удалим картинку из справочника Файлы вручную
//2 если мы установим новую картинку, но откажемся от сохранения изменений в данный элемент справочника Сотрудники

Если Объект.Картинка.Пустая() = Ложь и Объект.Картинка.ПолучитьОбъект()<>Неопределено Тогда
    
СтарыйФайлКартинки = Объект.Картинка.ПолучитьОбъект();
СтарыйФайлКартинки.Удалить();
КонецЕсли;
//конец того, что добавили во 2 ЧАСТИ ПРИМЕРА

 
//устанавливаем значение реквизита Картинка Справочника Сотрудники

 Объект.Картинка = НовыйФайлКартинки.Ссылка;
 
//добавили во 2 ЧАСТИ ПРИМЕРА. Модифицированность. Программно укажем, что данный элемент справочника был изменен.

 ЭтаФорма.Модифицированность=Истина;
//если модифицированности недостаточно, то можно использовать метод формы Записать (снять комментарий с последней строки)

//ЭтаФорма.Записать();

 
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    //отображение картинки при открытии формы справочника

    Фото = ПолучитьНавигационнуюСсылку(Объект.Картинка, "Файл");
    
    //устанавливаем автомасштаб для картинки

    Элементы.Фото.РазмерКартинки = РазмерКартинки.АвтоРазмер; 
КонецПроцедуры
   NIGHTHUNTER
 
43 - 04.12.20 - 11:49
(42) Даже что то удаляется !!! Что за трешь ?!
   novichok79
 
44 - 05.12.20 - 10:21
(43) как вы сдали на профессионала по УПП в начале 2010х, если вы не обучаемы?
гуглить тоже не научились:
http://catalog.mista.ru/1c/articles/195003/
   NIGHTHUNTER
 
45 - 07.12.20 - 06:29
Отключение модальности на что повлияет?

Из 2х вышеприведенных примеров, я выявил, что можно загружать, из справочника в другой справочник изображение. Выводить и тут и тут.
Но только нельзя загружать изображение в справочник же и открывать из него же, то есть выводить изображение на форму.

Или отключать использование модальности и делать загрузку изображения в сам справочник. И делать вывод из него же. Делается это в этом случае через оповещение и с использованием отключения модальности.

Как я пробовал в (0) не входит ни в один из этих двух вариантов по этому не работает.
Я думаю к какому лучше скрониться.
   novichok79
 
46 - 07.12.20 - 15:27
> Но только нельзя загружать изображение в справочник же и открывать из него же, то есть выводить изображение на форму.
можно. модальность - это вообще о другом.
переходите на БСП, там это реализовано.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.