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

ЗУП 3 Внешняя команда и ВладелецФормы

ЗУП 3 Внешняя команда и ВладелецФормы
Я
   егаис
 
18.09.20 - 14:50
небольшой код
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения) Экспорт
    
    МассивСотрудников = Новый Массив();
    Для Каждого Стр Из ВладелецФормы.Объект.Начисления Цикл
        МассивСотрудников.Добавить(Стр.Сотрудник);     
    КонецЦикла;
    
    ОписаниеТаблицы = ОписаниеТаблицыНачислений();
    ИдентификаторыСтрок = Новый Массив;
    
    ВладелецФормы.РассчитатьСотрудниковНаСервере(МассивСотрудников, ОписаниеТаблицы, Истина);
    ВладелецФормы.Модифицированность = Истина;
    Для Каждого Стр Из ВладелецФормы.Объект.Начисления Цикл
        //некие действия
    КонецЦикла;
    
    ДокументВладелец = ВладелецФормы.Объект;
    ПересмотретьРасчетнуюБазуНаСервере(ДокументВладелец);    
    
КонецПроцедуры


&НаСервере
Процедура ПересмотретьРасчетнуюБазуНаСервере(ДокументВладелец)
    
    Для Каждого Стр Из ДокументВладелец.Начисления цикл
        КадровыеДанные = КадровыйУчет.КадровыеДанныеСотрудников(Истина, ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Стр.Сотрудник), "ДатаУвольнения", ДокументВладелец.Дата);
        Если НЕ (КадровыеДанные[0].ДатаУвольнения = Дата(1,1,1)) Тогда
            ИдентификаторСтрокиВидаРасчета = Стр.ИдентификаторСтрокиВидаРасчета;
            НайденныеСтроки = ДокументВладелец.Показатели.НайтиСтроки(Новый Структура("ИдентификаторСтрокиВидаРасчета, Показатель", ИдентификаторСтрокиВидаРасчета, Справочники.ПоказателиРасчетаЗарплаты.РасчетнаяБаза));
            Если НайденныеСтроки.Количество() > 0 Тогда
                НайденныеСтроки[0].Значение = 0;
            КонецЕсли;    
        КонецЕсли;    
    КонецЦикла;
    
КонецПроцедуры


до ПересмотретьРасчетнуюБазуНаСервере(ДокументВладелец) все работает как надо
В ПересмотретьРасчетнуюБазуНаСервере(ДокументВладелец) значение присваивается, все условия применяются, но на форме значение не меняется.
В чем мой косяк?
Задача обнулить показатель РасчетнаяБаза в документе премия по уволенным сотрудникам. Задача решается через внешнюю команду.
   егаис
 
3 - 19.09.20 - 07:31
подниму
   Фрэнки
 
4 - 19.09.20 - 08:05
из топика не совсем понятно : цель в применении внешней команды или нужно найти решение задачи? Если решение задачи, то постановка не раскрыта.
Ну может я не совсем проснулся, такое тоже допускаю.
Но есть предложение немного раскрыть и тогда возможно кто-нибудь озвучит другие способы решения.
   егаис
 
5 - 19.09.20 - 11:13
Команда определяет расчетную базы для документа Премия, заполняет показатель "Расчетная база".
До этого
ДокументВладелец = ВладелецФормы.Объект;
ПересмотретьРасчетнуюБазуНаСервере(ДокументВладелец);    
все работает на ура.

Добавилась задача обнулить расчетную базу уволенным сотрудникам.
Для этого и создана процедура ПересмотретьРасчетнуюБазуНаСервере()
Она работает корректно, до НайденныеСтроки[0].Значение = 0  доходим.
Но почему-то на форме владельца данные не изменились.
Я где-то туплю с этим владельцем.
   егаис
 
6 - 19.09.20 - 13:23
вопрос закрыт
писал в объект, а надо было в реквизит формы , Значение1 зовут его :(

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