Имя: Пароль:
1C
1C 7.7
v7: Как ограничить кол-во элементов в транзакции в обмене через УниверсальныйОбменДаннымиXML?
0 DenYuliya
 
28.11.17
10:47
Валится с ошибкой "Недостаточно памяти", все советуют "Выгружай по частям", а я что-то не могу понять, где это настраивается, и настраивается ли вообще, или  надо обработину править?
Где в выгрузки из УТ 10 в УТ 11 - знаю, там прямо галочка есть, "выгружать в транзакциях".

Гружу с ТиС в УТ 11, через УниверсальныйОбменДаннымиXML, правила типовые для обмена ТиС - УТ 11, но дописанные.
66 Ёпрст
 
гуру
29.11.17
16:16
ну и еще нужна проверка, что найденный справочник по коду - это группа
67 Ёпрст
 
гуру
29.11.17
16:17
и проще, ничего не искать по-коду, а передавать параметром ссылку на группу. Усё
68 DenYuliya
 
29.11.17
16:22
(66) Спр = СоздатьОбъект("Справочник.Контрагенты");
Если Спр.НайтиПоКоду("00000001")=1 И Спр.ЭтоГруппа() = 1 Тогда
   Отказ = 1-Объект.ПринадлежитГруппе(Спр.ТекущийЭлемент()); КонецЕсли;

Про ТекЭлемент - поняла, логично.
Ищу по коду я в общем списке значений, а потом с ТекЭлементом работаю.
69 Ёпрст
 
гуру
29.11.17
16:24
(68) скобок не хватает в условии
70 DenYuliya
 
29.11.17
16:25
(67) согласна, примерно так и хотела -сначала понять, что такой метод вообще работает, а потом разбираться, как это в параметр запихнуть.
Единственное, я думала в качестве параметра сделать "Код" или "Наименование", и поставить галку "Редактируется в списке", или как-то так.

Почему лучше ссылка, точнее и без проверки на ЭтоГруппа()?
71 DenYuliya
 
29.11.17
16:26
(69) Если (Спр.НайтиПоКоду("00000001")=1) И (Спр.ЭтоГруппа() = 1) Тогда
Отказ = 1;
КонецЕсли;

Неужели эти скобки так важны? Вроде бы в 8.2 и без них отрабатывает.
72 Ёпрст
 
гуру
29.11.17
16:37
(70) Потому, что ссылка однозначно определяет элемент, а код - может быть
а)не уникален
б)отсутствовать
г)изменён
д)принадлежать элементу а не группе
73 DenYuliya
 
29.11.17
16:41
мТаблицаПравилВыгрузки.УстановитьЗначение(мТаблицаПравилВыгрузки.ТекущаяСтрока(), Имя, Значение);
{C:\USERS\Users\DESKTOP\ОБМЕН ТИС - КА\ПРАВИЛА\77.ERT(50063)}: Неверный идентификатор колонки!

Я же правильно делаю? В обработчике ПВД стандартного "ПередВыгрузкой".

Суть сообщения примерно понимаю, но о какой колонке речь - не понятно...
74 DenYuliya
 
29.11.17
16:49
Отказ =
1 - Объект.ПринадлежитГруппе(СпрКонтр.ТекущийЭлемент());
Может дело в этом самом "1 - "?

Никаких колонок я не добавляла (явно во всяком случае), ТЗ не создавала...
75 Ёпрст
 
гуру
29.11.17
16:51
(74) нет
76 DenYuliya
 
29.11.17
17:04
//Если Объект.ЭтоГруппа() = 1 Тогда
//    Отказ = 1;
//КонецЕсли;

СпрКонтр = СоздатьОбъект("Справочник.Контрагенты");
Если (СпрКонтр.НайтиПоКоду("00000001")=1) И (СпрКонтр.ЭтоГруппа() = 0) Тогда
   Отказ =
1 - Объект.ПринадлежитГруппе(СпрКонтр.ТекущийЭлемент());
КонецЕсли;

//Отказ = Объект.ПометкаУдаления();


Если Объект.ПометкаУдаления() = 1 Тогда
    Отказ = 1;
КонецЕсли;


Все, что сделала - это закоментировала 1 условие, и добавила второе.
И все, куча ошибок валится(((.

Это ПВД, "ПередВыгрузкой"
77 Ёпрст
 
гуру
29.11.17
17:07
(76)
И (СпрКонтр.ЭтоГруппа() = 1)
78 DenYuliya
 
29.11.17
17:10
Да, это у меня нормально стоит, я поправила уже.
Все равно с ошибкой валится.
79 DenYuliya
 
29.11.17
17:11
Вот так на самом деле:

//Если Объект.ЭтоГруппа() = 1 Тогда
//    Отказ = 1;
//КонецЕсли;

СпрКонтр = СоздатьОбъект("Справочник.Контрагенты");
Если (СпрКонтр.НайтиПоКоду("00000001")=1) И (СпрКонтр.ЭтоГруппа() = 1) Тогда
  Отказ =  1 - Объект.ПринадлежитГруппе(СпрКонтр.ТекущийЭлемент());
КонецЕсли;

Если Объект.ПометкаУдаления() = 1 Тогда
    Отказ = 1;
КонецЕсли;
80 Ёпрст
 
гуру
29.11.17
17:14
(79) если весь код оттуда выкидываешь, ошибка остаётся?
так ?
:)
81 DenYuliya
 
29.11.17
17:15
Весь добавленный? Сейчас попробую.
82 DenYuliya
 
29.11.17
17:21
(80) да...код закоментила - ошибка осталась. а в чем прикод *где тут смайл с квадратными глазами*?
83 DenYuliya
 
29.11.17
17:23
*прикол
Есть у меня одно подозрение.Сейчас проверю.
84 DenYuliya
 
29.11.17
17:49
(79) ну...эта ошибка ушла. Видимо дело было в следующем: я запускала обработку "Групповое создание свойств и значений", по одному из советов "для оптимизации выгрузки" на каком-то из ресурсов.
Видимо что-то лишнее создалось.

Зато появилась другая, уже при загрузке ((:

Ошибка при загрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1008)}: Ошибка при вызове метода контекста (Прочитать): Ошибка разбора XML:  - [3058,59184]
Фатальная ошибка:
PCDATA invalid Char value 2
SystemId: file://C:/Users/USR1CV8.S1C.000/AppData/Local/Temp/v8_5D2F_1780.xml

Данные все-таки перенеслись, но не те)))Перенеслись только группы без элементов в них, в том числе группа по коду 00000001
85 Franchiser
 
гуру
29.11.17
17:55
(84) есть какой-то непечатываемый символ, который в XML нельзя помещать. Нужно его найти)
86 Franchiser
 
гуру
29.11.17
18:04
найди в файле символ ALT + 2 (цифра набирается на цифровой клавиатуре), должен получится символ черный смайлик.
87 DenYuliya
 
29.11.17
18:11
И что мне с ним сделать?
Открыла файл правил в txt, вызвала смайлик...
но вызывается где угодно, куда мышь наведешь.
88 Franchiser
 
гуру
29.11.17
18:14
(87) зачем файл правил? нужно найти его в файле выгрузки и определить причину возникновения, скорее всего данные в 7-ке править нужно.
89 Franchiser
 
гуру
29.11.17
18:15
(87) ты хочешь сказать у тебя весь файл правил в смайликах?
90 DenYuliya
 
29.11.17
18:26
Нет, я ставлю мышь в первую строку, нажимаю  ALT + 2, на этом месте высвечивается смайлик. В файле с данными то же самое.
91 DenYuliya
 
29.11.17
18:35
(88) загрузила правилами, которые пару дней назад без проблем работали - та же ошибка. Странно...
92 Franchiser
 
гуру
29.11.17
18:41
(90)все верно, копируй смайлик, потом ищи через Ctrl+f где он ест ещё.
93 DenYuliya
 
29.11.17
18:50
Кстати, насчет (52)
Сейчас в процессах памяти для 1С 77 56,2 кб.
Это я ТИИ запустила сдуру еще утром...
94 Franchiser
 
гуру
29.11.17
18:55
Память имеет смысл смотреть когда выгружаешь данные в xml
95 DenYuliya
 
30.11.17
09:54
(90) смайликов больше не нашла, зато помогло "Тестирование и исправление", и правда запись в Источнике некорректная была.
96 DenYuliya
 
