Имя: Пароль:
1C
1С v8
Конвертация данных!
0 TwoWorld
 
15.09.11
16:32
Перегружаю из торговли 9,2 в БП 2,0 документ "Строка выписки приход/расход". При загрузке он мне в ТЧ документа "Расшифровка платежа" записывает несколько строчек (1,2,3 или 5). Это при перегрузке берется из регистра "Покуптели или Поставщики". Мне нужно чтобы одной строчкой перегружалось. Вот код в КД , который установлен у ТЧ "Расшифровка", я закоментировал ненужное, но мне все равно строчками выгружает, что не так?
КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений");

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

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

////    ОбщаяСуммаПлатежа        = Источник.Сумма;
////    ОбщаяСуммаПлатежаОстаток = Источник.Сумма;
////    Рег.ВыбратьДвиженияДокумента(Источник);
////    Пока Рег.ПолучитьДвижение() = 1 Цикл
////        КоллекцияОбъектов.НоваяСтрока();
////        КоллекцияОбъектов.ДоговорКонтрагента = Источник.Договор;
////        Если Источник.Валюта = Источник.Договор.ВалютаВзаиморасчетов Тогда
////            КоллекцияОбъектов.КурсВзаиморасчетов      = Источник.Курс;
////            КоллекцияОбъектов.КратностьВзаиморасчетов = Источник.Кратность;
////        Иначе
////            КоллекцияОбъектов.КурсВзаиморасчетов      = глКурсДляВалюты(Источник.Договор.ВалютаВзаиморасчетов, Источник.ДатаДок);
////            КоллекцияОбъектов.КратностьВзаиморасчетов = глКратностьДляВалюты(Источник.Договор.ВалютаВзаиморасчетов, Источник.ДатаДок);
////        КонецЕсли;

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

////КонецЕсли;
1 TwoWorld
 
15.09.11
16:42
(0) что никто не сталкивался с такой проблемой?
2 fisher
 
15.09.11
16:53
Выгрузка использует старые правила?
3 TwoWorld
 
15.09.11
16:54
Ды нет не старые, просто мне надо чтобы выгружалось 1 строчкой , а грузятся по регистрам.
4 acsent
 
15.09.11
16:55
Обработку обновил?
5 TwoWorld
 
15.09.11
16:56
у меня правила переписанные все, обработка свежая! Ды и в новых правилах и обработке выгружается в разрезе регистров "Покупатели и поставщиики"
6 acsent
 
15.09.11
16:57
(5) РУЧКАМИ обновил обработку?
7 TwoWorld
 
15.09.11
16:57
(6) обработку не обновлял я....смысла нет, по новым правилам и обработкой новой аналогично происходит!
8 Абыр
 
15.09.11
16:58
печаль. код обработки семерошной обнови
9 TwoWorld
 
15.09.11
16:59
не поможет
10 acsent
 
15.09.11
16:59
(9) Согласен. Тебе уже ничего не поможет
11 fisher
 
15.09.11
17:00
(9) Поможет. Семерка ж не умеет произвольный код выполнять. Поэтому каждый раз выгружается новый модуль обработки, содержащий обновленные обработчики событий.
12 fisher
 
15.09.11
17:02
+(11) Новый код модуля обработки выгрузки нужно вставлять руками. Ну или прописать #ЗагрузитьИзФайла
13 TwoWorld
 
15.09.11
17:04
ситуация осталась не изменной , новой обработкой выгрузил и загрузил! В ТЧ документа все равно несколько строк
14 fisher
 
15.09.11
17:13
(13) Последний раз. Для 7.7 одновременно с выгрузкой файла правил выгружается новый текст модуля обработки выгрузки. В отдельный текстовый файл. В обработку его нужно вставить руками.