Имя: Пароль:
1C
1С v8
Ошибка при изменении колонки ТЧ дока внешней обработкой. В чем она?
0 Обработка
 
06.11.19
16:32
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
    
    Для Каждого Элемент из ОбъектыНазначенияМассив Цикл
        
        КлючПоиска = Новый Структура("Ключ", Элемент);
        
        Форма = ПолучитьФорму("Документ.ОтражениеЗарплатыВБухучете.Форма.ФормаДокумента",КлючПоиска);    
        Форма.ЭтотОбъект.Прочитать();
        НовыйОбъект = Форма.Объект;
        УдержаннаяЗарплата = Форма.УдержаннаяЗарплата;
        ЗаполнитьПитаниеСотрудников(НовыйОбъект,УдержаннаяЗарплата);
        КопироватьДанныеФормы(УдержаннаяЗарплата, Форма.УдержаннаяЗарплата);
        
    КонецЦикла;    
    
КонецПроцедуры

&НаСервере
// Функция заполнения питания по сотрудникам
//
Функция ЗаполнитьПитаниеСотрудников (Объект, УдержаннаяЗарплата )
    
    КонтрагентЗаПитание = Справочники.Контрагенты.НайтиПоНаименованию("ПитаниеСотрудников");    
    Для Каждого Строка из УдержаннаяЗарплата Цикл
        Если Строка.ВидОперации = Перечисления.ВидыОперацийПоЗарплате.ПрочиеУдержания Тогда    
            Строка.Контрагент = КонтрагентЗаПитание;
        КонецЕсли;    
    КонецЦикла;
    
    Возврат УдержаннаяЗарплата;
    
КонецФункции


пишет===
{ВнешняяОбработка.VED_ЗаполнитьПолучателяЗаПитание.Форма.Форма.Форма(11)}: Поле объекта не обнаружено (УдержаннаяЗарплата)
        УдержаннаяЗарплата = Форма.УдержаннаяЗарплата;
1 vicof
 
06.11.19
16:35
У формы нет такого реквизита, как "удержаннаязарплата"
2 Обработка
 
06.11.19
16:36
НО вот если эту внешнюю обработку делаю для отладки тестовой и с формы обработки заполняю все норм. Без ошибок но конечно не заполняется потому что форма то не открыта. Отлачдик норм проходит.

И при этом кнопку сделал и реквизит док соответствующего типа.

НаКлиенте
Процедура вып(Команда)
    // Вставить содержимое обработчика.
    КлючПоиска = Новый Структура("Ключ", док);
        
        Форма = ПолучитьФорму("Документ.ОтражениеЗарплатыВБухучете.Форма.ФормаДокумента",КлючПоиска);    
        Форма.ЭтотОбъект.Прочитать();
        НовыйОбъект = Форма.Объект;
        УдержаннаяЗарплата = НовыйОбъект.УдержаннаяЗарплата;
        ЗаполнитьПитаниеСотрудников(НовыйОбъект,УдержаннаяЗарплата);
        КопироватьДанныеФормы(УдержаннаяЗарплата, НовыйОбъект.УдержаннаяЗарплата);

КонецПроцедуры
3 Обработка
 
06.11.19
16:39
(1)А как  мне отработать если на форме таблица -УдержаннаяЗарплата   имеет тип Объект.УдержаннаяЗарплата ?
4 hhhh
 
06.11.19
16:43
(3) ну,

         УдержаннаяЗарплата = Форма.Объект.УдержаннаяЗарплата;
5 bootini
 
06.11.19
16:43
(3) Так и отработать
Для Каждого Строка ИЗ Объект.УдержаннаяЗарплата Цикл
6 Обработка
 
06.11.19
16:46
(5) Я же работаю с формы объекта?
7 bootini
 
06.11.19
16:47
(6) да как 4
8 Обработка
 
06.11.19
16:51
ошибка у меня тут   ===  УдержаннаяЗарплата = Форма.УдержаннаяЗарплата;
9 hhhh
 
06.11.19
16:53
(8) ну (4) же. Сам же говоришь, что УдержаннаяЗарплата это не реквизит формы
10 Обработка
 
06.11.19
16:57
(9) да. Хоть убейте. Не могу сообразить.

Как находясь в форме дока вызвать обработку и что он просто одну колонку обработал и обновил.

Тупняк.
11 bootini
 
06.11.19
16:59
(8) Дык это сразу было заметно ты же написал, что так не работает:
  УдержаннаяЗарплата = Форма.УдержаннаяЗарплата;

а так работает:

     НовыйОбъект = Форма.Объект;
     УдержаннаяЗарплата = НовыйОбъект.УдержаннаяЗарплата;
12 Обработка
 
06.11.19
17:09
(11) Работает в режиме обычной обработки.
но как внешний с вызовом с формы нет.

УдержаннаяЗарплата = НовыйОбъект.УдержаннаяЗарплата;

{ВнешняяОбработка.VED_ЗаполнитьПолучателяЗаПитание.Форма.Форма.Форма(13)}: Поле объекта не обнаружено (УдержаннаяЗарплата)
        КопироватьДанныеФормы(УдержаннаяЗарплата, Форма.УдержаннаяЗарпл
13 bootini
 
06.11.19
17:11
Создание подключаемой обработки табличной части с диалогом запроса параметров заполнения (управляемые формы)
http://catalog.mista.ru/public/825702/
14 sqr4
 
06.11.19
17:13
я владельца формы юзаю
15 Обработка
 
06.11.19
17:22
спасибки покопаюсь. тут гулил не очень внятные вещи выши.
16 Обработка
 
06.11.19
17:59
(13) Пример работает с объектом. А мне бы с формой и все.
Ну пусть объект заполняется но на форме должжен увидеть изенения и чтоб было моддифицированность.
17 Обработка
 
07.11.19
07:00
так и не получилось  пока.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан