|
v7: открытие формы из формы 1с 7.7 | ☑ | ||
---|---|---|---|---|
0
jah1111
07.07.20
✎
15:26
|
Есть кнопка на форме, в формуле которой указана процедура кнОткрыть()
которая в модуле формы выглядит так: процедура кнОткрыть() открытьФорму("документ.тест2"); конецпроцедуры хотелось бы, чтобы при нажатии на кнопку на форме открывалася форма документа тест2 (или обработки, пока не решил) но не открывается. что не так? |
|||
1
Злопчинский
07.07.20
✎
15:27
|
(0) Прочитать СП, уяснить какие контретно типы и значения передаются в параметрах.
|
|||
2
Злопчинский
07.07.20
✎
15:28
|
ОткрытьФорму(<?>,,)
Синтаксис: ОткрытьФорму(<Документ>,<КонтекстФормы>,<РежимПросмотра>) Назначение: Открывает визуальную форму существующего документа или элемента/группы справочника. Возвращает: 1 - если действие выполнено, 0 - иначе. Параметры: <Документ> - выражение со значением типа 'документ'; <КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен); <РежимПросмотра> - необязательный параметр. Числовое выражение: 1 - открыть форму в режиме только просмотра; 0 - открыть форму в режиме редактирования; -1 (минус единица) - в этом случае используется вариант, предусмотренный текущим значением параметра ''Режим открытия объектов'', установленным пользователем интерактивно. |
|||
3
Злопчинский
07.07.20
✎
15:28
|
Что здесь непонятного в описании первого параметра?
|
|||
4
Злопчинский
07.07.20
✎
15:35
|
для открытия нового документа
ОткрытьФорму(<?>,,) Синтаксис: ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>,<ДокументОснование>) Назначение: Открывает визуальную форму ввода нового документа (в т.ч. в режиме ввода на основании). Возвращает: 1 - если действие выполнено, 0 - иначе. Параметры: <ОписательОбъекта> - строка-описатель документа вида: 'Документ.ХХХХХ', где ХХХХХХ - вид документа; <КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен); <ДокументОснование> - документ-основание для открытия формы ввода нового документа в режиме ввода на основании (необязателен). |
|||
5
Злопчинский
07.07.20
✎
15:38
|
По идее в (0) все правильно.
на всякий случай напиши "Документ.тест2" с соблюдением регистра как в конфигураторе. . если не открывается - см. что не так. или нет в конфиге документа с видом "Тест2" или в форме документ.тест2 - что-то делается ПриОткрытии(), например СтатусВозврата(0); или как вариант - форма документ.тест2 ВООБЩЕ не определена или на ней нет активных элементов - на которых мог бы зафыиксироваться фокус - форма при этом тоже не откроется |
|||
6
jah1111
07.07.20
✎
15:54
|
блиииииииииииииииииииииииин! неужели регистр! все заработало!
а я маюсь....! спасибо тебе большое! (5) |
|||
7
Злопчинский
07.07.20
✎
15:54
|
(6) ну и ок! Успехов! стучись если что.
|
|||
8
Злопчинский
07.07.20
✎
15:55
|
(6) вот блин никогда не столя вопрос про регистр у меня ;-)
всеглда тупо писал как в СП указано.. ;-) |
|||
9
jah1111
07.07.20
✎
16:12
|
ну никогда не подумал бы что семерка так чуствительна к регистру!
|
|||
10
Злопчинский
07.07.20
✎
16:18
|
ну, в идентификаторах - да...
в индексах - там приводится в одному регистру все, так что нечуствительно |
|||
11
Ёпрст
07.07.20
✎
20:31
|
(10) брехня.
в 7.7 рнгистронезависима |
|||
12
Злопчинский
07.07.20
✎
20:48
|
(11) хм...
ТЗ.НайтиЗначение(чтото,поз,"ИмяКолонки") и ТЗ.НайтиЗначение(чтото,поз,"имяколонки") - прокатит? |
|||
13
Сияющий Асинхраль
07.07.20
✎
21:11
|
(12) Должно... Сколько я помню семерку....
|
|||
14
Ёпрст
07.07.20
✎
21:38
|
(12) да
|
|||
15
tgu82
07.07.20
✎
21:57
|
(12) Мне кажется что регистр тут ни при чем
|
|||
16
jah1111
08.07.20
✎
19:11
|
(15) мужики, только что перепроверил, Злопчинский прав
исправил первую букву названия обработки с заглавной на строчную и обработка не открылась. |
|||
17
Злопчинский
08.07.20
✎
19:12
|
(16) ну, если обработка - в составе конфиги, тто наверное да. если внешняя - то пофиг, имен файлов регистронезависимые
|
|||
18
jah1111
08.07.20
✎
19:17
|
(7) пришлось постучаться
никогда не работал с подчиненными формами как правильно вернуться в родительскую форму? Процедура ПриповторномОткрытии() подходит плохо, так как работает только в несохраненном документе, если же документ уже закрывался то данная процедура открывает форму в не старом, а новом документе... делаю так: Процедура ПриповторномОткрытии() новаястрока(); парам=форма.параметр; товар=парам.товар; марка=парам.марка; Брутто=парам.брутто; пересчет(); конецпроцедуры а подскажите как надо |
|||
19
Сияющий Асинхраль
08.07.20
✎
19:27
|
Проверил :-) , забавно, название документа Регистронезависимо!!! Т.е. можно писать "тест2" можно "Тест2" - без разницы, форма запускается, а вот слово "документ" оказывается регистрозависимым :-(
|
|||
20
Злопчинский
08.07.20
✎
19:31
|
(18) "как правильно вернуться в родительскую форму?"
если форма - открыта - то можно. если закрыта - то смотря что надо - имея обьект можно открыть его форму ЗАНОВО. |
|||
21
Злопчинский
08.07.20
✎
19:32
|
(18) "как правильно вернуться в родительскую форму?"
- стандартно. воспользоваться ОткрытьФорму(......) - если она открыта - то сработает "ПриПовторномОткрытии" |
|||
22
Злопчинский
08.07.20
✎
19:33
|
ну и дочернюю форму открыть можно МОДАЛЬНО. тогда возвра в род.форму произойдет при закрытии модальной дочерней формы. но с модальными - надо аккуратно.
|
|||
23
jah1111
08.07.20
✎
19:57
|
(21) немного уточню
в форме документа есть таблица возле таблицы есть кнопка "Добавить"которая вызывает форму2 в форма2 я вношу некторые значения, которые после ее закрытия попададают в строку табличной части форма1 НО! если я сохраню документ, а потом открою его снова и нажму "Добавить", то при закрытии формы2, откроется не документ1, а новый документ2 а мне надо возвращаться в тот же документ |
|||
24
Сияющий Асинхраль
08.07.20
✎
20:16
|
Перечитай чего сам же написал :-( ... Перенумеруй для начала свои документы. Итак есть Документ с табличной частью. Строка этого документа что собой представляет - отдельный документ что-ли? Иначе зачем ты вызываешь форму документа? Если можно было сделать просто сложную или не очень форму ввода. При нажатии добавить у тебя помимо строки добавляется еще и документ или просто реквизиты новой строки? Короче, попробуй внятно объяснить что собой представляет Документ, Документ1, Документ2 и т.д...
|
|||
25
Злопчинский
08.07.20
✎
20:18
|
(23) ты блин разберсь что у тебя на форме - таблица(ТЗ) или табличная часть.
а то поток сознания напрягает |
|||
26
Злопчинский
08.07.20
✎
20:19
|
(23) стукнись в скайп Zlopun
|
|||
27
jah1111
09.07.20
✎
19:34
|
(25) табличная часть
https://ibb.co/CVkw0xz вот накидал приблизительно добавляю строку, сохраняю документ. хочу добавить еще одну строку, открываю сохраненный документ, нажимаю кнопку вызова формы2, заполняю, закрываю и... вместо добавления строки открывается пустой документ |
|||
28
jah1111
09.07.20
✎
19:40
|
в дочерней форме перед закрытием выполняется
открытьформу("Документ.Родительский",парам); в родительской форме данные заносятся в таблицу в процедуре ПриповторномОткрытии() |
|||
29
Ёпрст
09.07.20
✎
20:10
|
Хз, че ты там рещшаешь, мот поможет ?
https://cloud.mail.ru/public/4sxY/4pvjFGvN7 |
|||
30
Сияющий Асинхраль
09.07.20
✎
22:21
|
(29) :-)))) Стоит пересохранить обработку в конфигураторе и перестают работать и Ins и Del :-(((
|
|||
31
Злопчинский
09.07.20
✎
22:24
|
(28) вызови обработку модально и передай туда контекст родителя. через контекст будет доступна текущапя строка ТЧ. ввел в обработке нужные данные. через контекст записал в нужную строку при закрытии обработки. всё.
|
|||
32
Злопчинский
09.07.20
✎
22:24
|
(28) .. и не надо никаких ПриПовторномОктрытии и прочего.
|
|||
33
Ёпрст
09.07.20
✎
23:53
|
(30) это можно поправить
|
|||
34
Ёпрст
10.07.20
✎
00:13
|
||||
35
Ёпрст
10.07.20
✎
00:13
|
так например, стал забывать уже 7.7
|
|||
36
Злопчинский
10.07.20
✎
01:32
|
(35) как же мы без тебя...
|
|||
37
jah1111
10.07.20
✎
08:57
|
(31) ну а как описать закрытие обработки в родительской форме?
|
|||
38
Ёпрст
10.07.20
✎
10:27
|
(37) какую задачу ты решаешь, напиши словами
|
|||
39
Злопчинский
10.07.20
✎
10:56
|
(37) никак.
а=1; ОткрытьФормуМодально(...); б=2; //пока форма открыта модально - этот оператор не выполнится. . т.е. открыть форму мордально - это представь что ты вставил кусок кода. Пока он весь не выполнится - обработка дальше не идет. . стучись в скайп Zlopun. А то ты на какой-то простейшей хне застрял и мучаешься, посмотрим что там у тебя... |
|||
40
Злопчинский
10.07.20
✎
14:56
|
проведено беглое обучение/показ.
вроде что надо - сдлали. |
|||
41
Сияющий Асинхраль
10.07.20
✎
15:42
|
Блин... Люди учитесь внятно формулировать задачу или вопрос. ТС три дня развлекался просто потому, что не смог сформулировать свои хотелки. Еще 8-го попросил переформулировать вопрос - не захотел (а скорее и не смог бы) :-((( . Но правильно сформированный вопрос - часто половина решения...
|
|||
42
Arbuz
10.07.20
✎
16:14
|
ещё немного подождать, сделают удаленный нейроинтерфейс и Злоп сможет подключаться и формулировать мысли за ТС-ов )))
|
|||
43
Злопчинский
10.07.20
✎
18:36
|
(42) "спасибо, поржал!" ;-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |