![]() |
![]() |
![]() |
|
8.3. Работа с реквизитом типа ХранилищеЗначений в управляемой форме | ☑ | ||
---|---|---|---|---|
0
SeiOkami
29.06.13
✎
22:46
|
Здравия всем!
Дело такое. Версия 1С 8.3.3.658. Конфигурация своя. Хочу сделать банальное, а именно: в реквизит документа (ХранилищеЗначения) помещать форматированный документ на форме. В общем, то что описано в статье http://infostart.ru/public/74958/ Однако, не могу обратиться в форме к реквизиту объекта. Ни на клиенте ни на сервере. А в списке реквизитов формы такая надпись: http://s3.hostingkartinok.com/uploads/images/2013/06/2281724d86d471ce61b7aad4a81bfeec.jpg Что я не так делаю? |
|||
1
SeiOkami
29.06.13
✎
22:47
|
Надпись: "недоступен в данных формы"
|
|||
2
Cyberhawk
29.06.13
✎
23:13
|
Реквизита-то должно быть два: формы с типом "ФД" и объекта с типом "ХЗ"
|
|||
3
SeiOkami
29.06.13
✎
23:15
|
(2), да, но ведь, чтобы сохранять значения ФД в документе, то мне нужно его поместить в ХЗ. А вот к ХЗ я как раз обратиться и не могу. ХЗ почему)
|
|||
4
Cyberhawk
29.06.13
✎
23:22
|
Модуль формы (у объекта есть ТЧ, в которой один из реквизитов - ХЗ):
&НаКлиенте Процедура ВложенияПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа) Отказ = Истина; ДобавитьВложение(); КонецПроцедуры &НаКлиенте Процедура ДобавитьВложение() Перем ВыбранноеИмя; Перем АдресВременногоХранилища; НовыйОбъект = Объект.Ссылка.Пустая(); Если ПоместитьФайл(АдресВременногоХранилища, "", ВыбранноеИмя, Истина) Тогда Файл = Новый Файл(ВыбранноеИмя); НовоеВложение = Объект.Вложения.Добавить(); НовоеВложение.Имя = Файл.Имя; НовоеВложение.ИмяФайлаИсточника = ВыбранноеИмя; НовоеВложение.Пиктограмма = ПиктограммаФайла(Файл); ПоместитьФайлОбъекта(АдресВременногоХранилища,НовоеВложение.НомерСтроки-1); КонецЕсли; КонецПроцедуры &НаСервере Процедура ПоместитьФайлОбъекта(АдресВременногоХранилища,Индекс) ТекЗадача = РеквизитФормыВЗначение("Объект"); ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилища); ТекЗадача.Вложения[Индекс].Хранилище = Новый ХранилищеЗначения(ДвоичныеДанные); ТекЗадача.Записать(); УдалитьИзВременногоХранилища(АдресВременногоХранилища); ЗначениеВРеквизитФормы(ТекЗадача, "Объект"); КонецПроцедуры |
|||
5
Cyberhawk
29.06.13
✎
23:23
|
Ну т.е. все манипуляции с реквизитом объекта типа ХЗ выполнять на сервере
|
|||
6
SeiOkami
29.06.13
✎
23:24
|
(5), я же уже все описал в (0)...
Не могу обратиться к реквизиту с типом ХЗ на форме. Ни на клиенте, ни на сервере |
|||
7
Cyberhawk
29.06.13
✎
23:28
|
Сравни свой код с (4) и проделай работу над ошибками. Не справишься - запости сюда свой код, в котором ты не можешь обратиться к реквизиту с типом ХЗ
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |