|
программно записать значение в реквизит формы | ☑ | ||
---|---|---|---|---|
0
bfss-732
25.05.22
✎
11:27
|
Всем привет!
Обработкой создаю документ, все реквизиты в Объекте вижу, записать значения могу. Но есть реквизиты формы, как к ним обратиться, чтоб записать туда значения? Понимаю, что без открытия формы реквизиты их форм не существуют. |
|||
1
bfss-732
25.05.22
✎
11:27
|
А еще тип реквизита формы "ФорматированныйДокумент"
|
|||
2
banco
25.05.22
✎
11:30
|
(0) Посмотри как и откуда заполняется этот реквизит формы при создании(открытии) формы документа.
|
|||
3
Царь-пушка
25.05.22
✎
11:30
|
Ну для начала узнайте как в эти "реквизиты формы" данные попадают при открытие формы документа.
|
|||
4
Ненавижу 1С
гуру
25.05.22
✎
11:30
|
(0) без открытия формы реквизиты их форм
это не так |
|||
5
Царь-пушка
25.05.22
✎
11:31
|
опоздал
|
|||
6
bfss-732
25.05.22
✎
14:22
|
(2)
Назовем реквизит формы - НужныйРеквизитФормы В процедуре ПриЧтенииНаСервере(ТекущийОбъект) НужныйРеквизитФормы = ТекущийОбъект.Комментарий.Получить(); - Получает данные из Комментарий(Тип которого ХранилищеЗначения) Еще процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка); НужныйРеквизитФормы = Параметры.ЗначениеКопирования.Комментарий.Получить(); Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) ТекущийОбъект.ДополнительныеСвойства.Вставить("НужныйРеквизитФормы ", НужныйРеквизитФормы ); КонецПроцедуры |
|||
7
Fish
25.05.22
✎
14:24
|
(6) Значит, тебе нужно записать в объект реквизит Комментарий. Форма тебе не нужна
|
|||
8
bfss-732
25.05.22
✎
14:28
|
Тут какая та засада с ДополнительнымиСвойствами (((
|
|||
9
bfss-732
25.05.22
✎
14:31
|
(7) Записываю
ТекстHTML = ""; ТекстHTML = "<!DOCTYPE html> |<html dir=""ltr""> |<head> |<meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" /> |<meta http-equiv=""X-UA-Compatible"" content=""IE=Edge"" /> |<meta name=""format-detection"" content=""telephone=no"" /> |<style type=""text/css""> |body{margin:0;padding:8px;} |p{line-height:1.15;margin:0;white-space:pre-wrap;} |ol,ul{margin-top:0;margin-bottom:0;} |img{border:none;} |li>p{display:inline;} |</style> |</head> |<body> |<p><span> "+СтрокаМассива.НазваниеЗадачи+" </span></p> |</body> |</html>"; Вложения = Новый Структура; новРабочийОтчет.Комментарий = XMLЗначение(Тип("ХранилищеЗначения"),ТекстHTML); Ошибки не выдает, но не записывает. В отладчике типы значений равны. |
|||
10
Fish
25.05.22
✎
14:32
|
(8) Какая именно? Я не вижу никакой засады. Дополнительные свойства - это свойства объекта.
|
|||
11
Fish
25.05.22
✎
14:35
|
(9) Посмотри в модуле объекта, как происходит запись твоего "НужныйРеквизитФормы" из дополнительных свойств
|
|||
12
bfss-732
25.05.22
✎
14:40
|
(11) Ща сравнил в консоле запроса абсолютно все реквизиты документа который руками ввел и который обработкрой, все значения вывелись.
Засада наверное в ХранилищеЗначения, это тип реквизита "Комментарий". При открытии процедурой ПриЧтенииНаСервере(ТекущийОбъект) НужныйРеквизитФормы = ТекущийОбъект.Комментарий.Получить(); считывается из ХранилищаЗначений. Получается, я новРабочийОтчет.Комментарий = XMLЗначение(Тип("ХранилищеЗначения"),ТекстHTML); не могу записать туда значение. Остается вопрос как в реквизит "Комментарий" с типом ХранилищеЗначения записать значение с типом Строка. |
|||
13
bfss-732
25.05.22
✎
14:43
|
Получается есть три реквизита:
1) НужныйРеквизитФормы с типом ФорматированныйДокумент 2) Комментарий с типом ХранилищеЗначения 3) ТекстКомментария с Типом Строка Все они задействованы )))) Не знаю кто что принимал писав такое, если используется в программе только строка без форматирования))). |
|||
14
Fish
25.05.22
✎
14:52
|
(12) "как в реквизит "Комментарий" с типом ХранилищеЗначения записать значение с типом Строка." - Так, как описано в СП:
Объект.Комментарий = Новый ХранилищеЗначения(ТвояСтрока) |
|||
15
bfss-732
25.05.22
✎
15:04
|
Отладчик выдает такую шнягу
Свойство Тип Значение новРабочийОтчет.Комментарий = Новый ХранилищеЗначения(СтрокаМассива.НазваниеЗадачи) Ложь Булево Хотя и справа от = и слева тип одинаковый - ХранилищеЗначения |
|||
16
bfss-732
25.05.22
✎
15:05
|
(14) не прокатило
Наверное надо считать ТекущийОбъект.Комментарий.Получить(); и записать в НужныйРеквизитФормы, возвращаемся к вопросу, как в обработке получить реквизит формы((( |
|||
17
Fish
25.05.22
✎
15:07
|
(16) Нет. Но для начала неплохо считать комментарий, чтобы посмотреть, а что же туда в итоге записано.
|
|||
18
bfss-732
25.05.22
✎
15:26
|
Всем спасибо! Решилось так...
новРабочийОтчет.ДополнительныеСвойства.Вставить("НужныйРеквизитФормы", СтрокаМассива.НазваниеЗадачи); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |