Отбор по организации в правилах конвертации

Новая тема
Показывать по 10 20 40 сообщений
"Я не совсем понял в каких правилах? Если в правилах обмена то как их создавать? (параметры)

Еще мне подсказали  вот так вот


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







Здесь организацию я так понял тоже надо передавать в Параметры.Организация  А как это сделать не пойму"
Никак не могу сопоставить из Ваших сообщений

> Правила пишу в Конвертации данных
и
> Если в правилах обмена то как их создавать?

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


И еще подскажите пожайлуста в кодовом варианте как и где задается Параметры.Организация

И почему не получается оценить ваши ответы оценкой и хоть так выразить свою благодарность??!!
Все верно, в параметры организацию засуньте, отобрав ее по ИНН/КПП, например. И будет вам счастье!
в каком обработчике это сделать ??!
И не могли бы в коде пример накидать?
"> проверять метаданные не вижу смысла
Похоже на то что код написан с целью размещения его в обработчике "Перед выгрузкой объекта", являющегося общим для всей "конвертации".

По незакрытому вопросу спрашивающего:
1. Нужно в свойства конвертации ткнуть (Справочники-Конвертации-щелкаем на нужную)
2. Увидеть там закладку "Параметры". Добавить в нее параметр "Организация" и указать что значение должно быть отражено в диалоге.
3. Далее можно фильтровать выборку аж в четырех местах.
  - в свойствах конвертации есть обработчик "Перед выгрузкой объекта". Примерный текст кода по размещению в нем вам написали.
  - в правилах конвертации объектов каждого вида есть обработчик "Перед выгрузкой", туда можно написать что то вроде:

Если Источник.Организация<>Параметры.Организация Тогда
    Отказ=1;
КонецЕсли;



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

Я почему то тоже вариант 2 предпочел.
P.S. Я как то собирался написать "отзыв" по Конвертации данных ред 2. О том что мне показалось удобным и неудобным по сравнению с ред 1. (7.7), но как то не дошли руки."
На spec8 сделали курс по КД (и не много больше по обмену данными вообще). Может то что "сейчас не удобно" просто "мы не знаем как сделать"?
"Да нет, я вроде разобрался в том как и что там задумано. Ну вот пара примеров того что показалось неудобным.

Пример 1:
Если приемником является фиксированное значение перечисления, то ранее эта ситуация решалась с помощью его выбора из готового набора, который уже известен на этапе описания правил, т.к. структура конфигурации-приемника уже загружена. То есть, все было на уровне "Visual" программирования (простые клики в интерфейсе), того, к чему Microsoft стремилась годами.
В ред. 2 надо написать кусок кода: Значение="ДоговорСПоставщиком"; //например

Пример 2:
Преобразование объекта источника. Реализовывалось тоже с помощью интерфейса. Можно было, например, за пару кликов мышкой указать, что в приемник нужно запустить не объект источника, а какой то его реквизит, а может быть и "реквизит реквизита".
В ред. 2 надо написать кусок кода: Значение=Источник.ЮрФизЛицо;

Пример 3:
Формализация условий.  Реализовывалось тоже с помощью интерфейса. Можно было создать условие с каким то идентификатором и в его составе в виде визуального конструктора описать связку условий, на которое можно было ссылаться при выгрузке объекта того или иного вида, а может быть и какого то реквизита.
В ред. 2 надо написать кусок кода в обработчике.

Пример 4:
Конкретизация порядка выборки значений периодических реквизитов. Ранее просто ставился флажок "выгрузить самое последнее значение", "выгрузить все значения за период выгрузки", "выгрузить вручную установленные" и т.п.
В ред. 2 надо написать кусок кода в обработчике, например: Значение=Источник.НужныйРеквизит.Выбрать();

Пример 5:
Выгрузка значения без наличия источника. В ред. 1 указывали что реквизит такой то приемника должен получить значение, описанное правилом таким то, при этом в качестве источника можно было оставить пустое значение.
В ред. 2 надо написать кусок кода, где можно написать что угодно, например Значение="123"; тогда выгрузится, иначе - нет.

Короче говоря, все написанное можно обобщить так: многие вещи теперь надо писать как алгоритм в то время когда раньше было возможно все сделать простыми кликами мышкой."
Читают тему
(гостей: 1)

Быстрый переход