Имя: Пароль:
1C
1С v8
Конвертация данных. Не срабатывает ВыгрузитьПоПравилам()
,
0 akhmadey
 
05.08.11
10:52
Необходимо перенести справочник Контрагентов из самописной конфы 7.7 в УПП. Беда в том, что в самописной отсутствует напрочь справочник Договоры. По аналогии с переносом контактной информации в ТиС -> УТ попытался создать договоры - дохлый номер. При всем при этом контактная информация переносится на ура. Вот код:

Если ПустаяСтрока(Источник.ПочтовыйАдрес) = 0 Тогда    
   ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
   ИсходящиеДанные.ДобавитьЗначение(Источник, "Объект");
   ИсходящиеДанные.ДобавитьЗначение("Адрес", "Тип");
   ИсходящиеДанные.ДобавитьЗначение(Источник.ПочтовыйАдрес, "Представление");
   ИсходящиеДанные.ДобавитьЗначение("ФактАдресКонтрагента","Вид");
   ИсходящиеДанные.ДобавитьЗначение("Контрагенты","Справочник");
   ВыгрузитьПоПравилу(,, ИсходящиеДанные,, "КонтактнаяИнформация");
КонецЕсли;

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

правило "КонтактнаяИнформация" работает идеально, правило "ДоговорыКонтрагентов" не срабатывет вообще при этом не на что не ругаясь. В чем может быть проблема? Заранее благодарен.
1 ДенисЧ
 
05.08.11
10:53
Всё зависит от правила ДоговорыКонтрагентов...
2 GenV
 
05.08.11
10:56
(0) Значение тоже нужно указывать для выгрузки в первом параметре...
3 akhmadey
 
05.08.11
11:01
(1) Источника, разумеется, нет. Стоит галка Получить из входящих данных на нужных реквизитах. Вроде все.
4 akhmadey
 
05.08.11
11:02
(2) Уже пробовал: ВыгрузитьПоПравилу(Источник,,ИсходящиеДанные,, "ДоговорыКонтрагентов");
5 acsent
 
05.08.11
11:05
Источник.Поставщик <> 1
6 GenV
 
05.08.11
11:05
(4) Плохо пробовал или еще где ошибки. Один договор для каждого контрагента точно должен выгрузиться.
7 SIS72
 
05.08.11
11:16
непонятно что за конструкция:
"Если Источник.Поставщик = 1 Тогда"
попробуй
"Если ЗначениеЗаполнено(Источник.Поставщик) Тогда"
8 SIS72
 
05.08.11
11:17
почитай на http://www.mykod.info 3 и 7 пример - глядишь яснее станет
9 SIS72
 
05.08.11
11:19
Так же сделай без условия:

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

и перенеси одного контрагента с договором - и там смотри что получилось в самой выгрузке или при загрузке
10 GenV
 
05.08.11
11:36
(7) Читал " перенести ... 7.7 в УПП"?
11 akhmadey
 
05.08.11
11:48
(9) В том-то и дело! Я уже убирал условие, результат тот же самый: никаких матерков и никаких договоров.
12 akhmadey
 
08.08.11
06:15
up
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой