|
Перенос из реквизитов формы в таб.часть. | ☑ | ||
---|---|---|---|---|
0
progaoff
20.06.19
✎
10:37
|
Добрый день, такой вопрос, нужно с дополнительно созданной формы документа, которая открывается нажатием кнопки, перенести заполненные на ней данные в реквизиты табличной части. Подскажите пожалуйста как реализовать.
|
|||
1
catena
20.06.19
✎
10:40
|
Какие формы: ОФ/УФ? В какой момент? Открыта ли вторая форма? Можно ли изменять код второй формы?
|
|||
2
progaoff
20.06.19
✎
13:37
|
(1) ОФ,да форма открыта, открывается из документа
|
|||
3
progaoff
20.06.19
✎
15:16
|
Пошел через обработку табличной части, сделал процедуру Инициализировать () экспорт, пытаюсь ее вызвать кнопкой на форме, пишет что процедура не определена
|
|||
4
Nuobu
20.06.19
✎
15:29
|
(3) Ну, показивай, что ты написал.
|
|||
5
progaoff
20.06.19
✎
15:32
|
Процедура Инициализировать(Объект, ИмяТабЧасть, СтрокаТабЧасть) Экспорт
ФормаВыбора = ПолучитьФорму("Форма"); Если ФормаВыбора.ОткрытьМодально() <> Истина Тогда Возврат; КонецЕсли; ТабличнаяЧасть = Объект[ИмяТабЧасть]; Для Каждого СтрокаТовары ИЗ Объект.Товары Цикл СтрокаТовары.ПроцентСкидкиВИнвойс = Сюда хочу загнать значение реквизита формы КонецЦикла; |
|||
6
progaoff
20.06.19
✎
15:41
|
Процедура ОсновныеДействияФормыДействие(Кнопка)
Инициализировать(Объект, ИмяТабЧасть, СтрокаТабЧасть); КонецПроцедуры Эт вызов |
|||
7
Euguln
20.06.19
✎
15:44
|
Из формы надо получать данные для заполнения, а не реквизиты формы тянуть.
|
|||
8
progaoff
20.06.19
✎
15:45
|
(7) Пытаюсь сообразить как сделать(
|
|||
9
RomanYS
20.06.19
✎
15:48
|
(6) Эээ.. Вызов чего? Где расположено (5) и (6)?
Вообще Инициализировать() это для подключения внешних(!) обработок в старых конфах. |
|||
10
lxs
20.06.19
✎
15:48
|
ЕМНИП, делается это так:
ДанныеДляЗаполнения = Форма.ОткрытьМодально(); А у формы сделать кнопку ЗакрытьФорму, где написать: ДанныеДляЗаполнения = Новый Структура("балбла, блобло, блаблу", бла, бло, блу); Закрыть(ДанныеДляЗаполнения); Как-то так |
|||
11
progaoff
20.06.19
✎
15:50
|
(9) Я и делаю ее как внешнюю обработку заполнения таб частей
|
|||
12
RomanYS
20.06.19
✎
15:54
|
(11) А что тогда в (6)? Подключай в справочник, Инициализировать будет вызвано "само"
|
|||
13
Euguln
20.06.19
✎
15:55
|
+(10)
Если нужна таблица, то во временное хранилище. |
|||
14
RomanYS
20.06.19
✎
15:55
|
(13) ??? Зачем? Это ОФ
|
|||
15
progaoff
20.06.19
✎
15:59
|
(9) 5 - в модуле обработки 6 - на форме
|
|||
16
lxs
20.06.19
✎
16:00
|
(14) нельзя структуру передавать, точно.
|
|||
17
lxs
20.06.19
✎
16:01
|
+(16) но определённо эта тема работает
|
|||
18
RomanYS
20.06.19
✎
16:01
|
(15) на форме документа? Как тогда этот код должен догадаться о существовании обработки?
|
|||
19
progaoff
20.06.19
✎
16:03
|
(18) Неа на форме обработки. Блин че фигню делаю я уже понял) Вопрос, как с формы обработки перенести данные в таб.часть?
|
|||
20
RomanYS
20.06.19
✎
16:04
|
(16) Уточните откуда и куда нельзя передавать. И как это всё относится к теме ветки
|
|||
21
lxs
20.06.19
✎
16:04
|
В общем вот:
Процедура ЗаполнитьДокумент(Кнопка) Результат = ЭтотОбъект.ПолучитьФорму("ФормаРедактированияЦен").ОткрытьМодально(); Структура = Результат.Получить(); Для каждого ТекСтрока Из Товары Цикл ТекСтрока.Цена =Структура.Цена; КонецЦикла; КонецПроцедуры А в открываемой форме: Процедура ЗакрытьФорму(Кнопка) Структура = Новый Структура; Структура.Вставить("Цена", Цена); Закрыть(Новый ХранилищеЗначения(Структура)); КонецПроцедуры |
|||
22
progaoff
20.06.19
✎
16:05
|
(21) ЗакрытьФорму на форме а первое в модуле?
|
|||
23
progaoff
20.06.19
✎
16:06
|
(22) в структуру фигачить все что мне нужно с формы?
|
|||
24
lxs
20.06.19
✎
16:07
|
Да на оба вопроса
|
|||
25
progaoff
20.06.19
✎
16:08
|
(22) Процедура ЗаполнитьДокумент(Кнопка) - похоже на кнопку на форме документа)
|
|||
26
lxs
20.06.19
✎
16:09
|
(23) Только предусмотри варианты, когда форму не кнопкой закрывают, а, например, escape нажимают
|
|||
27
lxs
20.06.19
✎
16:12
|
(25) Ну у меня да, тебе надо заточить под внешнюю. У меня все базы на УФ. Спецом создал пустую на обычных. Но там же нет инициализации внешних обработок, так что извиняй.
|
|||
28
progaoff
20.06.19
✎
16:13
|
(27) вкурил
|
|||
29
progaoff
20.06.19
✎
16:16
|
Спасибо
|
|||
30
lxs
20.06.19
✎
16:24
|
(29)
Структура = Новый Структура; Для Индекс = 0 По ЭтаФорма.ЭлементыФормы.Количество()-1 Цикл Элемент = ЭтаФорма.ЭлементыФормы.Получить(Индекс); Если ТипЗнч(Элемент) = Тип("ПолеВвода") Тогда Структура.Вставить(Элемент.Имя, Элемент.Значение); КонецЕсли; КонецЦикла; Закрыть(Новый ХранилищеЗначения(Структура)); |
|||
31
RomanYS
20.06.19
✎
16:27
|
(30) Хранилище?
|
|||
32
lxs
20.06.19
✎
16:28
|
(31) Поясни. Ты структуру не передашь. "Неверное значение параметра (1)" получишь.
|
|||
33
RomanYS
20.06.19
✎
16:29
|
(32) С чего вдруг?
|
|||
34
RomanYS
20.06.19
✎
16:30
|
+(33)
Синтаксис: Закрыть(<ПараметрЗакрытия>) Параметры: <ПараметрЗакрытия> (необязательный) Тип: Произвольный. Параметр закрытия формы, открытой в модальном режиме. Это значение будет возвращено как результат метода, открывающего форму модально. |
|||
35
lxs
20.06.19
✎
16:33
|
(33) Ну, ладно, не надо давить интеллектом, я видимо на скорую руку делал, косякнул.
Да, передал структуру без проблем |
|||
36
lxs
20.06.19
✎
16:34
|
Процедура ЗакрытьФорму(Кнопка)
Структура = Новый Структура; Для Индекс = 0 По ЭтаФорма.ЭлементыФормы.Количество()-1 Цикл Элемент = ЭтаФорма.ЭлементыФормы.Получить(Индекс); Если ТипЗнч(Элемент) = Тип("ПолеВвода") Тогда Структура.Вставить(Элемент.Имя, Элемент.Значение); КонецЕсли; КонецЦикла; Закрыть(Структура); КонецПроцедуры Структура = ЭтотОбъект.ПолучитьФорму("ФормаРедактированияЦен").ОткрытьМодально(); Для каждого ТекСтрока Из Товары Цикл ЗаполнитьЗначенияСвойств(ТекСтрока, Структура); КонецЦикла; |
|||
37
progaoff
20.06.19
✎
16:47
|
(30) И с первым вариантов вышло норм
|
|||
38
RomanYS
20.06.19
✎
16:48
|
(36) Зачем вообще что-то передавать в такой ситуации и открывать модально. В данном случае (ОФ и две формы объекта) объект-документ у форм общий, его можно изменять из обоих форм. Без закрытия и передачи чего-либо.
Как я понимаю, ТС хочет это делать внешней обработкой. |
|||
39
lxs
20.06.19
✎
16:59
|
(38) Дружище.. Я создал произвольную форму. Там нет основного реквизита.
Конечно же можно было сделать так, как ты предлагаешь. Думать неохота, жара. Тем более, обычные формы.. так давно это было) |
|||
40
RomanYS
20.06.19
✎
17:03
|
(39) В произвольную форму можно передать объект основной или саму форму параметром.
Ладно, раз у ТС что-то получилось... значит ты его лучше понял)) |
|||
41
lxs
20.06.19
✎
17:10
|
(40) На том и договоримся)
|
|||
42
progaoff
20.06.19
✎
17:24
|
(41) блин косяк, в полях процедура зарыта, в таб части. и нихрина не считает
|
|||
43
RomanYS
20.06.19
✎
17:24
|
(42) (41) ;)
|
|||
44
progaoff
20.06.19
✎
17:26
|
(42) Товары при изменении
|
|||
45
hhhh
20.06.19
✎
17:26
|
(42) зарыта в полях - это тогда вам лопата нужна.
|
|||
46
progaoff
20.06.19
✎
17:27
|
(45) Ну да)
|
|||
47
progaoff
20.06.19
✎
17:53
|
Как до нее достучатся из обработки ТоварыПриИзменении?
|
|||
48
RomanYS
20.06.19
✎
17:55
|
(47) До кого "до нее"&
|
|||
49
progaoff
20.06.19
✎
17:56
|
(47) ТоварыПриИзменении, без нее расчет не происходит блин
|
|||
50
progaoff
20.06.19
✎
17:59
|
все закрыт вопрос)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |