|
УФ: Как сформировать поступление из документа | ☑ | ||
---|---|---|---|---|
0
lisicin
25.11.16
✎
06:34
|
Здравствуйте, прошу помочь разобраться с управляемыми формами. Есть документ Закупка, по данным которого кнопкой на форме хочу создать Поступление.
&НаСервере Процедура СформироватьПоступление(Команда) Если Не ЗначениеЗаполнено(Объект.Поступление) ТОГДА Док = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент(); Иначе Док = Объект.Поступление.ПолучитьОбъект(); Док.Товары.Очистить(); Док.Услуги.Очистить(); КонецЕсли; Док.Дата = Объект.Дата; ОбщегоНазначения.УстановитьНомерДокумента(Док); Док.Организация = Объект.Организация; ...//указываю прочие реквизиты документа Попытка Док.Комментарий = "Заполнен на основании "+Объект.Ссылка; Док.Записать(); Поступление = Док.Ссылка; Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Сообщить("Создано: "+Объект.Поступление); Док.Записать(РежимЗаписиДокумента.Запись); КонецПроцедуры При выполнении документ поступления не создается. Подозреваю, что возможно нужно разделить на процедуры &НаКлиенте и &НаСервере , но не могу вникнуть как именно это сделать. |
|||
1
GenAcid
25.11.16
✎
06:46
|
Подозреваю что документ создается.
Только вот тут чего-то не хватает: Поступление = Док.Ссылка; А еще почитай про Заполнить и ОбработкаЗаполнения |
|||
2
lisicin
25.11.16
✎
06:54
|
(1) Ну да, там Объект.Поступление = Док.Ссылка;
Должно быть. Но сути не меняет - в Поступлениях нового документа не появляется. |
|||
3
Mankubus
25.11.16
✎
07:00
|
как понял что не создается?
|
|||
4
h-sp
25.11.16
✎
07:05
|
(2) а &НаКлиенте где у тебя? Покажи.
|
|||
5
h-sp
25.11.16
✎
07:15
|
(2) в свойствах команды какая процедура указана?
|
|||
6
lisicin
25.11.16
✎
07:21
|
(3) Зашёл в Покупки->Поступление (акты, накладные) да посмотрел.
(4) Сильно не смейся, но нигде :) Я понимаю ещё, что Сообщить("Создано: "+Объект.Поступление); я не увижу, т.к. она не в процедуре &НаКлиенте, но в остальном, что ещё из этого надо бы перенести в процедуру на клиенте я не знаю. |
|||
7
lisicin
25.11.16
✎
07:24
|
(5) Приведённая в первом сообщении
|
|||
8
h-sp
25.11.16
✎
07:24
|
(6) Сообщить работает на сервере, ты ее увидишь.
|
|||
9
h-sp
25.11.16
✎
07:25
|
(7) ну так она не запускается вообще. Процедуда должна быть на клиенте.
|
|||
10
lisicin
25.11.16
✎
07:30
|
(9) Я так понимаю тогда в свойствах команды надо указать процедуру типа:
&НаКлиенте Процедура СформироватьПоступление(Команда) СформироватьПоступлениеНаСервере(); КонецПроцедуры А код из первого сообщения перенести в "СформироватьПоступлениеНаСервере"? |
|||
11
h-sp
25.11.16
✎
07:32
|
(10) ну, да. Просто надо посмотреть для примера соседние команды, там же таких кнопок и команд сотни.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |