Отбор по организации в правилах конвертации
Показывать по
10
20
40
сообщений
- 1
- 2
23.10.2012
11:11
#11
"Я не совсем понял в каких правилах? Если в правилах обмена то как их создавать? (параметры)
Еще мне подсказали вот так вот
Здесь организацию я так понял тоже надо передавать в Параметры.Организация А как это сделать не пойму"
Еще мне подсказали вот так вот
Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект)) Тогда
Если ОбщегоНазначения.ЕстьРеквизитДокумента("Организация", Объект.Метаданные()) И (Параметры.Организация <> Объект.Организация) и (ЗначениеЗаполнено(Параметры.Организация)) Тогда
Отказ = Истина;
КонецЕсли;
ИначеЕсли Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект)) Тогда
Если Объект.Метаданные().Реквизиты.Найти("Организация") <> Неопределено И (Параметры.Организация <> Объект.Организация) и (ЗначениеЗаполнено(Параметры.Организация)) Тогда
Отказ = Истина;
КонецЕсли;
КонецЕсли;
Здесь организацию я так понял тоже надо передавать в Параметры.Организация А как это сделать не пойму"
23.10.2012
11:52
#12
Никак не могу сопоставить из Ваших сообщений
> Правила пишу в Конвертации данных
и
> Если в правилах обмена то как их создавать?
По коду - проверить на заполненность параметра "Организация" можно, а вот проверять метаданные не вижу смысла, т.к. в правилах обмена все равно условие выгрузки пообъектно будете писать, а там уже самостоятельно определите для каких объектов нужно это условие и по каким реквизитам.
> Правила пишу в Конвертации данных
и
> Если в правилах обмена то как их создавать?
По коду - проверить на заполненность параметра "Организация" можно, а вот проверять метаданные не вижу смысла, т.к. в правилах обмена все равно условие выгрузки пообъектно будете писать, а там уже самостоятельно определите для каких объектов нужно это условие и по каким реквизитам.
25.10.2012
12:18
#13
"а вот проверять метаданные не вижу смысла, т.к. в правилах обмена все равно условие выгрузки пообъектно будете писать, а там уже самостоятельно определите для каких объектов нужно это условие и по каким реквизитам."
Вот не понял что - то этот момент)) Поясните пожайлуста.
И еще подскажите пожайлуста в кодовом варианте как и где задается Параметры.Организация
И почему не получается оценить ваши ответы оценкой и хоть так выразить свою благодарность??!!
Вот не понял что - то этот момент)) Поясните пожайлуста.
И еще подскажите пожайлуста в кодовом варианте как и где задается Параметры.Организация
И почему не получается оценить ваши ответы оценкой и хоть так выразить свою благодарность??!!
25.10.2012
12:46
#14
Все верно, в параметры организацию засуньте, отобрав ее по ИНН/КПП, например. И будет вам счастье!
29.10.2012
15:31
#16
"> проверять метаданные не вижу смысла
Похоже на то что код написан с целью размещения его в обработчике "Перед выгрузкой объекта", являющегося общим для всей "конвертации".
По незакрытому вопросу спрашивающего:
1. Нужно в свойства конвертации ткнуть (Справочники-Конвертации-щелкаем на нужную)
2. Увидеть там закладку "Параметры". Добавить в нее параметр "Организация" и указать что значение должно быть отражено в диалоге.
3. Далее можно фильтровать выборку аж в четырех местах.
- в свойствах конвертации есть обработчик "Перед выгрузкой объекта". Примерный текст кода по размещению в нем вам написали.
- в правилах конвертации объектов каждого вида есть обработчик "Перед выгрузкой", туда можно написать что то вроде:
- в правилах выгрузки данных есть обработчик "Перед обработкой", с помощью которого можно переопределить выборку, но это, по моему, сложный ход.
- там же есть "Перед выгрузкой объекта", где опять же, в свою очередь можно описать фильтр.
Я почему то тоже вариант 2 предпочел.
P.S. Я как то собирался написать "отзыв" по Конвертации данных ред 2. О том что мне показалось удобным и неудобным по сравнению с ред 1. (7.7), но как то не дошли руки."
Похоже на то что код написан с целью размещения его в обработчике "Перед выгрузкой объекта", являющегося общим для всей "конвертации".
По незакрытому вопросу спрашивающего:
1. Нужно в свойства конвертации ткнуть (Справочники-Конвертации-щелкаем на нужную)
2. Увидеть там закладку "Параметры". Добавить в нее параметр "Организация" и указать что значение должно быть отражено в диалоге.
3. Далее можно фильтровать выборку аж в четырех местах.
- в свойствах конвертации есть обработчик "Перед выгрузкой объекта". Примерный текст кода по размещению в нем вам написали.
- в правилах конвертации объектов каждого вида есть обработчик "Перед выгрузкой", туда можно написать что то вроде:
Если Источник.Организация<>Параметры.Организация Тогда
Отказ=1;
КонецЕсли;
- в правилах выгрузки данных есть обработчик "Перед обработкой", с помощью которого можно переопределить выборку, но это, по моему, сложный ход.
- там же есть "Перед выгрузкой объекта", где опять же, в свою очередь можно описать фильтр.
Я почему то тоже вариант 2 предпочел.
P.S. Я как то собирался написать "отзыв" по Конвертации данных ред 2. О том что мне показалось удобным и неудобным по сравнению с ред 1. (7.7), но как то не дошли руки."
29.10.2012
15:51
#17
На spec8 сделали курс по КД (и не много больше по обмену данными вообще). Может то что "сейчас не удобно" просто "мы не знаем как сделать"?
29.10.2012
17:05
#18
"Да нет, я вроде разобрался в том как и что там задумано. Ну вот пара примеров того что показалось неудобным.
Пример 1:
Если приемником является фиксированное значение перечисления, то ранее эта ситуация решалась с помощью его выбора из готового набора, который уже известен на этапе описания правил, т.к. структура конфигурации-приемника уже загружена. То есть, все было на уровне "Visual" программирования (простые клики в интерфейсе), того, к чему Microsoft стремилась годами.
В ред. 2 надо написать кусок кода: Значение="ДоговорСПоставщиком"; //например
Пример 2:
Преобразование объекта источника. Реализовывалось тоже с помощью интерфейса. Можно было, например, за пару кликов мышкой указать, что в приемник нужно запустить не объект источника, а какой то его реквизит, а может быть и "реквизит реквизита".
В ред. 2 надо написать кусок кода: Значение=Источник.ЮрФизЛицо;
Пример 3:
Формализация условий. Реализовывалось тоже с помощью интерфейса. Можно было создать условие с каким то идентификатором и в его составе в виде визуального конструктора описать связку условий, на которое можно было ссылаться при выгрузке объекта того или иного вида, а может быть и какого то реквизита.
В ред. 2 надо написать кусок кода в обработчике.
Пример 4:
Конкретизация порядка выборки значений периодических реквизитов. Ранее просто ставился флажок "выгрузить самое последнее значение", "выгрузить все значения за период выгрузки", "выгрузить вручную установленные" и т.п.
В ред. 2 надо написать кусок кода в обработчике, например: Значение=Источник.НужныйРеквизит.Выбрать();
Пример 5:
Выгрузка значения без наличия источника. В ред. 1 указывали что реквизит такой то приемника должен получить значение, описанное правилом таким то, при этом в качестве источника можно было оставить пустое значение.
В ред. 2 надо написать кусок кода, где можно написать что угодно, например Значение="123"; тогда выгрузится, иначе - нет.
Короче говоря, все написанное можно обобщить так: многие вещи теперь надо писать как алгоритм в то время когда раньше было возможно все сделать простыми кликами мышкой."
Пример 1:
Если приемником является фиксированное значение перечисления, то ранее эта ситуация решалась с помощью его выбора из готового набора, который уже известен на этапе описания правил, т.к. структура конфигурации-приемника уже загружена. То есть, все было на уровне "Visual" программирования (простые клики в интерфейсе), того, к чему Microsoft стремилась годами.
В ред. 2 надо написать кусок кода: Значение="ДоговорСПоставщиком"; //например
Пример 2:
Преобразование объекта источника. Реализовывалось тоже с помощью интерфейса. Можно было, например, за пару кликов мышкой указать, что в приемник нужно запустить не объект источника, а какой то его реквизит, а может быть и "реквизит реквизита".
В ред. 2 надо написать кусок кода: Значение=Источник.ЮрФизЛицо;
Пример 3:
Формализация условий. Реализовывалось тоже с помощью интерфейса. Можно было создать условие с каким то идентификатором и в его составе в виде визуального конструктора описать связку условий, на которое можно было ссылаться при выгрузке объекта того или иного вида, а может быть и какого то реквизита.
В ред. 2 надо написать кусок кода в обработчике.
Пример 4:
Конкретизация порядка выборки значений периодических реквизитов. Ранее просто ставился флажок "выгрузить самое последнее значение", "выгрузить все значения за период выгрузки", "выгрузить вручную установленные" и т.п.
В ред. 2 надо написать кусок кода в обработчике, например: Значение=Источник.НужныйРеквизит.Выбрать();
Пример 5:
Выгрузка значения без наличия источника. В ред. 1 указывали что реквизит такой то приемника должен получить значение, описанное правилом таким то, при этом в качестве источника можно было оставить пустое значение.
В ред. 2 надо написать кусок кода, где можно написать что угодно, например Значение="123"; тогда выгрузится, иначе - нет.
Короче говоря, все написанное можно обобщить так: многие вещи теперь надо писать как алгоритм в то время когда раньше было возможно все сделать простыми кликами мышкой."
- 1
- 2
Читают тему
(гостей: 1)