![]() |
![]() |
![]() |
|
Не подхватывает фотографию из базы. Помогите найти ошибку! | ☑ | ||
---|---|---|---|---|
0
Sefuirotsu
31.08.13
✎
18:19
|
Есть справочники:
1) Персонал. 2) Фотобанк. У справочника Фотобанк есть реквизиты: 1) Фото (тип хранилище значения) 2) ОсновноеФото (тип булево) В форме есть: 1) Реквизит АдресКартинки (тип Строка, длина 0) 2) В самой форме: АдресКартинки (тип поле картинки, путь к данным АдресКартинки). 3) Кнопка "Фото", которая помещает в АдресКартинки фотографию. Далее код в модуле формы: &НаКлиенте Процедура Фото(Команда) // Это код кнопки. Перем ВыбранноеИмя,АдресВременногоХранилища; Если ПоместитьФайл(АдресВременногоХранилища, "", ВыбранноеИмя, Истина, УникальныйИдентификатор) Тогда АдресКартинки = АдресВременногоХранилища; Модифицированность = Истина; КонецЕсли; КонецПроцедуры &НаСервере Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) ЗаписьФотографии(АдресКартинки, ТекущийОбъект.Ссылка); КонецПроцедуры &НаСервере Процедура ЗаписьФотографии(АдресКартинки, СсылкаНаТекущийОбъект) СсылкаНаОбъектФотобанка = Справочники.Фотобанк.НайтиПоРеквизиту("ОсновноеФото", Истина,, СсылкаНаТекущийОбъект); Если ЭтоАдресВременногоХранилища(АдресКартинки) Тогда ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресКартинки); Если СсылкаНаОбъектФотобанка = Справочники.Фотобанк.ПустаяСсылка() Тогда ОбъектФотобанка = Справочники.Фотобанк.СоздатьЭлемент(); ОбъектФотобанка.Владелец = СсылкаНаТекущийОбъект; ОбъектФотобанка.ОсновноеФото = Истина; Иначе ОбъектФотобанка = СсылкаНаОбъектФотобанка.ПолучитьОбъект(); КонецЕсли; ОбъектФотобанка.Фото = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных()); ОбъектФотобанка.Записать(); СсылкаНаОбъектФотобанка = ОбъектФотобанка.Ссылка; УдалитьИзВременногоХранилища(АдресКартинки); КонецЕсли; АдресКартинки = ПолучитьНавигационнуюСсылку(СсылкаНаОбъектФотобанка, "Фото"); КонецПроцедуры Работает все нормально, при нажатии на кнопку, мы выбираем фотографию с нашего жесткого диска, а, при сохранении и закрытии, создается запись в фотобанке типа "наименование(пустое), код(00000ляляля), Владелец(сотрудник), ОсновноеФото(истина). Однако, при следующем открытии сотрудника, поле фото остается пустым, как будто мы туда ничего не вводили. Скорее всего, форма не может выдернуть значение из справочника, либо делает это не корректно. А может просто не может его подставить в поле фотографии. Просьба помочь найти ошибку и/или модифицировать код, до его работоспособности. Самостоятельно бьюсь, но не получается. Спасибо! |
|||
1
Sefuirotsu
31.08.13
✎
18:23
|
* справочник "Фотобанк" подчинен справочнику "Персонал".
|
|||
2
GROOVY
31.08.13
✎
18:49
|
||||
3
Sefuirotsu
01.09.13
✎
01:42
|
(2) Если всмотреться, то данный код, а также алгоритм действий и был сделан исходя из той статьи, однако мне необходимо, чтобы фото находились в отдельном справочнике, дабы не захламляли основной файл. Плюс это все должно работать на 8.2, а не 8.3, под которую написана та статья.
Каюсь, я забыл указать, что Платформа 8.2. Все это можно сделать и на 8.2, однако у меня в коде где-то закралась ошибка, именно ее я и прошу помочь найти. |
|||
4
Sefuirotsu
01.09.13
✎
03:15
|
Продублировал
ЗаписьФотографии(АдресКартинки, ТекущийОбъект.Ссылка); в Процедура ПриЧтенииНаСервере и вопрос решился. Картинки стали показываться как и должны. &НаСервере Процедура ПриЧтенииНаСервере(ТекущийОбъект) ЗаписьФотографии(АдресКартинки, ТекущийОбъект.Ссылка); КонецПроцедуры Вопрос закрыт. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |