|
Добавление доп. реквизита | ☑ | ||
---|---|---|---|---|
0
immurz
11.10.13
✎
09:33
|
НазваниеДопРеквизита = "Мой реквезит";
РеквезитИзПВХ = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(НазваниеДопРеквизита); ДопРеквезит = Объект.ДополнительныеРеквизиты.Добавить(); ДопРеквезит.Свойство = РеквезитИзПВХ; ДопРеквезит.Значение = Истина; ПараметрыЗаписи = Новый Структура; ПараметрыЗаписи.Вставить("РежимЗаписи", РежимЗаписиДокумента.Проведение); Записать(ПараметрыЗаписи); Ни черта не работает. Хотя, если сразу после добавления перебрать дополнительные реквизиты - все покажет правильно. Что я делаю не так? |
|||
1
Defender aka LINN
11.10.13
✎
09:42
|
(0) Это в форме?
|
|||
2
banco
11.10.13
✎
09:47
|
(0) может надо вызвать
УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтаФорма); |
|||
3
immurz
11.10.13
✎
09:47
|
Ага. В форме на сервере.
|
|||
4
Defender aka LINN
11.10.13
✎
09:57
|
(3) Ну, молодец, чо. Не делай так. Или перезаполняй свойства на форме.
|
|||
5
immurz
11.10.13
✎
10:02
|
(2) Ругается на недостаточность параметров.
(4) А где делать? В модуле объекта? |
|||
6
immurz
14.10.13
✎
09:17
|
Блин. Ну ничего не помогает )
|
|||
7
Defender aka LINN
14.10.13
✎
09:20
|
(5) Посмотри, откуда берутся свойства на форме и как хранятся.
|
|||
8
cw014
14.10.13
✎
09:23
|
Я так телепатирую, что это вызывается на сервере в процедуре ПередЗаписьюНаСервере() в модуле формы (иначе откуда реквизит "Объект"). Так вот в этот момент реквизит Объект имеющий тип "ДанныеФормыСтруктура" уже не трогается, для этого дела специально передается параметр "ТеРасширение управляемой формы для документа.ПередЗаписьюНаСервере (Managed form extension for documents.BeforeWriteAtServer)
Расширение управляемой формы для документа (Managed form extension for documents) ПередЗаписьюНаСервере (BeforeWriteAtServer) Синтаксис: ПередЗаписьюНаСервере(<Отказ>, <ТекущийОбъект>, <ПараметрыЗаписи>) Параметры: <Отказ> Тип: Булево. Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись произведена не будет. Значение по умолчанию: Ложь <ТекущийОбъект> Тип: ДокументОбъект. Записываемый объект. <ПараметрыЗаписи> Тип: Структура. Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра РежимЗаписи и РежимПроведения. Они добавляются автоматически при вызове команд "Провести", "Провести и закрыть", "Отмена проведения". Описание: Вызывается перед записью объекта на сервере. Можно отменить запись. Выполняется вне транзакции. кущийОбъект". Читай СП: |
|||
9
immurz
14.10.13
✎
21:50
|
(8) Нет, это моя процедура которая заполняет документ и сохраняет его.
|
|||
10
immurz
28.10.13
✎
12:01
|
НазваниеДопРеквизита = "Мой реквезит";
ДокументОбъект = Объект.Ссылка.ПолучитьОбъект(); РеквезитИзПВХ = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(НазваниеДопРеквизита); ДопРеквезит = ДокументОбъект.ДополнительныеРеквизиты.Добавить(); ДопРеквезит.Свойство = РеквезитИзПВХ; ДопРеквезит.Значение = Истина; ДокументОбъект.Записать(); Вот так правильно делать. |
|||
11
Wobland
28.10.13
✎
12:03
|
(10) но неграмотно
|
|||
12
immurz
28.10.13
✎
12:04
|
(11) А более развернуто?
|
|||
13
Wobland
28.10.13
✎
12:05
|
(12) Грамотность — степень владения человеком навыками письма и чтения на родном языке. у тебя её плохо видно
|
|||
14
immurz
28.10.13
✎
12:09
|
(13) Я с точки зрения программирования
|
|||
15
Wobland
28.10.13
✎
12:10
|
(14) а я с другой точки
|
|||
16
immurz
28.10.13
✎
12:19
|
(15) Ну тогда ладно )
|
|||
17
immurz
28.10.13
✎
12:28
|
Только остается один вопрос - почему с табличной частью товаров вариант с стартовом посте прокатывает, а с табличной частью дополнительных реквИзитов - нет?
|
|||
18
immurz
28.10.13
✎
18:32
|
А вот и вполне очевидный ответ - в первом случае я изменяю данные на форме, а во втором случае - данные объекта. Так то.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |