Имя: Пароль:
1C
1С v8
Заполнить реквизиты в новом документе
0 егаис
 
31.08.18
15:08
В обработчике присозданиинасервере() есть команда
    ВзаиморасчетыССотрудникамиФормы.ВедомостьПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);


Как программно ее вызвать, она ссылается на форму объекта.
Делаю через получение формы, не получается



&НаСервере
Процедура ЗаполнитьДокументНаСервере(ДанныеФормы)
    
    Док = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.ВедомостьНаВыплатуЗарплатыВБанк")); // Получаем объект из данных формы ИЛИ
    Док = Документы.ВедомостьНаВыплатуЗарплатыВБанк.СоздатьДокумент();
    
    Отказ = Ложь;
    ВзаиморасчетыССотрудникамиФормы.ВедомостьПриСозданииНаСервере(ДанныеФормы, Отказ, Истина);

    Док.Дата = ТекущаяДата();
    Док.ПериодРегистрации = Дата(2018,08,01);
    Док.СпособВыплаты = Справочники.СпособыВыплатыЗарплаты.Зарплата;
    Док.ПроцентВыплаты = 100;
    Док.Округление = Справочники.СпособыОкругленияПриРасчетеЗарплаты.НайтиПоНаименованию("Без округления");
    
    Зарплата = Док.Зарплата.Добавить();
    Зарплата.КВыплате = 100;
    
    ЗначениеВДанныеФормы(Док,ДанныеФормы); // Кладем обратно в объект формы уже созданный документ
    
    Док.Записать();
    
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
    
    Форма = ПолучитьФорму("Документ.ВедомостьНаВыплатуЗарплатыВБанк.ФормаОбъекта");
    ДанныеФормы = Форма.Объект;
    ЗаполнитьДокументНаСервере(ДанныеФормы);
    
КонецПроцедуры


Как передать сюда форму?ВзаиморасчетыССотрудникамиФормы.ВедомостьПриСозданииНаСервере(?????, Отказ, Истина);
1 Cyberhawk
 
31.08.18
15:08
ЭтотОбъект
2 егаис
 
31.08.18
15:11
Так не работает    ВзаиморасчетыССотрудникамиФормы.ВедомостьПриСозданииНаСервере(Док.ЭтотОбъект, Отказ, Истина);


{ОбщийМодуль.ВзаиморасчетыССотрудникамиФормыБазовый.Модуль(33)}: Поле объекта не обнаружено (Параметры)
    Если Форма.Параметры.Ключ.Пустая() Тогда
3 hhhh
 
31.08.18
15:20
(2) ЭтотОбъект
4 егаис
 
31.08.18
15:22
ВзаиморасчетыССотрудникамиФормы.ВедомостьПриСозданииНаСервере(ЭтотОбъект, Отказ, Истина);

Аналогичная ошибка, где туплю?
5 hhhh
 
31.08.18
15:24
(4) ну возможно, что ДанныеФормы - это данные формы, а ты думаешь, что Форма
6 егаис
 
31.08.18
15:28
(5) это и есть данныеформаструктура
Разве можно передать с клиента Форма.ЭтотОбъект?
7 hhhh
 
31.08.18
15:31
(6) юморишь всё?

ладно дарю синтакс-помощник

УправляемаяФорма.ЭтотОбъект (ManagedForm.ThisObject)
УправляемаяФорма (ManagedForm)
ЭтотОбъект (ThisObject)
Использование:

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

Тип: УправляемаяФорма.
Содержит данную форму. Может быть использовано в модуле формы для получения данной формы и передачи ее в качестве параметра в другие формы, глобальные процедуры и функции и т.д.
8 hhhh
 
31.08.18
15:33
то есть Этот объект это вообще не ДанныеФормыСтруктура, о форма. Вообще другой тип ты туда хочешь зафигачить.
9 егаис
 
31.08.18
15:38
так, дымит уже
еще раз, это внешняя обработка, так не работает
&НаКлиенте
Процедура Команда1(Команда)
    
    Форма = ПолучитьФорму("Документ.ВедомостьНаВыплатуЗарплатыВБанк.ФормаОбъекта");
    ДанныеФормы = Форма.Объект;
ФормаЭтотОбъект = Форма.ЭтотОбъект;
    ЗаполнитьДокументНаСервере(ФормаЭтотОбъект, ДанныеФормы);

КонецПроцедуры

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:


юморю, не юмору, не догоняю (
10 Cyberhawk
 
31.08.18
15:44
Напишешь в личку - могу подключиться и посмотреть. А то ты чт-то накаляешь форум.
11 sitex
 
naïve
31.08.18
15:46
(9) Если это с ЗУП там же вроде просто ЭтаФорма передается НаСервере
12 Cyberhawk
 
31.08.18
16:00
Так ты и так попадаешь в нужный тебе метод, когда получаешь форму
13 Cyberhawk
 
31.08.18
16:00
И завязывай использовать форму объекта, когда тебе надо просто создать документ и записать его в БД
14 Cyberhawk
 
31.08.18
16:01
Из другой формы вызвать серверный метод нужной тебе формы не получится, т.к. получить форму ты можешь только на клиенте, и на сервер ее передать можно только контексто
15 егаис
 
31.08.18
16:02
понял, спасибо
16 Cyberhawk
 
31.08.18
16:04
(11) Он из внешней обработки хочет вызвать метод ОМ, в который передается форма документа. Так низя.
17 Cyberhawk
 
31.08.18
16:04
Но, повторю (12), это и не требуется, т.к. все и так ывзывается