helpf.pro
Регистрация

v8: Добавление элемента справочника

ivan232
16.03.2013 18:46Прочитано: 7180
Доброго времени суток!
Помогите советом, задача следующая:
в документе при выборе реквизита открывается форма выбора справочника с установленным отбором, нужно сделать так, чтоб в случае добавления нового элемента справочника автоматически заполнялся один из его реквизитов на значение отбора.
Подскажите есть предопределенная которая вызывается при добавлении нового элемента справочника? или как узнать из какой формы создавался элемент?
Yandex
Возможно, вас также заинтересует
Реклама на портале
DJ_Serega
16.03.2013 23:07Ответ № 1
(0) ivan232, При открытии формы, указывать форму-владельца.
Код 1C v 8.х
 ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, .....   
ivan232
17.03.2013 07:54Ответ № 2
В какой процедуре использовать метод ПолучитьФорму()?
DJ_Serega
17.03.2013 14:11Ответ № 3
(2) ivan232, "в документе при выборе реквизита открывается форма выбора справочника с установленным отбором" это СтандартнаяОбработка = Истина?
ivan232
17.03.2013 20:23Ответ № 4
в документе при выборе реквизита открывается форма выбора справочника с установленным отбором - это правда, но проблема в том что я не знаю процедуру, которая вызывается при добавлении элемента справочника(в этом и вопрос)....
DJ_Serega
17.03.2013 23:21Ответ № 5
(4) ivan232, "которая вызывается при добавлении элемента справочника(в этом и вопрос" - при изменении реквизита в документе вызывается событие "ПриИзменении".
При создании элемента справочника "ПередОткрытием" проверять на "ЭтоНовый()".
(0) ivan232, "или как узнать из какой формы создавался элемент?" - Как это из какой формы? Вы нажимаете кнопку, и создается элемент справочника?
"Подскажите есть предопределенная которая вызывается при добавлении нового элемента справочника?" При создании элемента я описал выше.
Изменено 17.03.13 23:21:25
ivan232
18.03.2013 14:28Ответ № 6
СтандартнаяОбработка = Истина.
При создании элемента справочника "ПередОткрытием" проверять на "ЭтоНовый()" - как в этом случае получить значение отбора из формы выбора?
Вы нажимаете кнопку, и создается элемент справочника? стандартная кнопка на панели - Добавить
DJ_Serega
19.03.2013 00:27Ответ № 7
(6) ivan232, я бы создал новую кнопку "СоздатьНовый", и в ее процедуре
Код 1C v 8.х
 
Процедура ДействияФормыСоздатьНовый(Кнопка)

НовыйЭлементСправочника = Справочники.Справочник1.СоздатьЭлемент();

// Тут заполнить значения по умолчанию.
// Можно посмотреть что заполняется в процедурах "Перед открытием" или "ПриОткрытии"

// Ну а ниже код, который заполняет значения из отборов, если у них Использование = Истина
Если Отбор.Реквизит1.Использование Тогда
НовыйЭлементСправочника.Реквизит1 = Отбор.Реквизит1;
КонецЕсли;
Если Отбор.Реквизит2.Использование Тогда
НовыйЭлементСправочника.Реквизит2 = Отбор.Реквизит2;
КонецЕсли;
Если Отбор.Реквизит3.Использование Тогда
НовыйЭлементСправочника.Реквизит3 = Отбор.Реквизит3;
КонецЕсли;
Если Отбор.Реквизит4.Использование Тогда
НовыйЭлементСправочника.Реквизит3 = Отбор.Реквизит4;
КонецЕсли;

Попытка
НовыйЭлементСправочника.Записать();
Исключение
Сообщить("Не удалось создать новый элемент по причине: " + Символы.ПС + ОписаниеОшибки());
КонецПопытки;

КонецПроцедуры

как-то так бы и написал *17
ivan232
19.03.2013 15:15Ответ № 8
спасибо, так наверно и сделаю
Андрей
10.12.2016 20:41Ответ № 9

"я бы создал новую кнопку "СоздатьНовый", и в ее процедуре"

-------------

Зачем добавлять новую кнопку? Не ли проще использовать стандартную?  А в процедуре ПередНачаломДобавления поставить значение Отказ = Истина; и прописать в ней свой код...

Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или .
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.