Имя: Пароль:
1C
 
Конвертация данных 2.1 Выгрузка документа ПоступлениеТоваровУслуг (Товары и Услуги)
0 spiller26
 
25.07.17
10:21
Ваяю правила выгрузку из БП 3.0 в КА 2.2.
Поступление услуг и товаров идут в разных документах "ПоступлениеТоваровУслуг".
Хотелось бы сделать одним махом, чтобы ПКО для услуг и товаров было одно.
В КСО Табличные части
"Товары" > "Товары" и "Услуги" > "Товары".
Как задать чтобы если ВидОперации = Товары, то выгружал только ТЧ "Товары" > "Товары", а если ВидОперации = Услуги, выгружал только ТЧ "Услуги" > "Товары"?

Заранее благодарен.
1 Ёпрст
 
25.07.17
10:23
(0)
в ПКГС в передОбработкой присвой КоллекцииОбъектов нужную тч Источника.
Усё
2 spiller26
 
25.07.17
10:35
(1) Т.е. в ПКГС убрать Источник, а в "Перед Обработкой"

Если Источник.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.Товары Тогда
КоллекцияОбъектов = Источник.Товары.Выгрузить();
ИначеЕсли Источник.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.Услуги Тогда
КоллекцияОбъектов = Источник.Услуги.Выгрузить();
КонецЕсли;

Так получается?
3 Ёпрст
 
25.07.17
10:40
(2) да
4 Ёпрст
 
25.07.17
10:40
Источник можешь не убирать.
5 Ёпрст
 
25.07.17
10:41
Если присваиваешь коллекцию, именно она и полетит
6 spiller26
 
25.07.17
10:51
(5) Пробую, скоро отпишусь.
7 spiller26
 
25.07.17
10:55
Кстати кому интересно, в КА 2.2 разделили проведение в РеглУчете проходит отдельно.
И еще как в УТ фишка с "Партнерами".

После загрузки. Нужно использовать примерно вот такой код.


Если НЕ Объект.Контрагент = Справочники.Контрагенты.ПустаяСсылка() Тогда
    Если Объект.Партнер = Справочники.Партнеры.ПустаяСсылка() Тогда
        
        Если Объект.Контрагент.Партнер = Справочники.Партнеры.ПустаяСсылка() Тогда
            НайденныйПартнер = Справочники.Партнеры.НайтиПоНаименованию(Объект.Контрагент.Наименование);
        Иначе
            НайденныйПартнер = Объект.Контрагент.Партнер;
        КонецЕсли;
        Если НайденныйПартнер = Справочники.Партнеры.ПустаяСсылка() Тогда
            нПартнер = Справочники.Партнеры.СоздатьЭлемент();
            нПартнер.Наименование = Объект.Контрагент.Наименование;
            нПартнер.Комментарий = "Создан при загрузке из БП";
            нПартнер.НаименованиеПолное = Объект.Контрагент.НаименованиеПолное;
            нПартнер.Поставщик = Истина;
            нПартнер.Клиент = Истина;
            нПартнер.ПрочиеОтношения = Истина;
            нПартнер.Записать();
            Если Объект.Контрагент.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо Тогда
                нПартнер.ЮрФизЛицо = Перечисления.КомпанияЧастноеЛицо.Компания;
            Иначе
                нПартнер.ЮрФизЛицо = Перечисления.КомпанияЧастноеЛицо.ЧастноеЛицо;
            КонецЕсли;    

            Объект.Партнер = нПартнер.Ссылка;
        Иначе
            Объект.Партнер = НайденныйПартнер.Ссылка;
        КонецЕсли;
    КонецЕсли;
КонецЕсли;    

//Проведение и отражение в РеглУчете
Если Объект.Проведен Тогда
    Объект.Записать(РежимЗаписиДокумента.Проведение);
    РеглУчетПроведениеСервер.ОтразитьДокумент(Объект);
Иначе
    Объект.Записать(РежимЗаписиДокумента.Запись);
КонецЕсли;
8 spiller26
 
25.07.17
11:28
(5) Спасибо за помощь.
Всё прошло удачно.
Источник оставил.
Таблицу "Услуги" > "Товары", убрал за ненадобностью.
В ПКГС, перед выгрузкой код.
...........................

Если Источник.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.Товары Тогда
    КоллекцияОбъектов = Источник.Товары.Выгрузить();
ИначеЕсли Источник.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.Услуги Тогда
    КоллекцияОбъектов = Источник.Услуги.Выгрузить();
КонецЕсли;
AdBlock убивает бесплатный контент. 1Сергей