|
Код прописан в подписке при записи | ☑ | ||
---|---|---|---|---|
0
Sasha_uu
11.09.12
✎
08:24
|
мФильтроватьОбмен = Ложь;
Если Источник.Отбор.Найти("Регистратор")<>Неопределено Тогда мРегистратор = Источник.Отбор.Регистратор.Значение; мФильтроватьОбмен = Истина; ИначеЕсли Источник.Отбор.Найти("Объект")<>Неопределено Тогда Если Не (ТипЗнч(Источник.Отбор.Объект)=Тип("Строка")) Тогда Если ЗначениеЗаполнено(Источник.Отбор.Объект.Значение) Тогда Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Источник.Отбор.Объект.Значение.Ссылка)) Тогда мРегистратор = Источник.Отбор.Объект.Значение; мФильтроватьОбмен = Истина; КонецЕсли; КонецЕсли; КонецЕсли; ИначеЕсли Источник.Отбор.Найти("ДокументСсылка")<>Неопределено Тогда мРегистратор = Источник.Отбор.ДокументСсылка.Значение; мФильтроватьОбмен = Истина; КонецЕсли; Если мФильтроватьОбмен Тогда Если ОбщегоНазначения.ЕстьРеквизитДокумента("Организация", мРегистратор.Метаданные()) Тогда Для Каждого Узел Из Источник.ОбменДанными.Получатели Цикл Если Узел.ПометкаУдаления Тогда Продолжить; КонецЕсли; МассивОрганизаций = ПолучитьМассивОрганизаций(Узел); Если МассивОрганизаций.Количество()=0 Тогда Продолжить; КонецЕсли; Если МассивОрганизаций.Найти(мРегистратор.Организация)=Неопределено Тогда МассивУзловДляОтменыРегистрации.Добавить(Узел); КонецЕсли; КонецЦикла; КонецЕсли; Для СчМассива=0 По МассивУзловДляОтменыРегистрации.Количество()-1 Цикл Источник.ОбменДанными.Получатели.Удалить(МассивУзловДляОтменыРегистрации[СчМассива]); КонецЦикла; КонецЕсли; Код фильтрующий обмен РИБ по организации. Оцените его. |
|||
1
Sasha_uu
11.09.12
✎
08:43
|
ау, где все!!!
|
|||
2
Defender aka LINN
11.09.12
✎
08:47
|
(0) Че сказать-то хотел?
|
|||
3
vde69
11.09.12
✎
08:54
|
1. конструкции типа "Источник.Отбор.Объект.Значение.Ссылка" желательно оптимизировать, примерно так
мОтбор = Источник.Отбор; мОбъект = мОтбор.Объект; мСсылка = мОбъект.Значение.Ссылка; и потом уже использовать переменные... 2. Для СчМассива=0 По МассивУзловДляОтменыРегистрации.Количество()-1 Цикл заменяем на цикл Для Каждого 3. коментов нет |
|||
4
Sasha_uu
11.09.12
✎
09:09
|
(3) код нормально написан?
|
|||
5
vde69
11.09.12
✎
09:12
|
(4) в программисты я-бы тебя не взял с таким кодом, если только в ученики...
|
|||
6
Sasha_uu
11.09.12
✎
09:20
|
пока только учусь, (3)-только в этом улучшение видишь? как бы сам написал, мне просто интересно.
|
|||
7
hhhh
11.09.12
✎
09:27
|
(6) за этот код надо сразу расстреливать. Сделай организацию отдельным реквизитом регистра. НА лазий в регистраторы, обмен будет идти часами.
|
|||
8
vde69
11.09.12
✎
09:27
|
(6) структурно вроде все правильно (проверка необходимости---получение списка исключений---фильтрация), техническое исполнение страдает.
мелких ляпов много, например не стоит опиратся на отбор, получение метаданных лучше делать отдельно (для последующего расширения всяких проверок). Код трудно расширяемый, все заточено под конкретику, если в эту подписку захочешь впихнуть еще 5 проверок придется все переписывать... |
|||
9
Sasha_uu
11.09.12
✎
16:02
|
(8) нужен отбор только по организации
|
|||
10
acsent
11.09.12
✎
16:03
|
сейчас все не так делается. сейчас модно делать чероез правила регистрации
|
|||
11
Sasha_uu
11.09.12
✎
16:07
|
(10) как с ними работать? Где они находятся? Можно поподробнее
|
|||
12
zladenuw
11.09.12
✎
16:09
|
(8) а если так
мФильтроватьОбмен = Ложь; МассивОтбор = Новый Массив(); МассивОтбор.Добавить("Регистратор"); МассивОтбор.Добавить("Объект"); МассивОтбор.Добавить("ДокументСсылка"); Для каждого СтрОтбор Из МассивОтбор Цикл Если Источник.Отбор.Найти(СтрОтбор)<>Неопределено Тогда Если СтрОтбор <> "Объект" Тогда мРегистратор = Источник.Отбор[СтрОтбор].Значение; мФильтроватьОбмен = Истина; Иначе мОтбор = Источник.Отбор; мОбъект = мОтбор.Объект; мСсылка = мОбъект.Значение.Ссылка; Если Не (ТипЗнч(мОбъект)=Тип("Строка")) Тогда Если ЗначениеЗаполнено(мОбъект.Значение) Тогда Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(мСсылка)) Тогда мРегистратор = мОбъект.Значение; мФильтроватьОбмен = Истина; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; |
|||
13
acsent
11.09.12
✎
16:10
|
смотри БСП, УТ 11
|
|||
14
acsent
11.09.12
✎
16:10
|
настраиваются через КД
|
|||
15
Sasha_uu
11.09.12
✎
16:13
|
(13) что такое БСП?
т.е. могу загрузить правила конвертации в план обмена и данные будут фильтроваться? |
|||
16
Sasha_uu
11.09.12
✎
16:14
|
+1 читал что РИБ работает помимо этих правил
|
|||
17
zladenuw
11.09.12
✎
16:14
|
в правилах указываешь что да как и почем
|
|||
18
Sasha_uu
11.09.12
✎
16:28
|
у кого нибудь есть описание установки, настройки и работы с БСП, у меня доступа на сайт итс нету.
|
|||
19
Sasha_uu
11.09.12
✎
18:01
|
БСП это набор инструментов которые можно загрузить в конфигурацию 1С УПП и в дальнейшем использовать?
|
|||
20
acsent
11.09.12
✎
18:06
|
а что разве упп еще не юзает из бсп подсистему обмена?
|
|||
21
Sasha_uu
11.09.12
✎
18:16
|
по поводу обменов читал в упп, там нету такого параметра как обмен с фильтрами. немогу найти инфу в инете как это настроить
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |