Список форумов Акцент Акцент
официальный форум разработчика программы Акцент
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Не передаются значения через Map в новую форму

 
Начать новую тему   Ответить на тему    Список форумов Акцент -> Акцент 7.4
Предыдущая тема :: Следующая тема  
Автор Сообщение
Alex2017



Зарегистрирован: 29.03.2017
Сообщения: 3

СообщениеДобавлено: Ср Мар 29, 2017 11:45 am    Заголовок сообщения: Не передаются значения через Map в новую форму Ответить с цитатой

Добрый день, столкнулся с проблемой, нужно в открываемую форму (из открытой Формы с операцией) передать значения через Map, делаю так:

'----------------
Sub TestN
Dim NewFrm

Set NewFrm = App.CreateForm(30) ' 30 - ID формы проекта

With NewFrm
.Map.Item("DOCID") = Op.ID '
.Map.("AGID") = Op.Trans(1).AgToID ' пробую передавать по разному - рез-т одинаков
End With

End Sub


'-- в открытой новой форме
Sub Form_OnLoad

Msgbox(Map.Count) ' только для примера, чтобы увидеть работу Map
Msgbox(Map.("AGID"))
Msgbox(Map.Item("DOCID"))
' ..... что-то делаем

End Sub

В новой форме НИЧЕГО не выводит... Пусто.
До сих пор передавал только в диалоги - там все нормально.

Что я делаю не так?
Спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Юров Ю.С.



Зарегистрирован: 11.03.2005
Сообщения: 383
Откуда: Павлоград

СообщениеДобавлено: Чт Мар 30, 2017 8:24 pm    Заголовок сообщения: Ответить с цитатой

У тебя
Цитата:
'-- в открытой новой форме

чья Мар, не от workarea случайно?

И зачем тебе
Цитата:
'-- в открытой новой форме

какая-то Мар нужна, если есть ссылка на всю эту форму и ты ей полностью управляешь?
Получи через AddScriptFragment ссылку на операцию формы, сделай своё дело и обнови форму опять через AddScriptFragment.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Alex2017



Зарегистрирован: 29.03.2017
Сообщения: 3

СообщениеДобавлено: Чт Мар 30, 2017 9:05 pm    Заголовок сообщения: Ответить с цитатой

Спасибо!
Через ссылку удается наполнить всю новую форму (она предназначалась только для вывода информации и последующей возможной печатью).

Передаю через Map самой формы, попытки через Workarea.Map тоже ни к чему не привели. Через ссылку все вышло. (Зациклился на том, что не получалось, ведь раньше через Map хорошо передавал параметры в диалоги).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
olimp
Site Admin


Зарегистрирован: 10.03.2005
Сообщения: 2661

СообщениеДобавлено: Вс Апр 02, 2017 5:51 pm    Заголовок сообщения: Ответить с цитатой

Посмотрите под отладчиком и поймете сразу в чем проблема.
События в форме отрабатываются в другом контексте и, скорее всего, OnLoad отработает до того, как Вы отдадите ему данные в Map.

логика для формы должна быть такой
1. Создали форму
2. Наполнили Map
3. Вызвали UserEvent формы
4. в OnUser написали код, который будет использовать данные МАР
5. обновили форму

Используйте Workarea.Map для обмена данными между контекстами.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Alex2017



Зарегистрирован: 29.03.2017
Сообщения: 3

СообщениеДобавлено: Вт Апр 11, 2017 8:44 am    Заголовок сообщения: Ответить с цитатой

olimp писал(а):
Посмотрите под отладчиком и поймете сразу в чем проблема.
События в форме отрабатываются в другом контексте и, скорее всего, OnLoad отработает до того, как Вы отдадите ему данные в Map.

логика для формы должна быть такой
1. Создали форму
2. Наполнили Map
3. Вызвали UserEvent формы
4. в OnUser написали код, который будет использовать данные МАР
5. обновили форму

Используйте Workarea.Map для обмена данными между контекстами.

Большое спасибо! Теперь понятна суть происходящего.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Акцент -> Акцент 7.4 Часовой пояс: GMT + 2
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group