|   |   | 
| 
 | v7: открытие формы из формы 1с 7.7 | ☑ | ||
|---|---|---|---|---|
| 0
    
        jah1111 25.09.20✎ 15:23 | 
        помогите разобраться в очередном извращении :)
 Дано: обработка, открывается из документа в модальном окне в ней: - кнопка с процедурой ОткрытьМодальноеОкно2() - Процедура ПослеОткрытия() в которой прописана процедура ОткрытьМодальноеОкно2() // два разных вызова модальногОокна2 предусмотрено и соображений: если из процедуры - первый ввод, а по кнопке - если надо изменить то, что ввели при первом вводе если нажимаю по кнопке, то все нормально, параметр передается из модальногоокна1 в модальноеокно2 если процедура срабатывает из процедуры ПослеОткрытия() то в отладчике переменная контекста имеет пустое значение и обработка не срабатывает корректно. | |||
| 1
    
        Ёпрст гуру 25.09.20✎ 15:30 | 
        (0) любое открытие из модальной формы будет открыто модально. Дальше думай.
 Зы: модальность зло | |||
| 2
    
        АЛьФ 25.09.20✎ 15:31 | 
        2(1) Не любое :)     | |||
| 3
    
        АЛьФ 25.09.20✎ 15:34 | 
        2(0) Обязательно надо, чтобы второе модальное открывалось первый раз при открытом первом? Может все же в ПриОткрытии делать?     | |||
| 4
    
        jah1111 25.09.20✎ 15:39 | 
        (3) прописывал процедуру в ПриОткрытии(). В мольном окне формы по непонятной мне причине отключился формекс, смешались все слои  в кучу...
 разве что попробовать получить параметр в ПриОткрытии(), а саму а вызов модальногоокна2 прописать в ПослеОткрытия() | |||
| 5
    
        jah1111 25.09.20✎ 15:43 | 
        (4) извините, второе предложение бред, просто запутался. 
 я не понимаю почему по кнопке все отлично работает а по процедуре - нифига? | |||
| 6
    
        jah1111 25.09.20✎ 15:56 | 
        (3) обязательно, данные из модалОкна2 должны попадать в модалОкно1. и оттуда уже в таблицу документа.
 в общем, структура такая: кнопка "Новая строка" -> Модальное окно с несколькими элементами диалога значение которых меняются по кнопках, которые вызывают модалОкно2(обработка поиска в БД). При вводе новой строки модалОкно2 вызывается автоматически поочередно для каждого элемента диалога, кнопка Ок в модалОкне2 и строка готова. | |||
| 7
    
        АЛьФ 25.09.20✎ 16:45 | 
        2(6) А как данные передаются между окнами?     | |||
| 8
    
        jah1111 25.09.20✎ 17:15 | 
        (7)  в родительской форме:
 Конт = глВзятьКонтекст(Контекст); СЗ = СоздатьОбъект("СписокЗначений"); СЗ.ДобавитьЗначение(Конт, "Контекст"); СЗ.ДобавитьЗначение(Команда, "Команда"); // Разным кнопкам - разная команда. Передается в дочернюю форму. ОткрытьФормуМодально("Обработка.ДанныеСтроки",СЗ); в дочерней форме: Докум = Форма.Параметр.Получить("Контекст"); Команда = Форма.Параметр.Получить("Команда"); ну и пример передачи назад: Докум.Товар = ТоварИзМодальнойФормы; Когда вызываю второе модальное окно из процедуры ПриОткрытии() первого модального окна, обработка фунциклирует нормально, но слои на форме все вперемешку и формексовские шрифты не работают. | |||
| 9
    
        Ёпрст гуру 25.09.20✎ 18:24 | 
        не нужна тебе модальная форма, в лучшем случае, подбор открывать     | |||
| 10
    
        Злопчинский 25.09.20✎ 18:27 | 
        Смотря какая версия формекса
 В модальном режиме были версии в которых ПослеОткрытия в модальном не работал. Надо юзать ПослеСоздания() | |||
| 11
    
        АЛьФ 28.09.20✎ 10:46 | 
        2(8) Не надо работать с контекстом родительского окна, переданным через параметр. Возвращай из дочерней формы все нужные значения в том же списке и в родительском уже все обрабатывай.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |