Заявка на ввод нового элемента справочника #644176


#0 by extrim-style
Необходимо вводить новый элемент справочника заявкой. Элемент справочника записывается после согласования заявки. В заявке кроме реквизитов самой заявки необходимо также заполнить реквизиты нового элемента справочника. Не хотелось бы дублировать реквизиты справочника в реквизитах заявки. Как этот процесс лучше реализовать?
#0 by extrim-style
Необходимо вводить новый элемент справочника заявкой. Элемент справочника записывается после согласования заявки. В заявке кроме реквизитов самой заявки необходимо также заполнить реквизиты нового элемента справочника. Не хотелось бы дублировать реквизиты справочника в реквизитах заявки. Как этот процесс лучше реализовать?
#1 by zak555
что за элемент такой ?
#2 by exwill
Чего только люди не придумают! А почему бы и не дублировать? В чем проблема?
#3 by MSII
Регистр сведений, после создания элемента справочника запись в регистре убавить.
#4 by exwill
РС-то зачем?
#5 by extrim-style
не суть. Реквизитов много. форма элемента справочника вполне себе самодостаточна, зачем мне её дублировать? не хотелось бы заморачиваться с РС. Можно ли хранить СправочникОбъект в реквизите заявки? Т.е. создаю новый элемент справочника, но не записываю его. При проведении заявки выгружаю этот реквизит как новый элемент справочника.
#6 by shuhard
отменная трава
#7 by extrim-style
да)
#8 by Defender aka LINN
Особенно весело потом будет такой объект сравнивать с данными базы.
#9 by extrim-style
потом мне не нужно его сравнивать
#10 by pessok
потом его нужно просто записать? :)
#11 by extrim-style
я имею ввиду после записи сравнивать не нужно
#12 by MSII
Тогда записывай сразу, а заявкой просто акцептуй. Флаг соответствующий в справочник добаить придется.
#13 by exwill
Увы. В реквизитах не хранятся объекты. В реквизитах хранятся ссылки.
#14 by extrim-style
не хотелось. В справочнике много элементов. Будет громоздкий отбор по этому флагу.
#15 by MSII
Вам, Петровым, не угодишь. :) Тогда делай РС. Одно измерение, один ресурс, чего там морочиться?
#16 by pessok
будь мыжиком, пошли того, кто ставил задание в пеший эротический тур, блеать!
#17 by extrim-style
а заполненную форму?
#18 by Kashemir
Можно - сериализируй и заверни в хранилище. Проблема будет если вдруг изменения конфы по справочнику пройдут - уже не развернешь.
#19 by MSII
Чтобы в заявке не хранить. Создал заявку - она пишет в РС, акцептовал заявку - она удаляет запись. Работы на 2 часа.
#20 by Шапокляк
Извращенное задание, конечно. А если поступить так: Скопировать справочник Контрагенты в конфигураторе и обозвать копию, скажем, "Заявки на контрагента", после чего добавить еще реквизиты, связанные с визированием. И на основании этого справочника организовать ввод элемента справочника Контрагенты при наличии таких галок?
#21 by Kashemir
+ СправочникОбъект.<Имя справочника> (CatalogObject.<Имя справочника>) Данный объект может быть сериализован в/из XML. Данный объект может быть сериализован в/из XDTO.
#22 by extrim-style
да, я вот так и думал. Не понял, какие изменения по справочнику?
#23 by MSII
Изменения в метаданных.
#24 by exwill
Можно, как в . Только дублирование реквизитов и формы намного проще.
#25 by extrim-style
интересная мысль, надо подумать.
#26 by exwill
+ Один драг энд дроп. < 1 сек.
#27 by Kashemir
Захламлять конфу лишними метаданными вовсе не проще. Любые изменения конфы, касающиеся данного объекта не дадут ему развернуться - ибо уже не будут совпадать с изначальной схемой сериализации. По хорошему лучше обойти все реквизиты и ТЧ и завернуть все в структуру. И еще уже в хранилище. Тогда не страшны будут любые изменения конфы.
#28 by extrim-style
лень - двигатель прогресса
#29 by MaxisUssr
Если нужно, чтобы "заявки" видело ограниченное число лиц: Я бы ввел новый реквизит, далее RLS. Или так (отталкиваемся от ): создаем новый документ (или справочник) "Заявка на создание элемента справочника X". В нем создаем две ТЧ: одну с колонками "ИмяРеквизита" (строка) и "Значение" (тип ЛюбаяСсылка). Вторая ТЧ будет содержать 3 колонки: "ИмяТабличнойасти", "Значение", "НомерСтроки" (число). Вроде ничего не забыл.
#30 by MSII
Данные дублируются, плюс в дальнейшем придется за синхронностью метаданных следить.
#31 by samozvanec
разрешить добавлять элементы справочника только определенному пользорвателю, для остальных - док заявка с просьбой добавить. элементы добавлять документом выполнение заявки.
#32 by extrim-style
не нужно ничего ограничивать. Задача в Данные необходимо контролировать, как мне представляется, только на этапе ввода, т.к. дальше в заявке просто храню ссылку на записанный элемент справочника.
#33 by MSII
Ну. О том и речь, что данные дважды хранить не нужно. Тебе +, вот все что нужно.
#34 by MaxisUssr
Тогда читай вторую часть. Чем через ТЧ не устраивает? При желании (если уж очень нужно) сможешь сделать возможность предварительно просматривать утверждаемую заявку.
#35 by Kashemir
Удалить запись из РС проще чем элемент справочника - отпадает проблема контроля ссылочной целостности.
#36 by extrim-style
я не понял в чем там суть? Задублировать реквизиты, от которых я хочу отказаться?
#37 by MaxisUssr
Тогда соглашусь Сами реквизиты дублировать не придется - данные могут храниться в виде "Ключ-Значение". т.е. у тя в справочнике или документе были бы реквизиты "Номер заявки", "Дата утверждения заявки", а еще табчасть "Реквизиты заявки". В табчасти 3 строки (по количеству реквизитов элемента справочника) - первая строка имеет значения "Ключ" = "Код", "Значение" = 001 вторая строка "Ключ" = "Наименование", "Значение" = "...", третья строка например "Реквизит1", значение = ссылка на что-то
#38 by Maxus43
мы сделали по другому, объект в базу вобще не записывается, пакуется в xml и выстреливается в другую базу, там согласовывают и потом обратно летит и записывается
#39 by extrim-style
ну т.е. суть - ты предлагаешь заполнять ТЧ на основании метаданных необходимого справочника?
#40 by Kashemir
Не ТЧ, а ТЗ. Хотя мне кажется удобнее структура.
#41 by extrim-style
В связи с тем, что заявка, возможно, будет и для других справочников, решил попробовать формировать ТЗ на основе метаданных справочника. Тип реквизита в справочнике может быть любой. В ТЗ 2 колонки - Реквизит, Значение. Для колонки Значение выбрал типы - Строка, Число, Дата, Булево, ЛюбаяСсылка. Вопрос: как заполнить колонку пустыми значениями соответствующего типа на основании метаданных? Для каждого Эл из Метаданные.Справочники.ИмяСправочника.Реквизиты Цикл
#42 by Юрий Лазаренко
Прилепить к заявке вложенный файл в формате xls с шаблоном  Реквизит -> Значение.
#43 by Юрий Лазаренко
+ Ну и создавать-заполнять новый элемент на основе этого шаблона обработкой.
#44 by Юрий Лазаренко
Поместить на HTML-поле заявки html-форму. Юзер заполняет необходимые реквизиты. После согласования заявки ответственный товарищ на этой html-форме жмет кнопку "Ввести новый элемент", кнопка дергает GET-запросом веб-сервис, тот создает элемент.
#45 by extrim-style
в частности, чтобы уйти от формирования в екселе, заявка вводится непосредственно в базе.
#46 by Юрий Лазаренко
Ну это понятно, что прям в базе. В базе заявка, к ней привинчен xls-файл, юзер его заполнил и сохранил. После согласования автоматом создается элемент.
#47 by extrim-style
Как-то мудрёно. Вопрос в том, как установить типы значений (значения по умолчанию) для реквизитов на основании метаданных? То, что в , как то не true.
#48 by extrim-style
это не вариант. Пользователь должен выбирать из типизированных/предопределенных данных, иначе будет разброд и шатание.
#49 by Юрий Лазаренко
Тогда поле табличного документа, у него для ячеек можно задавать тип для значения. Табличный документ можно формировать автоматом на основе метаданных, так что такой алгоритм подойдет для нескольких видов справочников.
#50 by Юрий Лазаренко
Ага, понял уже, тогда можно попробовать
#51 by extrim-style
так об этом и речь. Есть ТЗ, которая выносится на форму и заполняется. Вопрос в том, как заполнить?
#52 by Юрий Лазаренко
"Вопрос в том, как заполнить?" - кому заполнить, юзеру или алгоритму?
#53 by extrim-style
мне, т.е. алгоритму ->
#54 by Юрий Лазаренко
Легко: Просто пихаешь туда пустое значение нужного типа. Во всяком случае раньше такие фокусы прокатывали.
#55 by extrim-style
))) да не тип справочника, а типы реквизитов справочника.
#56 by Artful Den
Может тебе проще статусы номенклатуры ввести? Активная-неактивная? По неактивным - согласование или в треш, активные используются в работе.
#57 by Kashemir
Эл.Тип.ПривестиЗначение(Зн)
#58 by extrim-style
->
#59 by Юрий Лазаренко
Да ну, это конфу допиливать придется, учитывать флажок активности в доках/отчетах.
#60 by Юрий Лазаренко
Я понял ) Если у тебя тип реквизита "Справочник.Договора", то при открытии формы для заполнения в пустое поле для заполнения этого реквизита пихаешь Справочник.Договора.ПустаяСсылка
#61 by Artful Den
там допил минимальный - запретить в форме выбора номенклатуры в доках использовать неактивные позиции...
#62 by Юрий Лазаренко
Я бы не стал так делать. Лучше таки запретить ввод ненужного.
#63 by extrim-style
я не могу сделать приведение типа для колонки ТЗ. Для колонки установлены возможные типы . Теперь мне нужно прсото установить пустое значение соответствующего типа.
#64 by extrim-style
+ для каждого НовСтр.Значение
#65 by Kashemir
Ну и что тебе мешает привести каждое значение к типу ?
#66 by Юрий Лазаренко
У тебя УФ? Я на УФ это точно делал, счас гляну.
#67 by extrim-style
как это сделать универсально на основе метаданных?
#68 by extrim-style
УФ
#69 by Юрий Лазаренко
Вот: &НаСервере
#70 by Юрий Лазаренко
У меня присваивание типа происходит явно:
#71 by Юрий Лазаренко
У тебя тип просто надо формировать динамически, условиями
#72 by Kashemir
Все понятно
#73 by extrim-style
Смеешься? Я как раз и хочу уйти от заполнения ручками. смотри.
#74 by extrim-style
"просто"
#75 by Юрий Лазаренко
Это мне было? А чего там сложного?
#76 by extrim-style
я не знаю как, подскажи.
#77 by Юрий Лазаренко
Блин ))
#78 by Юрий Лазаренко
Прошу простить, но мне пора уже к своей работе приступить ) Думаю, по этому вопросу можно найти инфу в инете. Отталкиваться надо от кода в , для строка, чисел и дат там все подойдет. Для ссылочных типов всего-то по имени типа надо понять кто это: "Справочник" или "Документ" (в имени типа это есть), там же в имени типа есть и имя справочника/документа.
#79 by extrim-style
еще как минимум перечисление.
#80 by Юрий Лазаренко
Ну там тоже все просто, все есть в имени типа
#81 by Юрий Лазаренко
Определяешь по имени типа тип объекта и дальше несколько веток  Если - ИначеЕсли - КонецЕсли, по одной ветке для каждого типа (СТрока, дата, число, перечисление, справочник, документ)
#82 by extrim-style
понятно, то же, что в . Звучит просто, но не получается.
#83 by cw014
Пока справочник не записан - его реквизиты ты получить не сможешь, поэтому либо дублируй реквизиты, из которых будет заполняться справочник, либо оставляй пустыми все поля, пока не будет согласование заявки
#84 by extrim-style
я могу получить реквизиты из метаданных. Возможно ли универсально получить пустую ссылку на основе типа значения, содержащего ссылку?
#85 by cw014
Зачем?
#86 by cw014
Она у тебя итак пустая, пока ты не присвоил туда ничего
#87 by extrim-style
Еще вариант - выбрать любой элемент справочника, и заполнять на его основе, но вероятно, некоторые справочники изначально могут быть пустыми.
#88 by extrim-style
у меня там куча типов, а нужен 1.
#89 by Юрий Лазаренко
Предопределенный элемент сделать, пустой, из него заполнять значения.
#90 by extrim-style
Возможно ли универсально получить пустую ссылку из типа, содержащего ссылку?
#91 by extrim-style
как сделать пустой универсально, если я имею к примеру, 2 справочника с различным набором реквизитов?
#92 by 024410
я это вопрос решал правами, например, справочник номенклатура все пользователи кроме ответственных за номенклатуру могут создавать элементы в специальной папке, но номенклатура из этой папке не может участвовать в проводках (подписка на событие). Т.е. пользователи создают ответственные проверяют и перекладывают в другую папочку. все
#93 by extrim-style
сабж не о правах
#94 by 024410
я понимаю, просто предлагаю обходное решение ИМХО более простое чем заявки, как бы они не были реализованы.
#95 by extrim-style
да. спасибо. я понял. надо подумать.
#96 by extrim-style
+ подумал) это не подойдет, т.к. в заявке есть сопутствующая информация - ответственный, контакты и прочее - которые не требуются для справочника.
#97 by cw014
А у тебя как определяется, какой справочник должно быть?
#98 by extrim-style
пока он 1, но в дальнейшем, думаю, будет 3, а может и больше.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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