AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.06.2005, 12:41   #1  
kekki is offline
kekki
Участник
 
58 / 10 (1) +
Регистрация: 27.06.2005
:(
Помогите, пожалуйста, разобраться со свойством Temporary переменной типа Record!
При зауске отчета используется временная таблица для сбора данных. В самом начале работы отчета эта таблица блокируется. Поэтому если 2 пользователя одновременно пытаются получить этот отчет, тому, кто запустил его вторым, приходится ждать. А отчет выполняется долго. Поэтому хотелось бы избежать такой блокировки. Попытка у переменной типа Record, которая ссылается на эту таблицу, изменить свойство Temporary на Yes ничего не дала.
Старый 27.06.2005, 13:06   #2  
zm is offline
zm
Участник
 
44 / 10 (1) +
Регистрация: 15.07.2003
Адрес: Латвия
Для чего у Вас блокируется таблица, кот. Вы называете "временная таблица для сбора данных"?
Старый 27.06.2005, 13:26   #3  
kekki is offline
kekki
Участник
 
58 / 10 (1) +
Регистрация: 27.06.2005
Эта таблица используется не только в этом отчете, но еще и в других. Блокировка как раз и нужна для того, чтобы если другой пользователь запустит этот или другой отчет, использующий эту таблицу, данные в этой таблице не изменялись , так как она заполняется непосредственно перед созданием отчета.
Старый 27.06.2005, 13:38   #4  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
kekki, Вы что-то путаете.
Как раз если Вы используете переменную типа Record со свойством Temporary - Yes, то блокировать ее не надо - такая таблица создается на клиенте.
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 27.06.2005, 13:51   #5  
ТРЕНЕР is offline
ТРЕНЕР
Участник
Аватар для ТРЕНЕР
 
599 / 50 (3) ++++
Регистрация: 11.06.2003
Адрес: Москва
Данные во временных таблицах формируются у каждого пользователя отдельно на его машине. Соответственно, в отчет второго пользователя никогда не попадут данные из отчета первого пользователя (с его точки зрения таблица всегда пуста), и блокировать таблицу просто не надо, соответственно проблема ожидания просто снимается.
Старый 28.06.2005, 07:13   #6  
kekki is offline
kekki
Участник
 
58 / 10 (1) +
Регистрация: 27.06.2005
Я понимаю, что так должно быть, проблема в том что оно так не работает!
То есть если сделать запись временной (Temporary=Yes), то отчет должным образом не работает! Возможно нужны еще какие-то настройки, но я не знаю какие...
Старый 28.06.2005, 11:31   #7  
ТРЕНЕР is offline
ТРЕНЕР
Участник
Аватар для ТРЕНЕР
 
599 / 50 (3) ++++
Регистрация: 11.06.2003
Адрес: Москва
Чудес не бывает. Смотрите повнимательней на свой отчет.
Старый 28.06.2005, 13:52   #8  
kekki is offline
kekki
Участник
 
58 / 10 (1) +
Регистрация: 27.06.2005
Почему не работает, я разобралась. Дело в том, что данные собираются в таблицу с помощью записи, а в отчет данные выводятся из элемента данных. И элемент данных и запись ссылаются на одну и ту же таблицу, но если запись временная, то элемент данных изменения сделанные записью не поддерживает.
Вопрос теперь в том, как отображать данные из записи.
Старый 28.06.2005, 14:23   #9  
ТРЕНЕР is offline
ТРЕНЕР
Участник
Аватар для ТРЕНЕР
 
599 / 50 (3) ++++
Регистрация: 11.06.2003
Адрес: Москва
Можно попробовать обходной путь: Вашу временную таблицу сделать обычной, и добавить туда поле с идентификатором польователя. Соотв.,
- при записи данных прописывать туда пользователя
- в отчете во всех операторах поиска поставить пользователя
- не забывать чистить табличку по записям текущего пользователя
Соотв., каждый юзер будет всегда работать со своей частью таблицы, и блокировать ее не придется, и отчет заработает.
Старый 28.06.2005, 14:33   #10  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Отображать данные из временных таблиц удобно с помощью таблицы Целое (Integer). Примеры использования можно посмотреть в стандартных отчетах типа Заказ Счет-Проформа, Заказ Счет-Фактура и много других печатных форм (смотрите на переменную SalesLine1, она временная, заполняется через кодъюнит 12401, после чего данные из нее извлекаются во всяческих Целых)
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 29.06.2005, 06:42   #11  
kekki is offline
kekki
Участник
 
58 / 10 (1) +
Регистрация: 27.06.2005
Большое спасибо!
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:11.