Имя: Пароль:
1C
1С v8
Конвертация данных
0 yavasya
 
06.07.14
20:29
В ПКО 7.7 нет табличной части.Нужно загрузить в БП 3.0 в Приходный кассовый ордер в табличную часть значения из реквизитов ПКО. Естественно строка будет 1.
Создаю строку, данные многие одинаковые.
Делаю в КД при загрузке ПКО:

Объект.ВалютаДокумента=Справочники.Валюты.НайтиПоКоду("643");
Объект.ВидОперации=Перечисления.ВидыОперацийПКО.ОплатаПокупателя;
Объект.СчетУчетаРасчетовСКонтрагентом=ПланыСчетов.Хозрасчетный.КассаОрганизации;

Стр = Объект.РасшифровкаПлатежа.Добавить();
Стр.СпособПогашенияЗадолженности= Перечисления.СпособПогашенияЗадолженности.Автоматически;
Стр.СтавкаНДС= Перечисления.СтавкиНДС.БезНДС;
Стр.СчетУчетаРасчетовСКонтрагентом=ПланыСчетов.Хозрасчетный.ВыручкаЕНВД;
Стр.СчетУчетаРасчетовПоАвансам=ПланыСчетов.Хозрасчетный.ВыручкаЕНВД;
Стр.ПорядокОтраженияАвансов=Перечисления.ПорядокОтраженияАвансов.ДоходЕНВД;
Стр.СуммаПлатежа=объект.СуммаДокумента;

Стр.Записать();



При загрузке в БП 3.0 пишет ошибку



Ошибка при загрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1449)}: Ошибка в обработчике события ПриЗагрузкеОбъекта
    ИмяПКО                 =  ПриходныйКассовыйОрдер
    ТипОбъекта             =  Приходный кассовый ордер
    Объект                 =  Приходный кассовый ордер 150/3 от 01.06.2014 12:00:10
    Обработчик             =  ПриЗагрузкеОбъекта
    ОписаниеОшибки         =  Поле объекта не обнаружено (СпособПогашенияЗадолженности)
    ПозицияМодуля          =  (6)
    КодСообщения           =  20
1 yavasya
 
06.07.14
20:33
&НаСервере не помогло
2 yavasya
 
06.07.14
20:42
после загрузки тоже
3 VladZ
 
06.07.14
20:49
А вот здесь правильно все написано: Перечисления.СпособПогашенияЗадолженности.Автоматически
4 yavasya
 
06.07.14
20:52
Стр = Объект.РасшифровкаПлатежа.Добавить();
//сообщить(Объект.Наименование);
//Стр.СпособПогашенияЗадолженности= Перечисления.СпособПогашенияЗадолженности.Автоматически;
//Стр.СтавкаНДС= Перечисления.СтавкиНДС.БезНДС;
Стр.СчетУчетаРасчетовСКонтрагентом=ПланыСчетов.Хозрасчетный.ВыручкаЕНВД;
Стр.СчетУчетаРасчетовПоАвансам=ПланыСчетов.Хозрасчетный.ВыручкаЕНВД;
//Стр.ПорядокОтраженияАвансов=Перечисления.ПорядокОтраженияАвансов.ДоходЕНВД;
Стр.СуммаПлатежа=объект.СуммаДокумента;

Стр.Записать();
5 yavasya
 
06.07.14
20:53
сделал после загрузки , но ошибка

Ошибка в обработчике события ПослеЗагрузкиОбъекта
    ИмяПКО                 =  ПриходныйКассовыйОрдер
    ТипОбъекта             =  Приходный кассовый ордер
    Объект                 =  Приходный кассовый ордер 150/3 от 01.06.2014 12:00:10
    Обработчик             =  ПослеЗагрузкиОбъекта
    ОписаниеОшибки         =  Метод объекта не обнаружен (Записать)
    ПозицияМодуля          =  (10)
    КодСообщения           =  21
6 yavasya
 
06.07.14
20:53
Просто несоздает объект
7 ДенисЧ
 
06.07.14
20:55
мммм... А зачем строку ТЧ записывать? Может, проще объект записать?
8 yavasya
 
06.07.14
20:57
попробую, но почему на перечисления ругается?
да и строку должен записать
9 yavasya
 
06.07.14
21:02
создал строку Объект.записать
10 VladZ
 
06.07.14
21:03
Создаешь правила для табличной части документа. Правой кнопкой мыши на группу правил для табличной части - изменить. Вставляешь код в событие "Перед обработкой":

КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений");
КоллекцияОбъектов.НоваяКолонка("СпособПогашенияЗадолженности");
КоллекцияОбъектов.НоваяКолонка("СтавкаНДС");
КоллекцияОбъектов.НоваяКолонка("СчетУчетаРасчетовСКонтрагентом");

// и т.д., т.е. добавляешь колонки с названием реквизитов

КоллекцияОбъектов.НоваяСтрока();
КоллекцияОбъектов.СпособПогашенияЗадолженности         =  Перечисления.СпособПогашенияЗадолженности.Автоматически;

// здесь писать лень, сам догадаешься.
//

КоллекцияОбъектов.СуммаПлатежа    = Источник.СуммаДокумента;
11 VladZ
 
06.07.14
21:07
Вот с этим, прогнал КоллекцияОбъектов.СпособПогашенияЗадолженности         =  Перечисления.СпособПогашенияЗадолженности.Автоматически;

Подозреваю, нет такого объекта на стороне выгрузке. :)
Пропиши в событии "При выгрузке" этого объекта руками.
12 yavasya
 
06.07.14
21:10
как прописать это руками ? почему он перечисления непонимает ?
13 yavasya
 
06.07.14
21:14
в 2.0 это очень хорошо работало , в 3.0 отказывается
14 yavasya
 
06.07.14
21:15
где то неправильно прописываю
15 yavasya
 
06.07.14
21:36
все понятно . недобавляет объект !!! как добавить строку в 3.0 при загрузке ? или проще доп обработину напилить ?


получить объект на сервере ?
добавить строку и всё туда написать
16 Сияющий Асинхраль
 
06.07.14
23:29
(4) Убери нахрен Стр.Записать(); - не надо это, строки не записываются (на это и ругается), а объект запишется автоматом.
17 kn
 
07.07.14
00:00
(0)
Перечисление правильно указать надо (мн число)

Перечисления.СпособыПогашенияЗадолженности.Автоматически
18 yavasya
 
07.07.14
16:44
(17) во множественном числе
2 + 2 = 3.9999999999999999999999999999999...