Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Вызов экспортной процедуры на клиенте из вне

Вызов экспортной процедуры на клиенте из вне
Я
   Juliette_Juliette
 
08.10.20 - 08:45
Как из обработки создать и рассчитать документ среднего заработка в ЗУПе?
Вот пробую
&НаСервере
Процедура Команда1НаСервере()
    
    ДокОСЗ = Документы.ОплатаПоСреднемуЗаработку.СоздатьДокумент();
    ДокОСЗ.ПериодРегистрации = Дата(2020,09,01);
    ДокОСЗ.Организация = Справочники.Организации.ОрганизацияПоУмолчанию();
    ДокОСЗ.Сотрудник = Объект.Сотрудник;
    ДокОСЗ.ФизическоеЛицо = Объект.Сотрудник.ФизическоеЛицо;
    ДокОСЗ.ВидВремени = Справочники.ВидыИспользованияРабочегоВремени.ГосударственныеОбязанности;
    
    ФормаДокумента=ДокОСЗ.ПолучитьФорму("Документ.ОплатаПоСреднемуЗаработку.Форма.ФормаДокумента");
    ФормаДокумента.РассчитатьСотрудника();    
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
    Команда1НаСервере();
КонецПроцедуры


где в модуле формы документа
// Процедура используется для инициации расчета начислений из вне (на клиенте).
&НаКлиенте
Процедура РассчитатьСотрудника(Сотрудник, ОписаниеТаблицы) Экспорт
    РассчитатьДанныеФормы(Сотрудник, ОписаниеТаблицы);
КонецПроцедуры

ошибка
Значение не является значением объектного типа (РассчитатьСотрудника)
а ФормаДокумента = Неопределено
   ДенисЧ
 
1 - 08.10.20 - 08:48
НаСервере получитьформу()?
Свидание со стенкой?
   Cyberhawk
 
2 - 08.10.20 - 08:48
Может в ПриСозданииНаСервере получаемой формы взводится Отказ. Тогда у тебя Неопределено.
   Juliette_Juliette
 
3 - 08.10.20 - 08:51
(1) а как правильно?
   Juliette_Juliette
 
4 - 08.10.20 - 08:54
(2) Нет Отказ = Истина в присоздании
   Juliette_Juliette
 
5 - 08.10.20 - 09:07
сделала так
&НаСервере
Функция СоздатьНовыйДокумент()
    
    ДокОСЗ = Документы.ОплатаПоСреднемуЗаработку.СоздатьДокумент();
    ДокОСЗ.ПериодРегистрации = Дата(2020,09,01);
    ДокОСЗ.Организация = Справочники.Организации.ОрганизацияПоУмолчанию();
    ДокОСЗ.Сотрудник = Объект.Сотрудник;
    ДокОСЗ.ФизическоеЛицо = Объект.Сотрудник.ФизическоеЛицо;
    ДокОСЗ.ВидВремени = Справочники.ВидыИспользованияРабочегоВремени.ГосударственныеОбязанности;
    Возврат ДокОСЗ.Ссылка;
КонецФункции

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


но все равно не могу до РассчитатьСотрудника достучаться
   Juliette_Juliette
 
6 - 08.10.20 - 09:24
получилось
Надо было документ записать перед открытием.
А это вообще правильно? Может правильнее заполнять реквизиты в форме, а не через объект?
   Галахад
 
7 - 08.10.20 - 09:35

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.