Здравствуйте, подскажите как с помощью документа создать элемент справочника, то есть допустим в документе есть схожие реквизиты с реквизитами справочника. И при проведении этого документе создавался элемент справочника, соответственно с заполненными полями?
А что будет происходить при отмене проведения документа? А при перепроведении? Да и зачем создавать справочник - дубликат документа?
Дело в том, что документ заполняет обычный пользователь, он имеет право только сохранять документ. А администратор уже проверяет данный документ, и уже сам решает проводить его или нет, соответственно вся ответственность на админе лежит
В документе сделать кнопку и создавать только по нажатию кнопки.
А, если вам не сложно, можете написать пример кода?
Справочник = Справочники.МойСправочник.СоздатьОбъект();
Справочник.Реквизит1 = "Вася";
Справочник.Записать();
Выполнять в серверной процедуре.
Если допустим у меня есть реквизит Фамилия и там, и там, то можно сделать так?
новыйЭлемент= Справочники.Учащиеся.СоздатьЭлемент();
НовыйЭлемент.Фамилия=Фамилия;
новыйЭлемент.Записать();
Т.к. ветка находится в разделе "Управляемый интерфейс", то предположу, что вот так:
НовыйЭлемент= Справочники.Учащиеся.СоздатьЭлемент();
НовыйЭлемент.Фамилия = Объект.Фамилия;
новыйЭлемент.Записать();
А он же вроде не сможет выполнить её НаСервере, там же Объект.Фамилия, не найдет...?
А может вы бы сначала пробовали, а потом писали?
Цитата(Vofka @ 11.04.13, 12:36) необходимо зарегистрироваться для просмотра ссылки
А может вы бы сначала пробовали, а потом писали?
Судя из стартового вопроса - процедура выполняется в модуле объекта, там как раз без Объекта, просто Фамилия.
upd: и если реквизиты по названиям одинаковы, то можно использовать ЗаполнитьЗначенияСвойств()
Цитата(logist @ 11.04.13, 13:39) необходимо зарегистрироваться для просмотра ссылки
Судя из стартового вопроса - процедура выполняется в модуле объекта, там как раз без Объекта, просто Фамилия.
Я ж выше писал
Цитата(Vofka @ 11.04.13, 13:13) необходимо зарегистрироваться для просмотра ссылки
В документе сделать кнопку и создавать только по нажатию кнопки.
т.к. считаю так же как и
pablo: создавать при проведении не надо. Ну и я, конечно, не написал, но думал, что это само собой всем понятно: раз по кнопке на форме, то код будет тоже выполняться в форме.
Цитата(Vofka @ 11.04.13, 12:41) необходимо зарегистрироваться для просмотра ссылки
т.к. считаю так же как и pablo: создавать при проведении не надо. Ну и я, конечно, не написал, но думал, что это само собой всем понятно: раз по кнопке на форме, то код будет тоже выполняться в форме.
И при проведении и по кнопке в форме - идея утопична, поскольку можно создавать сколько угодно. Соответственно офф-топ в теме будет
Цитата(logist @ 11.04.13, 13:44) необходимо зарегистрироваться для просмотра ссылки
И при проведении и по кнопке в форме - идея утопична, поскольку можно создавать сколько угодно.
"По кнопке", как минимум, избавляет от проблем перепроведения и отмены проведения. А остальное - это уже на совести ТС.
Скажите, а если я делаю по кнопке, то как мне Сделать с помощью ЗаполнитьЗначенияСвойств
НовыйЭлемент= Справочники.Учащиеся.СоздатьЭлемент();
ЗаполнитьЗначенияСвойств(новыйЭлемент,ЭтотОбъект);
НовыйЭлемент.Записать();
"ЭтотОбъект", пишет Переменная не определена. Кнопка находится же в модуле формы, может как-то можно заменить?
Ну а подумать? Пост №8 не на какие мысли не наводит?
Alexk, у вас в принципе не правильное направление идеи. Это как открывать замок, одевая замок на ключ и поворачивая замок. У вас так даже вроде получится "открыть" его, но потом может оказаться что в нагрузку к замку идет дверь...
Смотрите, у вас есть набор реквизитов, которые вы говорите есть и в документе и в справочнике. На самом деле такого быть не должно. (В теории баз данных это называется "вторая нормальная форма"). Если у вас будут дубли реквизитов "Фамилия" в документе и в справочнике - то на 1000 курсантов у вас будут 2-3 курсанта у которых в документе и в справочнике будут разные фамилии. И дальше бы будете бороться с этими артефактами. Если правильно спроектировать хранение данных - таких проблем просто не возникнет.
Как бы я это делал. Создал обработку с кучей полей ввода (например "Фамилия"). И одной кнопкой "Записать". По нажатию кнопки:
1. Проверяется заполнение обязательных реквизитов.
2. Проверяется, а нет ли уже такого курсанта в базе (например по ИНН или паре ФИО+дата рождения )
3. Если такого курсанта нет - создаем новую запись в справочнике, если есть - используем существующую
4. Создаем новый документ. В документе есть только ссылка на элемент справочника (курсанта). Никаких "фамилий", "дат рождения" и прочих реквизитов, таких же как в справочнике, в нем быть не должно.
5. Выполняются какие-то действия с документом, для которых он нужен. Например печать.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.