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

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

Внешняя обработка для ЗУП 1С 8.3 Заполнение табличной части

Внешняя обработка для ЗУП 1С 8.3 Заполнение табличной части
Я
   klimbna
 
14.12.17 - 07:02
Здравствуйте
Делаю обработку для заполнения табличной части документа в конфигурации ЗУП 3.1 платформа 8.3.10.2561 в тонком клиенте.

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

    // ДополнительнаяОбработка, 

    // ДополнительныйОтчет,                                 

    // ЗаполнениеОбъекта, 

    // Отчет, 

    // ПечатнаяФорма, 

    // СозданиеСвязанныхОбъектов

    
    ПараметрыРегистрации.Наименование       = "Очистить график по всем сотрудникам";
    ПараметрыРегистрации.Версия             = "ver.:17.1214";
    ПараметрыРегистрации.Назначение            = ДокументНазначение;
    ПараметрыРегистрации.Информация            = "Очищает часы работы в 
    |индивидуальном графике 
    |по всем сотрудникам";
    
    ПараметрыРегистрации.БезопасныйРежим    = Истина;
    ПараметрыРегистрации.ВерсияБСП          = "2.2.2.1";
    
    //КомандыОбработки = ПолучитьКомандыОбработки () ;

    
    // Добавляем команды обработки

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

И на Форме Обработки работаем

&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт     
    
    ВидВремениПусто = ОбщегоНазначенияКлиентСервер.ПредопределенныйЭлемент("Справочник.ВидыИспользованияРабочегоВремени.ПУСТАЯССЫЛКА");         
    
    Для каждого  СтрокаТЗ из ВладелецФормы.Объект.ДанныеОВремени Цикл
        Для НомерДня = 1 По 30 Цикл 
            СтрокаТЗ["Часов"+НомерДня]=0;
            СтрокаТЗ["ВидВремени"+НомерДня]=ВидВремениПусто;     
        КонецЦикла;    
    КонецЦикла;
    
    Сообщить("Выполнили обработку");
    
    // МЕТОДЫ КОТОРЫЕ НЕ РАБОТАЮТ

    //1/    п = Новый Структура("Ключ", ВладелецФормы); 

    //1/    Форма = ПолучитьФорму("Документ.ИндивидуальныйГрафик.ФормаОбъекта", п);   

    //1/    Форма.Прочитать()

    
    //2/    ВладелецФормы.ОбновитьОтображениеДанных();  

    //3/ВладелецФормы.Активизировать();

    //4/ВладелецФормы.Открыть();

    ВладелецФормы.Записать();//-/работает но сразу записывает изменения в БД

    
КонецПроцедуры
 
 
   klimbna
 
1 - 14.12.17 - 07:12
В итоге данные изменяются - но пользователь видит все по старому и если вызвать  ВладелецФормы.Записать(); или нажать кнопку записать то данные обновляются и на форме у пользователя но тогда они уже записаны в базу и отменить возможности нет.
Как сделать так что бы обновлять отображение у пользователя без записи, что б пользователь смог оценить и сам принять решение изменять документ или нет?

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