Версия для печати темы (https://pro1c.org.ua/index.php?s=562cc58207a8bc9d85d0b84fc0933707&showtopic=20008)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Несколько форм документа

Автор: kosalex 30.09.14, 14:22

Добрый день! Столкнулся с задачей, когда записывается форма1 нужно открыть ещё одну форма2 в которой отображается реквизит документа, заполнить его, закрыть форму2, после чего проверить заполни ли реквизит, если не заполнили то Отказ. Если заполнили то все хорошо - записываем.

У меня есть, форма1 документа, при записи которой открывается форма2 документа. После того как заполняю реквизит на форме2 документа, нажимаю "Закрыть" - "ЭтаФорма.Закрыть()", получается что вот это действие закрыть, ссылается на действие закрыть формы1 документа. Как сделать так, чтобы при закрытии формы2 документа, значение записывалось в реквизит и форма просто закрывалась?

Вопрос немного не по теме, но если есть вариант решения, то можно обойтись и без формы2.

В командном меню, есть подменю "Операции" которое заполняется программно, "значение1" и "значение2", вот мне и надо, если выбрано "значение2" открывать эту форму2 документа, чтобы пользователь мог ввести нужный реквизит.

Может можно как то определить какое значение выбрано в "Операции" до нажатия на "Записать"?

Делаю без формы. Просто полем в основной форме документа.

Все же интересно, через форму можно?

Автор: Petre 30.09.14, 14:55

Цитата(kosalex @ 30.09.14, 15:22) *
У меня есть, форма1 документа, при записи которой открывается форма2 документа

Точно при записи или все же при редактировании?

Автор: kosalex 30.09.14, 15:07

Цитата(Petre @ 30.09.14, 15:55) *
Точно при записи или все же при редактировании?


Не понял, в смысле при редактировании?

Нажимаю "Записать"

Автор: Petre 30.09.14, 15:27

В смысле держать в транзакции диалоги считается не правильным.

Цитата(kosalex @ 30.09.14, 15:22) *
Может можно как то определить какое значение выбрано в "Операции" до нажатия на "Записать"?

Перебирать все элементы группы "Операции" до первого со свойством "Пометка" = Истина.

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

Автор: logist 30.09.14, 19:17

Цитата(kosalex @ 30.09.14, 14:22) *
Все же интересно, через форму можно?

А чем не устраивает через Объект? Спросили у пользователя значение для заполнения, получили объект записали туда и все, никаких форм.

Автор: Ardi 01.10.14, 9:08

Цитата(kosalex @ 30.09.14, 14:22) *
Вопрос немного не по теме, но если есть вариант решения, то можно обойтись и без формы2.

ВвестиЗначение
Пример:
Перем ВыбЗнач;
Массив = Новый Массив;
Массив.Добавить(Тип("Число"));
Массив.Добавить(Тип("Строка"));
Массив.Добавить(Тип("Дата"));
КЧ = Новый КвалификаторыЧисла(12,2);
КС = Новый КвалификаторыСтроки(20);
КД = Новый КвалификаторыДаты(ЧастиДаты.Дата);
ОписаниеТипов = Новый ОписаниеТипов(Массив, КЧ, КС, КД);
Если ВвестиЗначение(ВыбЗнач, "Введите значение", ОписаниеТипов) Тогда
    // обработка введенного значения
    Сообщить("Введенное значение: "+ВыбЗнач);
КонецЕсли;

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua