Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 04:21

Форма Ввода для строки табличной части документа

Автор Mro, 26 авг 2016, 12:06

0 Пользователей и 1 гость просматривают эту тему.

Mro

Добрый день,

и снова вопрос.)

Есть некий документ с табличной частью и её реквизитами, тип в основном СправочникСсылка.

Можно ли как-то сделать, чтобы при добавлении новой строки ТЧ, заполнение полей реквизитов значениями происходило в отдельной форме для каждой строки тч?

т.е. я нажимаю "Добавить" в табличной части документа, выскакивает некая форма с перечнем реквизитов, которые нужно заполнить. После заполнения все значения переносятся в строку табличной части. И так для каждой строки.

1С:Предприятие 8.3 (8.3.7.1860)
1С:ERP Управление предприятием 2 (2.1.3.82)

Заранее спасибо.

vitasw


Fedor_Safonchik


Mro

отлично.)

в каком направлении мне копать, чтобы разобраться с механизмом реализации?)

Летящий в даль

можно, делаешь форму добавляешь реквизиты в соответствии с реквизитами ТЧ, и при нажатии кнопки своей кнопки добавить прописываешь процедурку примерно такую
&НаКлиенте
Процедура ДобавитьСвои(Команда)
Форма  = ПолучитьФорму("Документ.Документ1.Форма.Форма");
Форма.Открыть();

КонецПроцедуры
,
в другой форме добавляешь кнопку записать и пишешь примерно следующее
&НаКлиенте
Процедура Записать(Команда)
Структура = Новый Структура;
Структура.Вставить("Реквизит1",Реквизит1);
Структура.Вставить("Реквизит2",Реквизит2);
Структура.Вставить("Реквизит3",Реквизит3);
Форма = ПолучитьФорму("Документ.Документ1.Форма.ФормаДокумента");
    СтрокаНоавя = Форма.Объект.ТабличнаяЧасть1.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаНоавя,Структура);
Форма  = ПолучитьФорму("Документ.Документ1.Форма.Форма");
Форма.Закрыть();
КонецПроцедуры


Это самый примитивный вариант))

Mro

Цитата: Летящий в даль от 26 авг 2016, 14:07Это самый примитивный вариант))

выдает ошибку почему-то.(

{Документ.ФормаЗаказаКлиента.Форма.ФормаНовогоЭлементаЗаказа.Форма(255)}: Ошибка при вызове метода контекста (Закрыть)
Форма.Закрыть()
по причине:
Недопустимая операция для неоткрытой формы


Добавлено: 29 авг 2016, 22:47


Вот сам код, процедура при нажатии на кнопку

&НаКлиенте
Процедура СохранитьВведенныйЭлементЗаказа(Команда)
   
Структура = Новый Структура;
   
Структура.Вставить("Дверь",Дверь);

Форма = ПолучитьФорму("Документ.ФормаЗаказаКлиента.Форма.ФормаДокумента");
СтрокаНовая = Форма.Объект.Продукция.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаНовая,Структура);
Форма = ПолучитьФорму("Документ.ФормаЗаказаКлиента.Форма.ФормаНовогоЭлементаЗаказа");
ЭтаФорма.Закрыть();

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

vitasw

В управляемом приложении форму не принято получать и устанавливать параметры у неоткрытой формы.
Используйте метод открыть форму с передачей параметров. В "ПередОткрытиемНаСервере" обрабатывайте полученные параметры через свойство "Параметры".

SGIRG

Цитата: Mro от 29 авг 2016, 22:21
Недопустимая операция для неоткрытой формы
Ну вроде как платформа все на "блюдечке" выложила

Mro

Так, а если мы немного изменим направление.

Без создания отдельной формы, но с двумя закладками в 1-й форме.

Соответственно первая закладка - как форма ввода для каждой строки табличной части второй закладки.

Как организовать, чтобы после нажатия кнопки в первой закладке все введенные значения переносились в новую строку второй закладки и очищались в первой для возможности ввода следующей позиции? прикрепил наглядный скрин

vitasw


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск