Вход | Регистрация


Не заполняется ТЧ документа внешней обработкой заполнения ТЧ

Не заполняется ТЧ документа внешней обработкой заполнения ТЧ
Я
   dka80
 
13.04.18 - 08:53
Добрый день.

Вот таким кодом во внешней обработки заполнения ТЧ пытаюсь заполнить документ:
Процедура ПослеВводаЗначения(ВыбЗнач, Параметры) Экспорт
    
    Если ВыбЗнач<>Неопределено Тогда
        
        Для каждого Элемент из ОбъектыНазначения Цикл

            ФормаОбъекта = ПолучитьФорму(ПолучитьПолноеИмяДокумента(Элемент)+".Форма.ФормаДокумента", Новый Структура("Ключ", Элемент));

            Если ФормаОбъекта = Неопределено Тогда
                Сообщить("Не удалось заполнить документ!");
                Возврат;
            КонецЕсли;
            
            ОбъектСсылки = ФормаОбъекта.Объект;

            ЗаполнитьПоТерритории(ОбъектСсылки, ВыбЗнач);
            ФормаОбъекта.ОбновитьОтображениеДанных();
            КопироватьДанныеФормы(ОбъектСсылки, ФормаОбъекта.Объект);
            ФормаОбъекта.Модифицированность = Истина;
            
        КонецЦикла;
    
    КонецЕсли;
    
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьПоТерритории(ОбъектСсылки, Территория)
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    КадроваяИсторияСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
        |    КадроваяИсторияСотрудниковСрезПоследних.ФизическоеЛицо КАК ФизическоеЛицо
        |ИЗ
        |    РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних КАК КадроваяИсторияСотрудниковСрезПоследних
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ТерриторииСотрудников.СрезПоследних КАК ТерриторииСотрудниковСрезПоследних
        |        ПО КадроваяИсторияСотрудниковСрезПоследних.Сотрудник = ТерриторииСотрудниковСрезПоследних.Сотрудник
        |ГДЕ
        |    КадроваяИсторияСотрудниковСрезПоследних.ВидСобытия <> ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Увольнение)
        |    И ТерриторииСотрудниковСрезПоследних.Территория = &Территория
        |
        |УПОРЯДОЧИТЬ ПО
        |    Сотрудник
        |АВТОУПОРЯДОЧИВАНИЕ";
    
    Запрос.УстановитьПараметр("Территория", Территория);
    тз = Запрос.Выполнить().Выгрузить();
    ОбъектСсылки.Сотрудники.Загрузить(тз);
    
    Для Каждого Строка Из ОбъектСсылки.Сотрудники Цикл
        Сообщить(Строка.Сотрудник);
    КонецЦикла;
     
КонецПроцедуры

В цикле сообщить выводятся сотрудники. Но на форме документа ничего не появляется. Что я делаю не так?
 
 
   Cyberhawk
 
1 - 13.04.18 - 08:55
Смешной - ты форму получаешь, но она не та
   dka80
 
2 - 13.04.18 - 08:56
Пояснишь, почему не та?
   Cyberhawk
 
3 - 13.04.18 - 08:57
Вопрос поставлен неверно. Это ты объясни, с чего ты взял / рассчитываешь, что будет та
   mehfk
 
4 - 13.04.18 - 09:00
Пятнично.
   dubraver
 
5 - 13.04.18 - 09:01
Загружай в объект.
ВладелецФормы.Объект.ТЧ.Загрузить(тз);
   dka80
 
6 - 13.04.18 - 09:01
Потому, что имя формы Документ.ОтпускБезСохраненияОплатыСписком.Форма.ФормаДокумента
   dka80
 
7 - 13.04.18 - 09:08
(5) не помогло
   dubraver
 
8 - 13.04.18 - 09:29
По шаблону попробуйте.
Я написал несколько обработок по заполнению.
Проблем не было.
http://dubraver.ru/?page_id=151
   dka80
 
9 - 13.04.18 - 09:34
Разобрался.
Отдельное спасибо (1) и (5).
Действительно форму получал того объекта, но не уже открытую.
Заменил ФормаОбъекта = ПолучитьФорму(ПолучитьПолноеИмяДокумента(Элемент)+".Форма.ФормаДокумента", Новый Структура("Ключ", Элемент));
            
на ФормаОбъекта = ВладелецФормы;
 и получилось

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