Конвертация данных, параметры #552535


#0 by Nef744
Необходимо иметь возможность на основании документа "списание товаров" (УТ) создавать документ "списание товаров" (БП) или "требование накладная" (БП) в зависимости от дополнительного реквизита документа (УТ), который является элементом справочника. Перед выгрузкой, пользователь может выбрать - с каким значением реквизита в какой тип будет выгружен документ. Т.е. это таблица, в которой одна колонка - значение реквизита, в другой - вариант выгрузки. В этой ситуации - не хотелось бы прибегать к добавлению нового регистра сведений, а добавить параметр в выгрузку и иметь возможность его сохранить... Например - таблицу. Возможно это? И попутно интересует, как правильнее реализовать правилами выгрузку одного документа в 2, на ум приходит только создание 2х правил (списание => списание, списание => требование накладная) и при выгрузке если в данный тип выгружать не надо, то отказ = истина... Если кто-то делал подобное - буду рад совету, не хочется добавлять в параметры каждый элемент справочника...
#1 by Невский Александр
"правильнее реализовать правилами выгрузку одного документа в 2, на ум приходит только создание 2х правил" - смотри ВыгрузитьПоПравилу
#2 by Nef744
Александр, а примеров нет?)
#3 by Nef744
Так, ладно... Я правильно понимаю, что нужно создать два правила конвертации объектов с приемниками: "списание" и "требование накладная", далее создать два правила выгрузки данных, которые будут на них ссылаться... а что делать дальше? Ещё одно правило конвертации с "списанием" и пустым приемником, где "перед выгрузкой" я буду создавать процедуру "ВыгрузитьПоПравилу"?! Вы уверены, что это "правильное" решение задачи, т.е. самый быстрый вариант выгрузки... К сожалению - проблема с параметрами, дополнительный реквизит документа списания (УТ) - элемент справочника и этот справочник может пополняться... Как быть в этом случае?
#4 by Nef744
Форумчане, будьте добры. Помогите...
#5 by Nef744
Или надо делать списание => списание и при необходимости выгружать по правилу в требование накладную?
#6 by fisher
По второму вопросу: ПКО делаешь два, а ПВД одно. В ПВД в "Перед выгрузкой" в зависимости от твоих условий назначаешь нужное значение параметру "ИмяПКО".
#7 by Nef744
6 Я, возможно, понял. Т.е. сначала обращение идет к правилу выгрузки, а далее оно направляет на правило конвертации, правильно?
#8 by Nef744
И как, черт возьми, делать эти Гиперссылки на посты?
#9 by fisher
Да. Роль ПВД вообще - определиться с нужным ПКО и что ему подать на вход. А ПКО принимает данные и конвертирует. По первому вопросу. Хранить таблицу в параметре проблемы нет (и потом анализировать в ПВД). Проблема её заполнить. Штатно, если не ошибаюсь, КД не умеет интерактивно редактировать такие параметры. Можно, в принципе, доработать обработку выгрузки... Просто в скобки номер возьми.
#10 by fisher
О! Можно без доработки. В "Перед выгрузкой данных" конвертации можно без проблем реализовать нужный код, по инициализации и интерактивному заполнению таблицы. Т.е. после нажатия на кнопку выгрузки пользователю будет предлагать заполнить таблицу. Хотя форму заполнения всё равно куда-то засунуть придется... Либо в конфу либо в обработку.
#11 by Nef744
- Работает =) Я видел, у параметра выгрузки можно устанавливать правило конвертации - а что это дает? Нда, спасибо, посмотрю ещё - вдруг найду решение... А в обработчик после загрузки правил обмена можно запихнуть установку (создание) параметров, т.е. циклом по справочнику создаем параметр в правилах со значением булево... м? Или это уже чересчур?!
#12 by Nef744
не 8 а 10...
#13 by fisher
Ты хоть раз выгружал/загружал? ПВД в простейшем случае умеют списочно перебирать базовые объекты с учетом условий заданных интерактивно в обработке выгрузки и скармливать их выбранным ПКО. В этом случае всё настраивается параметрически. Просто указывается, какой объект перебирать и какому ПКО скармливать. В сложных случаях и выбор данных и назначение им ПКО можно делать полностью программно. Параметры создаются на этапе настройки правил. Программно их вроде только инициализировать можно. Это правильно делать в обработчике "Перед выгрузкой данных". Но ничего не мешает один из параметров сделать списком значений и зафигачить туда чего угодно.
#14 by fisher
Хотя нет... Интерактивные параметры я после загрузки правил инициализировал через УстановитьЗначениеПараметраКонвертации, а неинтерактивные - перед выгрузкой напрямую обращаясь к Параметры. Почему так, уже не помню... Были, видать, какие-то тонкости.
#15 by Nef744
Видимо 1с 7.7
#16 by fisher
Да, в основном с 7.7 Там этот костыль (УстановитьЗначениеПараметраКонвертации) надо было использовать.
#17 by Nef744
ммм... вопрос в том, что нельзя в параметр указать ни таблицу значений, ни список значений... Пробовал указать хранилище и загрузить туда таблицу значений, но редактировать он её не дает... Возможно, я не понял - как мне установить параметр?
#18 by fisher
Я вообще не указывал тип и прокатывало. Но для параметра без галки "Диалог".
#19 by Nef744
ммм... если убрать диалог, то пользователь не сможет редактировать, правильно? ) А у меня сейчас вообще никак не прокатило... тс
#20 by Nef744
fisher - есть предположения? Кто-нибудь ещё, есть предположения?
#21 by fisher
Если убрать диалог, параметр будет отсутствовать в списке доступных пользователю параметров. Ну дык КД и так штатно таблицу редактировать не умеет. В постах и я уже предлагал пути решения.
#22 by Nef744
точно, видимо - голова не варит... Попробую не дорабатывая конфигурацию - сделать возможность редактирования...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С