Имя: Пароль:
1C
1С v8
Конвертация данных. Договор в контрагентах.
0 ТутЯ
 
29.12.12
15:18
Доброго всем!
Переношу конфигурацию из 1с7.7 в 1с8.2. Все замечательно, кроме Договора и банковского счета в справочнике "Контрагенты".


В 1с7.7 в справочнике "Контрагенты" есть реквизиты "Номер договора"(Строка), "Дата договора"(Дата).
В 1с8.2 есть подчиненный справочник "Договоры".

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

В ПКО "Договоры0002"
источник- пустой
приемник- СправочникСсылка.Договоры

в "Перед выгрузкой" Владелец
Значение = ВходящиеДанные.Получить("Владелец");

в "Перед выгрузкой" Наименование
Значение = ВходящиеДанные.Получить("Наименование");

"Перед выгрузкой" НомерДоговора
Значение = ВходящиеДанные.Получить("НомерДоговора");

"Перед выгрузкой" ДатаДоговора
Значение = ВходящиеДанные.Получить("ДатаДоговора");

Такая штука не работает. Подскажите, плиз, как надо.

С банковским счетом похожая ситуация.
1 Aleksey
 
29.12.12
15:21
что то я не понял, а когда по твоему это правило должно отработать?
2 ТутЯ
 
29.12.12
15:23
Когда выгружаю контрагентов
3 ТутЯ
 
29.12.12
15:31
Оч прошу помочь...
4 Mikhail Volkov
 
30.12.12
08:12
Какая-то древняя клюшка, вроде уже в 7.5 появились Договора и банковские счета. Попробуй вначале обновиться до последнего релиза...
5 hhhh
 
30.12.12
09:02
(3) добавьте в 7.7 справочник Договоры
6 Alex1979rak
 
30.12.12
11:59
(0) уточните параметры конфы, из которой выгружаете данные. что это за релиз?
7 ТутЯ
 
04.01.13
13:57
Конфигурации самописанные. Вопрос закрыт.
Решение:
перед выгрузкой пишем
Если Источник.ЭтоГруппа()=1 Тогда
   Отказ = 1;
ИначеЕсли Источник.ФлОбслуживаетсяПоДоговору = 0 Тогда
   Отказ = 1;
Иначе
   Значение = 1;// точно не могу сказать надо или нет в данном случае
   ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
   ИсходящиеДанные.Установить("Владелец", Источник);  
   ИсходящиеДанные.Установить("Наименование", "Основной");
   ИсходящиеДанные.Установить("НомерДоговора", Источник.НомерДоговора);
   ИсходящиеДанные.Установить("ДатаДоговора", Источник.ДатаДоговора);
   ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"Договоры00002");
КонецЕсли;

Остается вопрос v8: Конвертация данных из строки в табличную часть.

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


в ПКО Договоры00002 после загрузки:
Попытка
   Контра = Объект.Владелец.ПолучитьОбъект();    
   
   Сообщить("Договор:"+Объект.Ссылка+" Владелец: "+Контра);

   Контра.ДоговорПоУмолчанию = Объект.Ссылка;
   Контра.Записать();
Исключение
КонецПопытки;
8 ТутЯ
 
04.01.13
13:58
Сообщение (7) как-то перемешалось.
9 ТутЯ
 
04.01.13
13:59
Текст в конце должен быть:

Остается вопрос v8: Конвертация данных из строки в табличную часть.

Табличная часть заполняется, а подчинение не соображу где рисовать.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший