|   |   | 
| 
 | программно записать значение в реквизит формы | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Всем спасибо! Решилось так...
 новРабочийОтчет.ДополнительныеСвойства.Вставить("НужныйРеквизитФормы", СтрокаМассива.НазваниеЗадачи); | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |