Имя: Пароль:
1C
1С v8
УФ. Обработка внешних табличных частей
,
0 asisdes
 
01.10.20
10:25
Доброго дня! Коллеги можете помочь с задачкой.
Есть документ Поступление из переработке - тут мы вносим что к нам пришло (Номенклатура, Количество), Табличная часть - Продукция
Есть еще документ Заявление о ввозе с Табличной частью Товары.
Вот я хочу через обработку Внешних табличных частей выбирать документ Переработки и заполнять табличную часть из Переработки...

Короче, я застрял в моменте когда на сервере я должен манипулировать с объектом и потом вернуть все как то обратно на клиент... помогите.

<code>
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
    
    //Для каждого ТекущаяСтрока из ВладелецФормы.Объект.Товары Цикл
    //    ТекущаяСтрока.Количество = 100 ;
    //    Сообщить(ТекущаяСтрока.Количество) ;
    //КонецЦикла ;
    
    //Спросим у пользователя разрешение на продолжение обработки
    Режим = РежимДиалогаВопрос.ДаНет;
    Текст = "Текущие данные документа будут заменены новыми без возможности восстановления.
    |Продолжить?";
    Ответ = Вопрос(Текст, Режим, 0);
    
    Если Ответ = КодВозвратаДиалога.Да Тогда
        
        Для каждого Элемент Из ОбъектыНазначенияМассив Цикл
            Параметр = Элемент;
        КонецЦикла;
        
        ПараметрыФормы  = Новый Структура("РежимВыбора, ЗакрыватьПриВыборе", Истина, Истина);
        ОбработкаВыбора = Новый ОписаниеОповещения("ВыбратьДокументКонец", ЭтаФорма,
        Новый Структура("Параметр1", Параметр));
    
        ОткрытьФорму("Документ.ПоступлениеИзПереработки.ФормаВыбора", ПараметрыФормы,
        ЭтаФорма, , , , ОбработкаВыбора);
    КонецЕсли;
    
КонецПроцедуры

&НаКлиенте
Процедура ВыбратьДокументКонец(Значение, ДопПараметры) Экспорт
    Если Значение = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    ЗаполнитьТЧПоДаннымПоследнегоДокумента(Значение, ДопПараметры.Параметр1);
    
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьТЧПоДаннымПоследнегоДокумента(ДокументПереработки, ДокументЗаявление)

            ОбъектПереработки = ДокументПереработки.ПолучитьОбъект();
            ОбъектЗаявления = ДокументЗаявление.ПолучитьОбъект();
            
            ОбъектЗаявления.Товары.Очистить();
            
            Для Каждого Строка из ОбъектПереработки.Продукция Цикл
                  НоваяСтрока = ОбъектЗаявления.Товары.Добавить();
                  НоваяСтрока.Номенклатура = Строка.Номенклатура;
            КонецЦикла;

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

</code>
1 Ёпрст
 
01.10.20
10:44
Вопрос? у тя не уф разве ?
2 Ёпрст
 
01.10.20
10:46
Для каждого Элемент Из ОбъектыНазначенияМассив Цикл
            Параметр = Элемент;
        КонецЦикла;

это зачем?
3 Ёпрст
 
01.10.20
10:47
ОбъектПереработки = ДокументПереработки.ПолучитьОбъект();
            ОбъектЗаявления = ДокументЗаявление.ПолучитьОбъект();

и это зачем?
4 asisdes
 
01.10.20
11:03
да. запутался чутка, ... где там объект, где объектФормы, и понеслось.... )))) нагородил огород.
Понятно что УФ не дает работать с объектами, надо переганять все на сервер и от туда возвращать то что надо...
Закон Брукера: Даже маленькая практика стоит большой теории.