Имя: Пароль:
1C
1С v8
Конвертация данных 2 - описание зарезервированных переменных
0 live in sky dreams
 
03.08.18
10:24
Доброго дня. Никто не наталкивался на полное описание зарезервированных переменных в КД? В данном случае интересует конкретно чем я могу оперировать при обработке ПКО ПриВыгрузкеДанных.
Мне конкретно необходимо:
1) Не переносить документы, движения которых не удовлетворяют заданным условиям (не касаются определенного счета плана счетов).
2) Переносить только записи тех движений документа, которые вышеупомянутым условиям отвечают. Частичный перенос движений. ОперацияБух
1 Cyberhawk
 
03.08.18
10:43
Справка по обработчикам в КД2, плюс некоторые переменные все равно доступны, но не задокументированы (это смотришь уже в коде, для удобства можно и в отладке)
2 hhhh
 
03.08.18
10:45
зачем вам "полное описание зарезервированных переменных"? просто для своих переменных придумайте какой-нибудь ваш префикс, и всё.
3 Cyberhawk
 
03.08.18
10:46
Ну и для начала - перенос реглярный по планам обмена + ПРО, или вручную через обработку обмена? Просто для 1 можно подредактировать ПРО.
4 Cyberhawk
 
03.08.18
10:47
Ну а для 2 - ПКГС в Хозрасчетном (исключаешь из коллекции записи с левыми счетами)
5 live in sky dreams
 
03.08.18
11:29
(1) там смотрел, но там не все.
(2) свои переменные да, могу так назвать с префиксом, но я хотел бы видеть весь доступный арсенал. К примеру в ПКО ПередВыгрузкой - как обратиться к движениям и вычистить лишнее, либо вообще отменить выгрузку документа?
(3)сейчас копаюсь вручную, но хочу потом сделать обмен по этим правилам регулярным
(4)для того и спрашивал, чтобы понять что в ПКГС писать.
Что в нем есть источник - Запись регистра или коллекция движений или Документ или что?
6 live in sky dreams
 
03.08.18
11:31
В ПКС самого документа, к примеру, движения не доступны(Источник.Движения).
Прочитав (4) понял, что для каждого выгружаемого типа нужно отдельно определять ПКО. Но что там писать, как фильтровать записи?
7 Вафель
 
03.08.18
11:32
Сделай свое правило ПВД и выбирай то что хочень переносить
8 Вафель
 
03.08.18
11:33
(6) Источник - это ссылка или объект?
9 live in sky dreams
 
03.08.18
11:35
(7)Сейчас попробую идею (4). Если не получится - буду тогда трепать ПВД
(8) Да хрен знает. Знал бы - не спрашивал ))
10 tesseract
 
03.08.18
11:40
(5) Там все.

>>как обратиться к движениям и вычистить лишнее, либо вообще отменить выгрузку документа?

ПКО включает только сам объект. Движения - это уже выгрузка регистра.

>>Что в нем есть источник - Запись регистра или коллекция движений

Зависит от настройки выгрузки. Может быть и так и так. В помощи все подробненько  описано.
11 Черный маклер
 
03.08.18
11:41
Из ПВД можно вызывать ВыгрузитьПоПравилу и передавать в Источник Структуру с параметрами, Выборку, ТЗ и т.п.
12 live in sky dreams
 
03.08.18
11:52
Так, вроде более-менее понял.
Использую ПКГС "Хозрасчетный" документа "ОперацияБух" для фильтра движений.
И нарвался на "Переполнение стека встроенного языка на сервере". Проверил алгоритм - вроде нет бесконечных циклов..
ПКГС: http://prntscr.com/ke5ybv
Обработчик самой конвертации: http://prntscr.com/ke5zbc

В каком месте я вваливаюсь в бесконечный цикл?
13 live in sky dreams
 
03.08.18
11:53
В ПКГС вместо ИЛИ - > И
14 Cyberhawk
 
03.08.18
11:58
"для каждого выгружаемого типа нужно отдельно определять ПКО" // Не нужно нигде в ПКС определять никакие ПКО
15 Cyberhawk
 
03.08.18
12:00
Бесконечного цикла нет - просто количество выгружаемых объектов по ссылкам перевалило где-то за 60
16 live in sky dreams
 
03.08.18
15:02
(14) могу плавать в термионологии еще.. Возможно, неверно выразился.
(15) 60 - вы имеете ввиду глубину уровней? Если я выгружаю субконто - то все "документы расчетов" и все их реквизиты и все их движения и все свойства их движений и т.д... мда, беда

А можно как то ограничить глубину выборки?
17 live in sky dreams
 
03.08.18
15:36
апну
18 hhhh
 
03.08.18
15:37
(16) ну сотни тысяч программистов до вас делали, наверно можно, значит они ограничивали. Никто еще не интересовался пока.

попробуйте готовые примеры правил взять и по ним. Их дофига в интернете. А то вы в какую-то не ту степь постоянно заруливаете.
19 Cyberhawk
 
03.08.18
17:11
(16) 60 - количество выгружаемых зависимых объектов. Цифра примерная, получена когда-то экспериментальным путем на конкретном хосте и конкретной инфобазе. Скорее всего в разном окружении может отличаться.
20 Cyberhawk
 
03.08.18
17:12
Ограничить конечно же можно (и нужно): у объектов, которые выгружаются по ссылкам, не надо выгружать движения.
И запоминать выгруженные не надо (флажок в ПКО, либо - что проще - к ключу выгружаемых данных добавлять какой-нибудь уникальный маркер). Зачем это делать, могу рассказать
21 Cyberhawk
 
03.08.18
17:13
*проще = глобально проще реализовать кодом обработчиков КД, вместо тыканья флажков у кучи ПКО
22 live in sky dreams
 
03.08.18
17:58
(20) я бы и рад не выгружать движения, но они мне нужны в приемнике и именно в таком виде, в котором они есть в источнике. Если просто проводить доки по факту загрузки - много чего покосится. Только по этому выгружаю движения. Был бы благодарен, если найдете время на обьяснение "Зачем это делать, могу рассказать"
(21) имеется ввиду использовать некие глобальные обработчики конвертации? Каким образом?
23 Вафель
 
03.08.18
17:59
24 live in sky dreams
 
03.08.18
18:09
(23) Судя по описанию очень интересная инфа, только у меня одного при нажатии кнопки отправить(после ввода e-mail-а) ничего не происходит?
25 live in sky dreams
 
03.08.18
18:10
ни ошибок ни отправки..
26 Cyberhawk
 
03.08.18
18:10
(22) Раз обмен планируется делать регулярным, то движения нужно выгружать только у зарегистрированных на узле объектах
27 live in sky dreams
 
03.08.18
18:10
(26) конечно
28 Cyberhawk
 
03.08.18
18:12
Ну значит если документ выгружается не из-за того, что он на узел регистрации изменений попал, а из-за того, что он сидит в каком-нибудь субконто движений другого докуента, то движения такого документа в приемнике не нужны.
Потому что в приемнике у этого документа уже есть движения (он был снят с узла источника и выгружен ранее) и они не изменились.
29 live in sky dreams
 
03.08.18
18:14
(28) теперь понял точно, спасибо, ценно!
30 Cyberhawk
 
04.08.18
23:45
Получилось что-нибудь?
2 + 2 = 3.9999999999999999999999999999999...