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

1С:Предприятие :: 1С:Предприятие 8 общая

внешняя обработка заполнения ТЧ. Выбрать период и заполнить

внешняя обработка заполнения ТЧ. Выбрать период и заполнить
Я
   altaykniga
 
30.03.18 - 16:25
Доброго вечера пятницы, уважаемые. Прошу подсказать решение задачи.

ЗУП 3.1
Конфигурация типовая. Необходимо создать внешнюю обработку заполнения ТЧ документа НачислениеЗарплаты. Пользователь должен выбрать период, и в результате выбора нужно заполнить Реквизиты табличной части "Начисления" ДатаНачала и ДатаОкончания.

Как это сделать с помощью внешней обработки заполнения ТЧ ?
 
 
   Cyberhawk
 
1 - 30.03.18 - 16:25
Нужно пытаться
   Cyberhawk
 
2 - 30.03.18 - 16:26
Документацию на ИТС по подсистеме БСП "Дополнительные отчеты и обработки" почитать для разогрева
   altaykniga
 
3 - 03.04.18 - 12:16
(1,2) сделал следующим образом, может кому пригодится

модуль обработки:
Функция СведенияОВнешнейОбработке() Экспорт 
    Назначения = Новый Массив ; 
    Назначения.Добавить("Документ.НачислениеЗарплаты") ; 
    ПараметрыРегистрации = Новый Структура ; 
    ПараметрыРегистрации.Вставить("Вид","ЗаполнениеОбъекта"); 
    ПараметрыРегистрации.Вставить("Назначение",Назначения); 
    ПараметрыРегистрации.Вставить("Наименование","Перезаполнить период в ТЧ Начисления (внешняя)"); 
    ПараметрыРегистрации.Вставить("Версия","1.0"); 
    ПараметрыРегистрации.Вставить("Информация","Дополнительная обработка табличной части НачисленияЗарплаты"); 
    ПараметрыРегистрации.Вставить("БезопасныйРежим",Истина); 
    Команды = ПолучитьТаблицуКоманд() ; 
    ДобавитьКоманду(Команды, "Перезаполнить период в ТЧ Начисления (внешняя)","ЗаполнитьДокумент","ВызовКлиентскогоМетода",Ложь,) ; 
    ПараметрыРегистрации.Вставить("Команды",Команды) ; 
    Возврат ПараметрыРегистрации; 
КонецФункции 

Функция ПолучитьТаблицуКоманд() 
    Команды = Новый ТаблицаЗначений ; 
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")) ; 
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")) ; 
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")) ; 
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")) ; 
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")) ; 
    Возврат Команды ; 
КонецФункции    

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") 
    НоваяКоманда = ТаблицаКоманд.Добавить() ; 
    НоваяКоманда.Представление = Представление ; 
    НоваяКоманда.Идентификатор = Идентификатор ; 
    НоваяКоманда.Использование = Использование ; 
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение ; 
    НоваяКоманда.Модификатор = Модификатор ; 
КонецПроцедуры

модуль формы обработки

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

&НаКлиенте
Процедура ОбработкаВыбораПериода(Период,Параметры) Экспорт

    Если Период <> Неопределено Тогда
        Для каждого ТекущаяСтрока из ВладелецФормы.Объект.Начисления Цикл
            ТекущаяСтрока.ДатаНачала = Период.ДатаНачала ; 
            ТекущаяСтрока.ДатаОкончания = Период.ДатаОкончания; 
        КонецЦикла ;    
    КонецЕсли;

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

в итоге моя команда появляется в кнопке "заполнить" на форме документа

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