|
Как установить доп реквизиты документу, который ещё не создан | ☑ | ||
---|---|---|---|---|
0
MAPATNK2
naïve
08.08.23
✎
13:34
|
День добрый. Заполняю доп.реквизиты документа "Поручение экспедитору", когда создаю документ на основании реализации. В момент открытия формы доп реквизиты должны быть заполнены. Вот код:
Если Параметры.Ключ.Пустая() тогда СвойствоДокО = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "Отправитель_00d4dbacffc3465a8ed05b51ee241c1e"); СвойствоДокП = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "Получатель_d8f93a3e29564e0cb85c9db2e1a3e688"); СвойствоДокПО = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "Плательщик_6dc68921f1f9435891b9e90fdfcb1468"); Если объект.Основания.Количество()>0 тогда МассивСтруктур = Новый Массив; МассивСтруктур.Добавить(Новый Структура("Свойство, Значение",СвойствоДокО,объект.Основания[0].Основание.Организация)); МассивСтруктур.Добавить(Новый Структура("Свойство, Значение",СвойствоДокО,объект.Основания[0].Основание.Контрагент)); МассивСтруктур.Добавить(Новый Структура("Свойство, Значение",СвойствоДокПО,объект.Основания[0].Основание.Контрагент)); НужнаяСсылка = Объект.Ссылка; Если НужнаяСсылка.Пустая() Тогда СсылкаНового = Документы.ПоручениеЭкспедитору.ПолучитьСсылку(); ЭтотОбъект.УстановитьСсылкуНового(СсылкаНового); Ссыл = ЭтотОбъект.ПолучитьСсылкуНового(); КонецЕсли; УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(НужнаяСсылка, МассивСтруктур); КонецЕсли; КонецЕсли; Код не пашет на месте установления новой ссылки ещё не созданного документа. Подскажите как решить? Чтобы установить реквизиты, нужна ссылка, а ссылки ешё нет. |
|||
1
Волшебник
08.08.23
✎
13:35
|
Запишите документ, будет ссылка. Установите реквизиты после записи.
|
|||
2
RomanYS
08.08.23
✎
13:38
|
Ссыл = ЭтотОбъект.ПолучитьСсылкуНового();//НужнаяСсылка?
|
|||
3
Aleksey
08.08.23
✎
13:38
|
Ну так это разве не табличная часть документа? Ну и заполняй так же как обычную ТЧ
|
|||
4
RomanYS
08.08.23
✎
13:43
|
(3) допреквизиты - ТЧ, допсвойства - РС.
|
|||
5
MAPATNK2
naïve
08.08.23
✎
13:54
|
(1) Записывать документ мне не нужно, не факт, что пользователь захочет его записать.
|
|||
6
MAPATNK2
naïve
08.08.23
✎
13:54
|
(3) (4) Нет, это не табличная часть документа.
|
|||
7
MAPATNK2
naïve
08.08.23
✎
13:55
|
(2) Ну чутка перепутал. вместо НужнаяСсылка должно быть Ссыл. В любом случае, на моменте получения ссылки летит ошибка, что Метод "УстановитьСсылкуНового" не обнаружен.
|
|||
8
RomanYS
08.08.23
✎
14:03
|
(7) и когда ты собирался это озвучить)))?
ЭтотОбъект у тебя это форма и у нее действительно нет такого метода |
|||
9
RomanYS
08.08.23
✎
14:05
|
(6) так опеределись допреквизиты или допсвойства.
|
|||
10
Aleksey
08.08.23
✎
14:06
|
(4) ну в заголовкке и в теме речь идет о "доп реквизиты ", т.е. ТЧ
А автор говорит что это не ТЧ. Т.е. или кто от вводит в заблуждение, или речь о старой конфе когда допреквизиты были только в справочнике и хранились в РС |
|||
11
MAPATNK2
naïve
08.08.23
✎
14:32
|
(10) Почитал, да ТЧ. С управляемыми формами не работал. Но разбираться, как с ТЧ работать доп реквизитов, времени нет. Пытался по примерам из статей сделать, но не понятно куда эту процедуру пихать, почему ошибки валяться при попытке использовать Объект.ДополнительныеРеквизиты.Найти(СвойствоДокО, "Свойство");
Хочу сделать через БСП, нужно понять, как получить ссылку документа, который ещё не создан из модуля формы. |
|||
12
MAPATNK2
naïve
08.08.23
✎
14:34
|
Т.е пытался сделать так
ДопРек = Объект.ДополнительныеРеквизиты.Найти(СвойствоДокО, "Свойство"); Если ДопРек = Неопределено Тогда ДопРек = Объект.ДополнительныеРеквизиты.Добавить(); КонецЕсли; ДопРек.Свойство = СвойствоДокО; ДопРек.Значение = объект.Основания[0].Основание.Организация; ошибка на первой же строке "найти". |
|||
13
Garykom
гуру
08.08.23
✎
14:34
|
(5) Вот когда пользователь захочет записать тогда и выполняй свой код
|
|||
14
Garykom
гуру
08.08.23
✎
14:34
|
(12) Может тебе на курсы или просто в менагеры?
|
|||
15
MAPATNK2
naïve
08.08.23
✎
14:35
|
(13) Не вариант, пользователь должен видеть данные доп реквизиты, после чего принять решение о проведении документа.
|
|||
16
MAPATNK2
naïve
08.08.23
✎
14:35
|
(14) Возможно, но пока и тут норм.
|
|||
17
Garykom
гуру
08.08.23
✎
14:36
|
(16) Тебе еще и платят что ли?
|
|||
18
MAPATNK2
naïve
08.08.23
✎
14:36
|
(14) Тут больше опыт, курсы в данном случае не помогут, проходил десятки))
|
|||
19
MAPATNK2
naïve
08.08.23
✎
14:37
|
(17) Давай по делу) Не хочешь помочь, беги в другую ветку.
|
|||
20
Garykom
гуру
08.08.23
✎
14:37
|
(19) Тут уже не поможешь... Сразу в морг
|
|||
21
Garykom
гуру
08.08.23
✎
14:39
|
Олень зачем тебе Найти если у тебя форма нового документа???
ТЧ ДополнительныеРеквизиты пустая 100%! |
|||
22
Garykom
гуру
08.08.23
✎
14:41
|
И ты это пытаешься делать ПриСозданииНаСервере или ПриОткрытии?
|
|||
23
MAPATNK2
naïve
08.08.23
✎
14:41
|
(21) 1. Откуда мне знать, что она пустая. Доп реквизиты есть. По логике, ТЧ должна быть заполнена доп реквизитами, а вот значения должны быть пустыми.
При заполнении её так же ничего не происходит. ДопРек = Объект.ДополнительныеРеквизиты.Добавить(); ДопРек.Свойство = СвойствоДокО; ДопРек.Значение = объект.Основания[0].Основание.Организация; |
|||
24
Garykom
гуру
08.08.23
✎
14:42
|
(23) >По логике, ТЧ должна быть заполнена доп реквизитами, а вот значения должны быть пустыми.
По чьей логике? |
|||
25
Garykom
гуру
08.08.23
✎
14:44
|
УФ = клиент-сервер
там есть хитрости с этим твоим "Объект" |
|||
26
Garykom
гуру
08.08.23
✎
14:46
|
Подумай нахрена вот такой код пишут, для вызова &НаКлиенте
|
|||
27
MAPATNK2
naïve
08.08.23
✎
14:52
|
(22) Пробовал и при открытии и при Создании на Сервере. Ничего не дает. (26) Этот код тоже пихал, ошибка при выполнении "Пересчитать".
|
|||
28
Garykom
гуру
08.08.23
✎
15:22
|
(27) >ошибка при выполнении "Пересчитать".
Ыыыы |
|||
29
MAPATNK2
naïve
08.08.23
✎
15:27
|
В общем, проблема была в том, что я кидал в расширение обработчик события после, а не перед. (28) Документ = РеквизитФормыВЗначение("Объект"); Это вообще нафиг не надо было.
|
|||
30
MAPATNK2
naïve
08.08.23
✎
15:30
|
(28) Я думал, что эта дичь Документ.Пересчитать(); форму обновляет, а это просто шлак какой то.
|
|||
31
Garykom
гуру
08.08.23
✎
15:54
|
(29) эта штука нужна когда ПриОткрытии например делаешь или еще где на клиенте
если в ПриСозданииНаСервере то не надо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |