Текущее время: Чт, июл 31 2025, 16:08

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: BI 7.0 Как запустить Последовательность планирования при открытии рабочей книги
СообщениеДобавлено: Вс, май 04 2008, 13:46 
Начинающий
Начинающий

Зарегистрирован:
Пт, ноя 24 2006, 16:50
Сообщения: 12
Прошу дать совет по следующей проблеме:
Есть рабочая книга, с помощью которой вводятся данные в текущую версию. Нужно чтобы при открытии раб. книги запускалась посл-ть планирования и проверяла статус данных этой версии. Если версия утверждена, должно быть выдано сообщение об ошибке и книга не должна открываться для ввода.
Раньше, в BPS 3.5 это решалось заданием типа функции "Выполнять при открытии раб книги"
А как сейчас (BI 7.0) можно решить эту проблему ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, май 04 2008, 14:44 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июл 04 2007, 22:04
Сообщения: 138
Пол: Мужской
Не оптимальный вариант, зато просто:
1. Создаем кнопку для запуска последовательности планирования. Кнопку спрячем, но макрос для вызова кнопки запомним - это будет что-то типа "Public Sub BUTTON_32_Click()".
2. У рабочей книги ставим опцию "Обновлять рабочую книгу при открытии".
3. При обновлении запроса в рабочей книги вызывается функция Callback, которая находится в модуле Module1. Туда вставляем запуск последовательности планирования.
Call BUTTON_32_Click
Но нужно учесть, что данная последовательность будет вызываться при каждом обновлении запроса. Можно попробовать вставить проверку типа:
if my_flag = 0 then
Call BUTTON_32_Click
my_flag = 1
end if


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, май 04 2008, 16:42 
Начинающий
Начинающий

Зарегистрирован:
Пт, ноя 24 2006, 16:50
Сообщения: 12
не помогает. Система выполняет Последовательность планирования и потом просто виснет. (при вызове кнопкой данная последовательность отрабатывает вполне нормально)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, май 04 2008, 17:03 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июл 04 2007, 22:04
Сообщения: 138
Пол: Мужской
1) А в начало или конец Callback вставили вызов последовательности?
2) А что последовательность делает (хоть в 2х словах)?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, май 04 2008, 19:29 
Начинающий
Начинающий

Зарегистрирован:
Пт, ноя 24 2006, 16:50
Сообщения: 12
рекомендованный код вставил в самый конец CallBack.
А куда нужно было его вставить?
my_flag - глобальная переменная модуля

Последовательность проверяет статус данных в одном из кубов и если данные уже утверждены, должна выдать
message e001() with 'данные уже утверждены, редактирование невозможно'

виснет, если даже в последовательности оставить один только оператор message


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BI 7.0 Как запустить Последовательность планирования при открытии рабочей книги
СообщениеДобавлено: Вс, май 04 2008, 22:01 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пт, окт 21 2005, 09:24
Сообщения: 832
Откуда: от верблюда...тоже:)
Пол: Мужской
shish написал(а):
Прошу дать совет по следующей проблеме:
Есть рабочая книга, с помощью которой вводятся данные в текущую версию. Нужно чтобы при открытии раб. книги запускалась посл-ть планирования и проверяла статус данных этой версии. Если версия утверждена, должно быть выдано сообщение об ошибке и книга не должна открываться для ввода.
Раньше, в BPS 3.5 это решалось заданием типа функции "Выполнять при открытии раб книги"
А как сейчас (BI 7.0) можно решить эту проблему ?

Блокируйте срезом данных утвержденную верию.

_________________
а подпись...а подписи не будет :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 07 2008, 09:47 
Начинающий
Начинающий

Зарегистрирован:
Пт, ноя 24 2006, 16:50
Сообщения: 12
А как с помощью срезов данных реализовать следующую логику:
Данные проходят последовательно статусы согласования S1, S2, S3,

Как обеспечить следующее:

чтобы срез данных блокировал все статусы, кроме того, который сейчас в обработке у очередного ответственного лица

чтобы данные можно было последовательно передавать
S1->S2->S3 и S1<-S2<-S3


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 07 2008, 10:38 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июл 04 2007, 22:04
Сообщения: 138
Пол: Мужской
Можно сделать переменную, которая будет возвращать статус, который сейчас в обработке у очередного ответственного лица.
А в срезе данных выбираем эту переменную и ставим ей отрицание (опция "Исключить выбор").


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 07 2008, 14:34 
Начинающий
Начинающий

Зарегистрирован:
Пт, ноя 24 2006, 16:50
Сообщения: 12
хорошо. допустим данные в текущий момент времени находятся в статусе S2.
статусы S1, S3 блокированы срезом данных с помощью переменной, значение которой НЕ S2.
Пользователь их редактирует.

Далее пользователь должен передать данные в статус S3, но ведь этот статус блокирован срезом данных.

Как быть?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 07 2008, 16:11 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июл 04 2007, 22:04
Сообщения: 138
Пол: Мужской
shish написал(а):
Далее пользователь должен передать данные в статус S3, но ведь этот статус блокирован срезом данных.

Как быть?


А можете подробнее написать, что означает передача данных в статус S3? Я имею ввиду физический уровень.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 07 2008, 17:35 
Начинающий
Начинающий

Зарегистрирован:
Пт, ноя 24 2006, 16:50
Сообщения: 12
передать из статуса S1 в статус S2 - это
выполнить функцию планирования Проводка переноса или Формула,
при этом статус данных должен измениться с S1 на S2


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 07 2008, 18:19 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июл 04 2007, 22:04
Сообщения: 138
Пол: Мужской
Если я не ошибаюсь, то проверка на срез происходит перед сохранением данных, поэтому если мы изменим весь объем данных с S1 на S2, то значение переменной должно автоматически поменяться на S2 (если оно не закэшируется где-нибудь) и срез уже не будет ограничивать статус S2.

Я, правда, сильно сомневаюсь в таком варианте, но интересно проверить :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 07 2008, 19:09 
Начинающий
Начинающий

Зарегистрирован:
Пт, ноя 24 2006, 16:50
Сообщения: 12
Спасибо за помощь!


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB