Имя: Пароль:
1C
1С v8
Как получить в модуль основной формы ДополнительныеСвойства объекта?
,
0 Мимохожий Однако
 
11.07.13
07:59
Конфигурация УНФ. В документе есть свойство ДополнительныеСвойства, в которые помещается временная информация при записи документа и при проведении. Тип этого свойства Структура. Я при проведении записал необходимую таблицу значений. А вот как эту информацию вытащить на форму?
1 shuhard
 
11.07.13
08:01
(0) слазить на сервер и получить
2 Мимохожий Однако
 
11.07.13
08:04
(1)Пример можно?
3 Мимохожий Однако
 
11.07.13
08:07
Идея такова... При проведении документа появляется сообщение об ошибке. Я эти сообщения собрал в одну таблицу значений и добавил в структуру ДополнительныеСвойства.Вставить("ОшибкиПроведения", МояТЗ);
..
Как из формы достать? Документ еще не закрыт. Проведение не получилось. А дополнительные свойства еще живы?
4 Нуф-Нуф
 
11.07.13
08:09
работай через оповещение
5 Мимохожий Однако
 
11.07.13
08:24
Попытался в модуле документа разместить процедуру Оповестить().
Получил ошибку.

Процедура или функция с указанным именем не определена (Оповестить)
       <<?>>Оповестить("ПроведениеНеПолучилось",ДополнительныеСвойства,Ссылка); (Проверка: Сервер)
6 Feunoir
 
11.07.13
08:29
(3) Нет, в этой ситуации дополнительные свойства уже мертвы. Они принадлежат объекту, а объект в УФ существует только в момент проведения.
7 Infsams654
 
11.07.13
08:29
(5) на сервере Оповестить не работает. Сделай реквизит типа ТЗ на форме, и заполняй его при проведении
8 Мимохожий Однако
 
11.07.13
08:35
(7)Реквизит на форме наверное не удастся заполнить при проведении. Ведь при проведении объект видит только свои реквизиты. Последний вариант - добавить свой реквизит в документ.
9 Мимохожий Однако
 
11.07.13
08:36
В какой процедуре в модуле формы можно привязаться к проведению. ПриЗаписи()?
10 shuhard
 
11.07.13
08:38
(8)[добавить свой реквизит в документ.]
бред
11 Мимохожий Однако
 
11.07.13
08:40
(10) Мне тоже не нравится ). Подскажи, будь ласка.
12 Infsams654
 
11.07.13
08:49
(8) в форме (не в объекте) создаешь реквизит (например РеквизитФормыТЗ) типа ТЗ с нужными колонками
На сервере этот реквизит виден.
Заполняешь его при проведении, типа
СтрТЗ = РеквизитФормыТЗ.Добавить();
СтрТЗ.Колонка1 = ДопСвойство1
...
13 Мимохожий Однако
 
11.07.13
08:56
(12)"На сервере этот реквизит виден." В том то и фокус, что я не смог увидеть на сервере реквизит формы.
ЗЫ. В УНФ управляемые формы.
14 Infsams654
 
11.07.13
08:58
(13) ясно что УНФ на УФ. Что значит "не смог увидеть на сервере реквизит формы" ? Не верю...
15 Infsams654
 
11.07.13
09:01
(13) в УНФ сплошь работа  &НаСервере с реквизитами форм
16 Мимохожий Однако
 
11.07.13
09:15
(15)Хотя бы одно конкретное место укажи для примера, чтобы разобраться.
17 Cyberhawk
 
11.07.13
09:23
18 Infsams654
 
11.07.13
09:27
(16) ДокументОбъект.<Имя документа>.ДополнительныеСвойства (DocumentObject.<Имя документа>.AdditionalProperties)
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
ДополнительныеСвойства (AdditionalProperties)
Использование:

Только чтение.
Описание:

Тип: Структура.
Может использоваться в тех случаях, когда необходимо хранить некоторые значения, связанные с объектом, на время выполнения некоторых операций, без изменения объекта. Например, при обработке событий в подписке на события.

Доступность:

Сервер, толстый клиент, внешнее соединение.
19 Feunoir
 
11.07.13
09:29
(12) Откуда при проведении (в модуле объекта) контекст формы?

(16) Посмотри в модуле формы события ПередЗаписьюНаСервере, ПриЗаписиНаСервере и ПослеЗаписиНаСервере. Там в параметрах есть ТекущийОбъект. Может повезет.
20 Infsams654
 
11.07.13
09:32
(16) при проведении заполняется эта структура, далее в форме из нее заполняется тот реквизит формы, если его нужно отобразить, либо программно обрабатывается.
Пример: документ ОтчетОРозничныхПродажах Процедура ВыполнитьАрхивациюЧековККМ
21 Infsams654
 
11.07.13
09:33
(19) в (18) написано откуда
22 Мимохожий Однако
 
11.07.13
09:47
Эксперимент показал, что в модуле формы при проведение срабатывает процедура ПередЗаписьюНаСервере(). Но в этот момент ДополнительныеСвойства не заполнены. Сам процесс проведения и проверки проведения, в котором я получил таблицу ошибок, больше в модуль формы не возвращается.
23 Мимохожий Однако
 
11.07.13
09:48
Осталось посмотреть в подписках на событие Проведение
Документа.
24 Мимохожий Однако
 
11.07.13
09:55
(20)В твоём примере заполняются реквизиты документа, а не реквизиты формы документа. Там же реализовано добавление новых данных в структуру ДополнительныеСвойства. С  этим мне понятно было.
Я пытаюсь обойтись без новые реквизитов в документе, чтобы передать данные, формируемые при проведении, на форму документа. Пока реализации не нашел.
25 Aprobator
 
11.07.13
10:00
(22) там еще и событие ПослеЗаписиНаСервере есть. И вообще, если открыть СП, там стоклько интересного найти можно.
26 Мимохожий Однако
 
11.07.13
10:30
(25)Там много чего. Но у меня из предложенные в СП кубиков пока только каша. ПослеЗаписиНаСервере не отрабатывается на форме, если документ записан и жмёшь кнопку Провести. Проверено экспериментом.
27 Cyberhawk
 
11.07.13
10:31
(24) "чтобы передать данные, формируемые при проведении, на форму документа" т.е. задача аналогична этой: после проведения документа отобразить на его форме имена регистров, которые он подвигал. Верно?
28 acsent
 
11.07.13
10:33
сообщить и на сервере работает
29 Лефмихалыч
 
11.07.13
10:33
(3) зачем вы гланды через ЖПО достаете?
Используй СообщениеПользователю. При интерактивном проведении они сами до пользователя дойдут, а при программном их можно получить после записи при помощи

Глобальный контекст (Global context)
ПолучитьСообщенияПользователю (GetUserMessages)
Синтаксис:

ПолучитьСообщенияПользователю(<УдалятьПолученные>)
Параметры:

<УдалятьПолученные> (необязательный)

Тип: Булево.
Признак необходимости удаления полученных сообщений из списка.
Истина - удалять.
Значение по умолчанию: Ложь
Возвращаемое значение:

Тип: ФиксированныйМассив.

Описание:

Получает массив объектов СообщениеПользователю, которые еще не были выведены пользователю.
Такое может происходить при работе в регламентных заданиях, на стороне сервера или в Web-сервисах.

Доступность:

Сервер, толстый клиент, внешнее соединение.
См. также:

СообщениеПользователю
Глобальный контекст, метод Сообщить
30 Infsams654
 
11.07.13
10:38
(29) так (0) написал, что ему надо вытащить на форму, а не в окне сообщений. Только, зачем ?
31 Мимохожий Однако
 
11.07.13
10:40
(27)При проведении в структуру ДополнительныеСвойства я добавил свою таблицу значений.
(29)У меня сообщения о том, что некоторые позиции не позволяют провести документ выходят. Задачка с том, чтобы кроме сообщений передать в модуль формы документа заполненную таблицу значений, при помощи которой я могу запустить корректировку табличной части документа и потом провести. Или например, распечатать эту таблицу значений или показать на форме. Дальше вариантов море.
32 Infsams654
 
11.07.13
10:45
(31) см. пример глубже (или другой поищи), там все есть, как раз в форме и можно обработать ДополнительныеСвойства
(29) вот чего ему надо
Независимо от того, куда вы едете — это в гору и против ветра!