Текущее время: Сб, авг 02 2025, 15:03

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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