30.11.17
10:51
(94) дошел до 3,79 Гб и отвалился ((
97 DenYuliya
 
30.11.17
11:48
Попытка отфильтровать по папке контрагента, похоже, оказалась провальной.
Выгружается как попало, полагаю из-за того, что в ТиС эта странная схема "Контрагенты- Стронние юр.лица", и написать ограничения только в ПВД "Контрагенты-Партнеры" недостаточно. Подозреваю, что надо делать какую-то связь между остальными связанными правилами (Физ.лица, Сторонние юр.лица, КонтрагентыВпартнера и т.д).

Вопрос: возможно ли как-то наложить ограничения на весь процесс выгрузки? Некий "общий модуль".
Если я наложу фильтры только на 1 ПВД - результат выходит некорректный.
98 Franchiser
 
гуру
30.11.17
15:56
Ты выружаешь целиком справочники? Или остатки?
99 Franchiser
 
гуру
30.11.17
15:58
(96) у тебя большая утечка памяти, нужно разбираться в причинах. Может быть какое то зацикливание
100 vicof
 
30.11.17
16:01
(100) Сотка
101 DenYuliya
 
30.11.17
17:07
(98) справочник Контрагенты и связанные с ним (ФизЛица, Собственные ЮрЛица, Сторонние ЮрЛица). Даже без Номенклатуры.

Попробовала выгрузить совсем типовыми, из комплекта поставки.
Доходит до 4 ГБ (3,9) и вываливается.

Там и так зацикливанию не откуда взяться, а уж в Типовыт тем более вряд ли.
Меня смущает, это то, что при запуске "проверки корректности данных" валится куча ошибок - например, собств юр.лица без сопоставленных контрагентов, некорректные ИНН и ОГРН, и т.д.
Это ведь вряд ли влияет глобально? потому что данную проверку можно проигнорить.
102 Franchiser
 
гуру
30.11.17
17:21
Для начала посчитай сколько у тебя элементов в каждом справочнике, может имеет смысл перенести всё на верхний уровень - убрать иерархию. Потом переносить каждый справочник отдельно порциями например по диапазону кодов. Справочник контрагенты у тебя будет переноситься по ссылкам при переносе других справочников, поэтому нужно подумать а нужно ли его отдельно переносить.
103 DenYuliya
 
30.11.17
17:39
(102) разве не другие справочники переносятся по ссылкам из "Контрагенты"?

"Потом переносить каждый справочник отдельно порциями например по диапазону кодов" - я не знаю (очень хочу, но не могу понять от слова совсем, и где посмотреть на примере - найти не могу), как это сделать. А то давно бы уже сделала.

Как альтернативу, думаю такой вариант: в каждом ПКО и ПВД поставить условие:
Если Источник.ПометкаУдаления = 1; Тогда
Отказ = 1;
КонецЕсли;

И поиграться с галкой "не запоминать выгруженные объекты" в ПКО.
Потом по очереди ставить/снимать пометку удаления с групп Контрагентов в Источнике, и выгружать их. Но не уверена, что идея будет работать.
104 DenYuliya
 
30.11.17
17:59
(102)
в спр. Контрагенты 45 000 объектов
в спр. Стор Ю.Л 45 000 объектов
в спр. Физ Лица 4 600 объектов
105 Franchiser
 
гуру
01.12.17
00:06
(103) добавляешь на форму обработки выгрузки 2 числовых реквизита: КодС и КодПо.
Далее анализирушь код конкретного справочника в ПКО в обработчике ПередВыгрузкой. При необходимости строковый код приводишь к числовому. Если код не входит в диапазон пишешь Отказ =1.
106 Franchiser
 
гуру
01.12.17
00:08
(104) вообще объектов не так много, очень странно что не выгружается.
107 Franchiser
 
гуру
01.12.17
00:11
Если в контрагентах стоит ссылка на сторонние юл, то конечно выгружай контрагентов по диапазону кодов, юл перенесется по ссылкам
108 Franchiser
 
гуру
01.12.17
00:12
Физ лица вообще не понятно как связаны с контрагентами, и можно перенести отдельно
109 DenYuliya
 
01.12.17
00:14
Ребят, ну подскажите пожалуйста пример, как делать этот чертов отбор по количеству выгружаемых элементов?
Я правда честно-честно не знаю, куда копать :(.

Создала параметры КолВоВыгружаемыхЭлементовНачало и КолВоВыгружаемыхЭлементовНачалоКонец, тип Число, с пометкой "редактировать в диалоге".

Потом надо создать алгоритм, запихнуть в него эти параметры...

Что-то из серии

СпрКонтр = СоздатьОбъект("Справочник.Контрагенты");
СпрКонтр.ВыбратьЭлементы(0);
Пока СпрКонтр.ПолучитьЭлемент() >= КолВоВыгружаемыхЭлементовНачало И < КолВоВыгружаемыхЭлементовКонец  Цикл    
///Что то тут надо делать
Если СпрКонтр.ПолучитьЭлемент()= КолВоВыгружаемыхЭлементовКонец Тогда
    Прервать;
КонецЕсли:

КонецЦикла;

Но это ерунда и неправильно, конечнно((.
Может есть типовой пример, или статья какая-нибудь, где описывается, как это сделать?
110 Franchiser
 
гуру
01.12.17
00:14
Проверь ещё что в справочнике контрагентов нет косяков: например есть ссылка самого на себя, может быть есть группы у которых родителями являются они же.
111 DenYuliya
 
01.12.17
00:15
(103) не увидела ваши сообщения. Сейчас, прочитаю...
112 DenYuliya
 
01.12.17
00:17
(110) оке, завтра проверю. У меня удаленки нет, к сожалению.
(107) да, стоит. Но я в отборах (на форме обработки) выбирала только Контрагенты_Партнеры - та же ошибка.
ФЛ и СвоиЮрЛица нормально выгружаются.
Но там по 5 000 - 8 000 объектов, а не по 45 000
113 Franchiser
 
гуру
01.12.17
00:18
В ПКО контрагенты в ПередВыгрузкой:
Если (Число(Источник.Код)) < кодС или (число(источник.код)>КодПо)
Тогда
Отказ =1;
КонецЕсли;
114 Franchiser
 
гуру
01.12.17
00:20
Можно делать не по коду а по первой букве наименование контрагента, все аналогично
115 DenYuliya
 
01.12.17
00:20
(107) - вот в этом и весь затык. Я не понимаю, как реализовать вот это самое "выгружай контрагентов по диапазону кодов".
В (109) примерно как я это себе представляю. Но...И в типовых правилах ТиС -УТ все Алгоритмы пересмотрела, нигде примера выгрузки по счетчику нет.
116 DenYuliya
 
01.12.17
00:22
(114) вы даже не представляете, какое огроменное спасибо за пример! Попробую так, хоть "вектор мысли" есть теперь
117 Franchiser
 
гуру
01.12.17
00:27
Если (лев(нрег(источник.наименование,1)) <"а") или (лев(нрег(источник.наименование,1)) >"ж") тогда
Отказ=1:
КонецЕсли;
118 Franchiser
 
гуру
01.12.17
00:31
И ещё нужно создавать не параметры КД, а кинуть на форму 7-ной обработки 2 реквизита типа число и их идентификаторы использовать в коде. Добавленные параметры удали.
119 DenYuliya
 
01.12.17
12:27
Я тут данные проверить пытаюсь, тоже склоняюсь к тому, что где-то в данных ошибка.
Никто случайно не в курсе, если игнорировать проверку в типовом механизме перехода (например, чтобы на одного ЮЛ не ссылалось несколько контрагентов, и чтобы все ЮЛ были привязаны к контрагентам; заполненность ОГРН, ИНН и т.д) - это может вызвать проблемы с выгрузкой, или это только к некорректной инфе в новой базе может привести?
120 DenYuliya
 
01.12.17
12:30
Дублей всяко-разных с одинаковыми ИНН + КПП + Наименованиями фигова гора....
Удалить - не дают.
121 Йохохо
 
01.12.17
12:33
(120) галка "загружать данные в режиме ОбменДанными.Загрузка = Истина"
122 Franchiser
 
гуру
01.12.17
12:36
ты можешь вывести в сообщить или во внешний лог инфу что выгружается? посмотри что выгружалось последнее когда отваливалась база. М.б. там все время зацикливание идет на 1-м элементе.
123 Franchiser
 
гуру
01.12.17
12:38
не можеть быть что 4 гб оперативки не достаточно для выгрузки 45000 контрагентов!
124 Йохохо
 
01.12.17
12:40
(122) галка "комментировать выгрузку объектов" )
125 DenYuliya
 
01.12.17
12:41
(121) И тогда всё это г...этот мусор без проверок перенесется?   Как вариант, да.
Где-то я эту проверку даже встречала. Хотя не нравится мне это, эска криком кричит "поправьте данные"...
126 DenYuliya
 
01.12.17
12:42
(124) она у меня стоит. Но что-то я в ней смотрела только на выделенное красным, а не на строку, когда обрубается.
127 Franchiser
 
гуру
01.12.17
13:20
(124) там слишком много информации выводится. ну можно и с ней
128 Franchiser
 
гуру
01.12.17
13:25
(126) нужно знать какие последние 20-30 объектов выгружаются
129 DenYuliya
 
01.12.17
13:32
Обмен падает на первом же контрагенте. Либо сообщения не выдаются корректно, что вряд ли (ровно те же обработки - типовая и моя переписанная, на моей тестовой базе с теми же МД, но другими данными, нормально отрабатывают и выгружают)
130 DenYuliya
 
01.12.17
13:37
http://dropmefiles.com/ZGD6Q

Посмотрела - ничего в этом объекте такого страшного нет, либо я не понимаю, куда смотреть.

Идет счетчик строк запроса, а счетчик контрагентов - не меняется. Память доходит до 3,98 Гб и падает.
131 Ёпрст
 
гуру
01.12.17
14:00
(130) а чего ты не пользуешься универсальноый выгрузкой в xml ?!
132 Ёпрст
 
гуру
01.12.17
14:01
там и фильтры есть и параметры. и галки по отдельным пвд
133 DenYuliya
 
01.12.17
14:09
(132) я им до сих пор пользовалась, эффект тот же. Потом решила проверить - вдруг стандартной обработкой выгрузится. Неа, та же ерунда.Кстати, в ней тоже по ПВД есть отборы, если использовать режим "Расширенный", а не "Стандартный".

Того контрагента, на котором все зависало, переименовала, чтобы он "уполз" в другое место списка. Теперь зависает на другом, но так же первом в списке.
134 Franchiser
 
гуру
01.12.17
14:37
Может быть у тебя очень большой результат запроса который складывается в dbf. Проверь в темповой папке какой размер файла в момент формирования выборки запроса.
135 Franchiser
 
гуру
01.12.17
14:38
Что у тебя за ПВД, почему не сделать стандартную выборку?
136 Йохохо
 
01.12.17
14:46
(133) словила бесконечный цикл , проверяй циклы по родитель, владелец, измерение рс
137 DenYuliya
 
01.12.17
14:57
(136) Как это проверять, в КД прописывать проверки, или отладчиком в базе при выгрузке смотреть?

Меня смущает то, что и типовые не отрабатывают на рабочей базе. Следовательно, дело не том, что мои дописки - криворукие.
138 DenYuliya
 
01.12.17
15:05
(135) на скрине запущена обычная, типовая выгрузка (правила перехода) с ИТС. Для выгрузки указаны ПВД "Контрагенты" и "Сторонние юр.лица" + стоит галка "Независимо вести партнеров и контрагентов".
Почему типовые ПВД реализованы именно так, а не иначе - не знаю, не задавалась этим вопросом.

Мои доработки касались в основном переноса добавленных в ТиС реквизитов Контрагентов, сам же типовой механизм в целом устраивает. Но в данный момент я тестирую хотя бы на типовых -  по ним тоже не проходит выгрузка.
В тестовой - норм и типовые, и мои дописанные.
139 Йохохо
 
01.12.17
15:09
(137) проверить что при выгрузке второй раз у контрагента не будет стоять выгружать реквизиты объекта чтоли. Т.е. контрагент(контактная(контрагент - тут должен полететь только узел ссылки, без объектов реквизитов))
140 DenYuliya
 
01.12.17
15:24
Это типовая галка какая-то, или дописать? Там помнится есть "Не выгружать объекты свойст источника"
141 Йохохо
 
01.12.17
15:27
(140) она, если использовать одно ПКО надо ее как то взводить второй раз
142 DenYuliya
 
01.12.17
15:33
Туплю...если использовать одно ПКО - в каком случае? Не уверена, что правильно поняла идею.

Может ее просто сразу поставить на ПКО, и все?
143 DenYuliya
 
01.12.17
15:39
(121)
8. Загружать данные в режиме обмена
Позволяет отказать от излишних проверок на этапе загрузки данных.

Так у меня этап выгрузки не работает...Чем мне поможет загрузка :(.
Кстати, в обработке для 7.7 этой галки я не обнаружила.
144 Franchiser
 
гуру
01.12.17
16:21
Приведи сюда код из ПВД выгрзки справочника Контрагенты
145 Йохохо
 
01.12.17
16:35
(142) первый раз ПКО Контрагенты вызывается из ПВД, например, второй раз при выгрузке контактной информации как владелец. Если выгружать реквизиты как объекты получим подвид рекурсии класса бесконечная обыкновенная
(143) все просто - сейчас не нужно, потом нужно
146 DenYuliya
 
01.12.17
16:49
(144) Основное "Контрагенты_Партнеры"
//Денисенко
Если Объект.ЭтоГруппа() = 1 Тогда
    Отказ = 1;
КонецЕсли;
Если Объект.ПометкаУдаления() = 1 Тогда
    Отказ = 1;
КонецЕсли;
//

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

Стандартная выборка.

Еще есть много промежуточных ПВД, например "СторонниеЮрЛица_Контрагенты"
147 DenYuliya
 
01.12.17
16:52
(145) В приведенном примере речь о вызове в рамках одного ПКО?
148 DenYuliya
 
01.12.17
16:53
(145) отключить выгрузку КИ и посмотреть, что будет?
149 Franchiser
 
гуру
01.12.17
17:16
(146) Это точно ПВД?
Если так, то процедура СформироватьСоответствиеКонтрагентовИЮрЛиц() у тебя выполняется в цикле.
150 Franchiser
 
гуру
01.12.17
17:22
(145) контактная информация по должна выгружаться позже чем контрагенты, с учетом того что стоит галка запоминать выгруженные рекурсии быть не должно.
151 DenYuliya
 
01.12.17
17:25
(149) да, абсолютно точно ПВД.
мои доработки - только условие на пометку удаления, которые не работают.
Остальное - типовее некуда.
152 DenYuliya
 
01.12.17
17:27
А почему - в цикле, я там напрямую цикла не вижу.
Разве что в этой части
"ПолучитьЗначение(НомерНайденнойСтроки, "Контрагент")";что-то не так может быть
153 Franchiser
 
гуру
01.12.17
17:28
(151) да я тебе верю. Понавставляй сообщить в ПВД и в ПКО Контрагенты, или запусти замер производительности. Нужно опеределить за счет чего получается рекурсия.
154 Franchiser
 
гуру
01.12.17
17:29
(152) потому что когда идет стандартная выборка этот код выполняется столько раз сколько у тебя есть контрагентов
155 DenYuliya
 
01.12.17
17:31
(154) ну да, я примерно так и подумала. Меня смущает то, что по-идее согласно "политики партии" ТиС, если я верно понимаю, кол-во СторонннихЮрЛиц = кол-во Контрагентов, верно?
156 Franchiser
 
гуру
01.12.17
17:33
(155) я не знаю что у тебя в СформироватьСоответствиеКонтрагентовИЮрЛиц(). Может быть там проверяется параметр СоответствиеКонтрагентыЮрЛицо и если он только пустой, то в этом случае происходит запонения соответствия, иначе возврат.
157 Franchiser
 
гуру
01.12.17
17:35
К тебя рекурсия происходит на первом же элементе, так что по идее она сразу должна быть видна
158 Franchiser
 
гуру
01.12.17
17:36
Ищи причину в ПКО, в ПВД ничего особенного пока не вижу
159 DenYuliya
 
01.12.17
17:50
сли ТипЗначенияСтр(Источник) = "Строка" Тогда
    Возврат 1;
КонецЕсли;

Если Источник.ЭтоГруппа() = 1 Тогда
    Возврат 1;
КонецЕсли;

Если Источник.ПометкаУдаления() = 1 Тогда
    Возврат 1;
КонецЕсли;

Если ТипЗначенияСтр(ВходящиеДанные) <> "СписокЗначений" Тогда
    ВходящиеДанные = СоздатьОбъект("СписокЗначений");
КонецЕсли;

ВходящиеДанные.Установить("Клиент", 0);
ВходящиеДанные.Установить("Поставщик", 0);
ВходящиеДанные.Установить("ПрочиеОтношения", 0);

Если Параметры.СтатистикаПоДоговорам_СортКонтрагент = -1 Тогда
    СформироватьСтатистикуПоДоговорам();
КонецЕсли;

СтатистикаПоДоговорам = Параметры.СтатистикаПоДоговорам_СортКонтрагент;
НомерНайденнойСтроки = 0;
Если СтатистикаПоДоговорам.НайтиЗначение(Источник, НомерНайденнойСтроки, "Контрагент") = 1 Тогда
    
    Для НомерСтроки = НомерНайденнойСтроки По СтатистикаПоДоговорам.КоличествоСтрок() Цикл
        
        СтатистикаПоДоговорам.ПолучитьСтрокуПоНомеру(НомерСтроки);
        Если СтатистикаПоДоговорам.Контрагент <> Источник Тогда
            Прервать;
        КонецЕсли;
        
        Если (СтатистикаПоДоговорам.ХозяйственнаяОперация = "РеализацияКлиенту")
            ИЛИ (СтатистикаПоДоговорам.ХозяйственнаяОперация = "ПередачаНаКомиссию") Тогда
            ВходящиеДанные.Установить("Клиент", 1);
        ИначеЕсли (СтатистикаПоДоговорам.ХозяйственнаяОперация = "ЗакупкаУПоставщика")
            ИЛИ (СтатистикаПоДоговорам.ХозяйственнаяОперация = "ПриемНаКомиссию") Тогда
            ВходящиеДанные.Установить("Поставщик", 1);
        КонецЕсли;
    КонецЦикла;
КонецЕсли;

Если (ВходящиеДанные.Получить("Клиент") = 0) И (ВходящиеДанные.Получить("Поставщик") = 0) Тогда
    ВходящиеДанные.Установить("ПрочиеОтношения", 1);
КонецЕсли;


Это ПКО. Тоже наитиповейший ((
160 DenYuliya
 
01.12.17
17:51
(153) счас попробую...
161 Franchiser
 
гуру
01.12.17
17:56
В контрагентах есть ссылка на ЮрЛица или другие объекты, где может стоять ссылка на контрагентов?
162 DenYuliya
 
01.12.17
18:24
В ПКС для ПКО "Контрагенты_Партнеры" вроде бы нету. Код непосредственно в ПКО посмотрю, идею поняла.
Но вообще ссылок на спр. Контрагенты в обмене целая куча.
163 Franchiser
 
гуру
01.12.17
23:58
У тебя и ПВД и ПКО называется одинаково Контрагенты_Партнеры?
164 DenYuliya
 
02.12.17
16:35
(163) неа, по-разному.
165 DenYuliya
 
04.12.17
12:03
В общем, условно нашла, в чем дело.
Помогло (153) и (158), огромное спасибо!

Ошибка оказалась в этой части ПКО "Контр_партнеры": (перед выгрузкой)
Если Параметры.СтатистикаПоДоговорам_СортКонтрагент = -1 Тогда    
    Сообщить("тыц договор");
    СформироватьСтатистикуПоДоговорам();
КонецЕсли;

Я не вникала глубоко, что это за параметр, он прописан жестко на вкладке Основная -"Перед выгрузкой данных" и потом где-то присваивается.
Я просто поменяла
Параметры.СтатистикаПоДоговорам_СортКонтрагент    =  -1;
на
Параметры.СтатистикаПоДоговорам_СортКонтрагент    = 0;

Понимаю, что это неправильно, но с таким костылем хотя бы идет выгрузка.
правда с ошибкой, но на выгружаемых контр. вроде бы не влияет.
Ошибка исполнения обработчика:  ПКО_ПередВыгрузкой_Контрагенты_Партнеры
  - Значение не представляет агрегатный объект (НайтиЗначение)

Попробую сейчас какой-нибудь костыль сделать, Типа "попытка-исключение", или проверять на что-нибудь... В общем, чтобы этот кусрк не ошибку выдавал, а просто не попадал в условие.