Загрузка их TXT в ЗУП

1. koloboc74 83 30.08.17 10:45 Сейчас в теме
Добрый день , делаю загрузку из txt в документ Принятие на работу . Конфигурация ЗУП 3.1 УФ .
Вопрос: Как мне сделать загрузку в разные документ я знаю , но при этом еще хотелось чтобы на форме документа вызывалось процедура расчета ФОТ (ведется штатное расписание). И еще в загрузке может быть больше одного документа.
Вот код где идет запись и создание документа :

Если Стр="#end_check#" тогда
Если ДокЗПОбъект<>Документы.ПриемНаРаботу.ПустаяСсылка() тогда

ДокЗПОбъект.Записать();
ДокОб1 =ДокЗПОбъект.Ссылка.Ссылка.ПолучитьОбъект();
ДокОб1 .ЗаполнитьНачисленияПоПозицииЗавершение(Ложь,); - экспортная процедура в документе для заполнения Таблица вот она и не работает


КонецЕсли;

Делаю На Сервере
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spe1c 5 30.08.17 10:50 Сейчас в теме
(1)
ДокОб1 =ДокЗПОбъект.Ссылка.Ссылка.ПолучитьОбъект();
ДокОб1 .ЗаполнитьНачисленияПоПозицииЗавершение(Ложь,);


А почему ссылка.ссылка.получитьОбъект(), опечатка?
Процедура вы говорите на форме, а вызывать пытаетесь процедуру объекта. Так может быть ее нет в модуле объекта?
3. spe1c 5 30.08.17 10:54 Сейчас в теме
И вот это не понял:

ДокЗПОбъект.Записать();
ДокОб1 =ДокЗПОбъект.Ссылка.Ссылка.ПолучитьОбъект();

Зачем вы записываете объект и тут же его снова получаете?
6. koloboc74 83 30.08.17 11:13 Сейчас в теме
(3) Просто ДокЗПОбъект это ссылка ,а ДокОб1 получаю объект форма, а почему так ДокЗПОбъект.Ссылка.Ссылка.ПолучитьОбъект() иначе не как до объекта не добраться
4. koloboc74 83 30.08.17 11:07 Сейчас в теме
Документ создан но еще форма не создана , а чтобы заполнилась таблица нужно получить форму документа , а ДокОб1 =ДокЗПОбъект.Ссылка.Ссылка.ПолучитьОбъект(); получаю объект документа
5. koloboc74 83 30.08.17 11:09 Сейчас в теме
&НаКлиенте
Процедура ЗаполнитьНачисленияПоПозицииЗавершение(Отказ, ДополнительныеПараметры) Экспорт , это в документе Принятие на работу . Пытаюсь ее выполнить из внешней обработки через объект
7. lefthander 30.08.17 11:21 Сейчас в теме
(5)Вам нужна процедура РасчитатьФОТНаСервере()
Для этого вам надо ее поместить в свою обработку и переделать таким образом что бы она работала с созданным вами документом.
Пройти все процедуры создания и заполнения реквизитов и так далее по данным из тхт.
8. koloboc74 83 30.08.17 11:36 Сейчас в теме
РасчитатьФОТНаСервере() Ссылается на ПлановыеНачисленияСотрудниковФормы где нужны таблицы начисления и показателей . я их не как не достану.
9. lefthander 30.08.17 11:52 Сейчас в теме
(8)Почему? Серверный модуль ПлановыеНачисленияСотрудниковФормы там все процедуры и функции экспортные.
Параметры у ОписаниеДанныхТарифныхСтавок - реквизиты документа, у Вас конкретный сотрудник, сразу определяйте на этапе создания документа эти реквизиты и обращайтесь к ним.
10. koloboc74 83 30.08.17 12:16 Сейчас в теме
в этой функции ПолучитьРеквизитФормыПоПути не могу передать Объект как Управляемая форма ,как быть ?
11. lefthander 30.08.17 12:25 Сейчас в теме
(10)Потому что у Вас нет этой формы. документ в памяти и форма не создана. Вы пройдите отладчиком по созданию и заполнению документа, посмотрите что именно будет в ДанныеНачислений, может можно по другому получить эти данные.
12. koloboc74 83 30.08.17 12:42 Сейчас в теме
(11)А если мне сначала записать документ ?
13. lefthander 30.08.17 13:47 Сейчас в теме
(12)После записи форма документа не появится, если ее не открыть.
14. koloboc74 83 30.08.17 13:52 Сейчас в теме
(13)А открыть его не могу так как на сервере ... Блин что делать ?
16. lefthander 30.08.17 13:55 Сейчас в теме
(14)Думать. Вы посмотрели что возвращается в ДанныеНачислений, если создать документ в программе?
15. koloboc74 83 30.08.17 13:54 Сейчас в теме
А если передать ссылки в ТЗ и все сделать на клиенте через форму КопироватьДанныеФормы ?
18. lefthander 30.08.17 13:57 Сейчас в теме
(15)Какую форму вы хотите копировать? У вас обработка, вы создали документ программно, надо заполнить реквизиты при создании, добавить реквизиты для расчета документов из файла ТХТ, рассчитать и провести.
17. koloboc74 83 30.08.17 13:56 Сейчас в теме
Нет , с бухгалтерией воевал , SQL глучит


ДанныеНачислений ?
19. lefthander 30.08.17 14:00 Сейчас в теме
(17)
ДанныеНачислений ?

Ну да т эта строчка
ДанныеНачислений = ОбщегоНазначенияКлиентСервер.ПолучитьРеквизитФормыПоПути(Форма, ПутьКДанным);

Вы не можете передать форму, ее у вас нет. Так посмотрите что возвращается в данныеначислений если просто создаете документ.
20. koloboc74 83 30.08.17 14:00 Сейчас в теме
Делал по этому примеру
&НаКлиенте
Процедура Команда(Команда)

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

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

// Можно использовать безконтекстный вызов, оптимизируем передачу данных

&НаСервереБезКонтекста

Функция ЗаполнитьДокументНаСервере(ДанныеФормы);

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

Док = Документы.НашДокумент.СоздатьДокумент();

// Заполняем реквизиты объекта или другие действия ********

ЗначениеВДанныеФормы(Док,ДанныеФормы); // Кладем обратно в объект формы уже созданный документ

КонецФункции

Записать и заполнить получилось , но только один документ , а их может и 20 шт быть
21. lefthander 30.08.17 14:02 Сейчас в теме
(20) в текст это чем то разделяется? Вызывайте создание документов в цикле пока не кончатся разделители документов в ТХТ файле.
22. koloboc74 83 30.08.17 14:02 Сейчас в теме
23. koloboc74 83 30.08.17 14:03 Сейчас в теме
Если Стр="#end_check#" тогда
Если ДокЗПОбъект<>Документы.ПриемНаРаботу.ПустаяСсылка() тогда

ДокЗПОбъект.Записать();
ДокОб1 =ДокЗПОбъект.Ссылка.Ссылка.ПолучитьОбъект();
ДокОб1 .ЗаполнитьНачисленияПоПозицииЗавершение(Ложь,); - экспортная процедура в документе для заполнения Таблица вот она и не работает


КонецЕсли;
24. koloboc74 83 30.08.17 14:05 Сейчас в теме
ДанныеФормыКоллекция
25. koloboc74 83 04.09.17 12:03 Сейчас в теме
Все спасибо, вопрос решил
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот