powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Как определить выполняется ли обмен в данный момент
20 сообщений из 20, страница 1 из 1
Как определить выполняется ли обмен в данный момент
    #36131357
x-anna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, суть проблемы такова: Необходимо чтобы некая обработка не начинала работать пока происходит обмен в данной базе (автоматический обмен в РИБ). Можно ли как то определить что в настоящее время происходит обмен данными или что он наоборот не происходит?
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36131455
Шурыгин Иван Сергеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поясните более подробно вашу проблему? то есть не начинала работать? то есть обработка должна запускаться с помощью плановщика заданий? тогда вопрос что примерно за обработка?
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36131488
pail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x-annaЗдравствуйте, суть проблемы такова: Необходимо чтобы некая обработка не начинала работать пока происходит обмен в данной базе (автоматический обмен в РИБ). Можно ли как то определить что в настоящее время происходит обмен данными или что он наоборот не происходит?

Для начала: это 7 или это 8?
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36131531
x-anna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это управление торговлей 10.3. Обработка выгружает и загружает данные на КПК и запускается через определенные интревалы времени с помощию ПодключитьОбработчикОжидания() и когда происходит ситуация, что она работает одновременно с обменом происходят конфликты и блокировки в таблицах, выгрузка на КПК и загрузка с КПК выдают ошибку. Как седлать так чтобы обмен не запускался во время работы обработок я знаю, но вот как сделать чтобы обработки не начинали работать когда идет обмен данными не представляю ((((
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36131665
Шурыгин Иван Сергеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я предложил бы воспользоваться простым алгоритмом

авторесли Обработки.<обработка>.ПолучитьФорму(<название формы>).Открыта() = Истина тогда
// операторы
конецЕсли;
или подобным аггоритмом в вашей обработке. перед началом работы.
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36131724
Хитроглазый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
завести константу, которую будет менять обработка обмена
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36131805
x-anna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я просто предположила что такой признак типа глобальной переменной или свойства какого то объекта уже существует в типовой конфигурации. Ну если он не существует, то видимо придется создавать свой
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36131824
Шурыгин Иван Сергеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x-annaЯ просто предположила что такой признак типа глобальной переменной или свойства какого то объекта уже существует в типовой конфигурации. Ну если он не существует, то видимо придется создавать свой

Код: plaintext
я просто скажу. в 1С мало таких глобальных констант, в принципе разработчики избегают константы, что и логично:) они перегружают память лишней парой совершенно не нужной информацией
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36133246
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван Сергеевич ...
а может загрузка выполнятся без открытия формы
или выполнятся на другом компе
или вообще фоновым заданием на сервере?
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36134000
Шурыгин Иван Сергеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafИван Сергеевич ...
а может загрузка выполнятся без открытия формы
или выполнятся на другом компе
или вообще фоновым заданием на сервере?

cудя по описанию проблемы обработка выполняется ресурсами 1С
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36134045
pail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шурыгин Иван СергеевичleafИван Сергеевич ...
а может загрузка выполнятся без открытия формы
или выполнятся на другом компе
или вообще фоновым заданием на сервере?

cудя по описанию проблемы обработка выполняется ресурсами 1С
..... и все вышеперечисленные варианты - это именно "ресурсы 1С". Вариант же

если Обработки.<обработка>.ПолучитьФорму(<название формы>).Открыта() = Истина тогда
// операторы
конецЕсли;

- вообще невероятен. Система однопоточная, и если некая форма открыта и выполняется - никакой другой поток команд на клиенте об этом не узнает, такового просто не будет. И никакой другой клиент об этом тоже не узнает - не предусматривает платформа такого.
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36134240
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот и я о том же
судя по этой команде ПодключитьОбработчикОжидания()
не обязательно конечно, но очень вероятно что оно вообще не привязано к пользователю
и выполняется на сервере а там понятие "форма" вообще лишено смысла вроде как ...
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36135095
HoBTID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x-annaЗдравствуйте, суть проблемы такова: Необходимо чтобы некая обработка не начинала работать пока происходит обмен в данной базе (автоматический обмен в РИБ). Можно ли как то определить что в настоящее время происходит обмен данными или что он наоборот не происходит?

Перед началом основной работы, в этой обработке, выполнять запрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
ВЫБРАТЬ
  Ссылка
ИЗ
  ПланОбмена.ВашПланОбмена

ДЛЯ ИЗМЕНЕНИЯ

Выполнять в транзакции, он заблокирует весь план обмена и это гарантирует отсутствие обмена сейчас.
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36140717
TopManager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Коллеги!

Мне кажется, логично будет обратиться к выполняемым в текущий момент фоновым заданиям. Если среди нет тех, с которыми Ваша обработка не совместима - не выполнять запуск. Как получить выполняемые в данный момент фоновые задания можно посмотреть в обработке консоль заданий с диска ИТС.


Код: plaintext
1.
Фоновые = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);

У фонового задания есть реквизиты Наименование и Состояние, по которым можно понять что это за задание и выполняется ли оно в текущий момент.

Бизнес-консультант ,
Красовский Юрий.
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36140784
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
радует что на форум стали заходить спецы )
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36140796
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
далее вроде все просто?
в массиве найти нужное
и ... ОжидатьЗавершения(<Фоновые задания>, <Таймаут>) ;

или грубо ...
ОжидатьЗавершения(Фоновые задания.ПолучитьФоновыеЗадания()) ;
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36141502
HoBTID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TopManagerЗдравствуйте, Коллеги!

Мне кажется, логично будет обратиться к выполняемым в текущий момент фоновым заданиям. Если среди нет тех, с которыми Ваша обработка не совместима - не выполнять запуск. Как получить выполняемые в данный момент фоновые задания можно посмотреть в обработке консоль заданий с диска ИТС.


Код: plaintext
1.
Фоновые = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);

У фонового задания есть реквизиты Наименование и Состояние, по которым можно понять что это за задание и выполняется ли оно в текущий момент.

Бизнес-консультант ,
Красовский Юрий.
А если обмен выполняется не в фоновом задании?
Это может быть просто запуск клиента 1С с параметрами, или вообще ручной запуск обмена.
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #36141958
TopManager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Коллеги!

Тогда нужно действовать так, как описали Вы. ;)
Но это только если конфликт возникает с обменом данными. Мне кажется, существует достаточно большое количество действий, которые вызывают длительные транзакции и могут привести к ошибкам при обработке. Наверное, лучше сделать общий механизм попыток выполнения операции и повторять попытки до успешного выполнения.


Бизнес-консультант ,
Красовский Юрий.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как определить выполняется ли обмен в данный момент
    #37037797
kadze
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Это все конечно хорошо.
И про менеджер фонового задания тоже умно.
У меня вопросик посложнее.

Можно ли как-то узнать, идет ли обмен в данный момент (обмен запущен в фоновом задании), если у пользователя, который хочет это узнать, нет прав администрирования?
...
Рейтинг: 0 / 0
Как определить выполняется ли обмен в данный момент
    #37038095
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привеллигированый режим.

А зачем?
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Как определить выполняется ли обмен в данный момент
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]