#0
by Lex_Liven
Собственно, сабж. Есть некая обработка, которая выполняется 10-15 минут. Она должна стартовать сразу при запуске тонкого клиента 1С. Проблема в том, что пока она работает, пользоваться 1С нельзя. А хотелось бы. Это возможно?
#0
by Lex_Liven
Собственно, сабж. Есть некая обработка, которая выполняется 10-15 минут. Она должна стартовать сразу при запуске тонкого клиента 1С. Проблема в том, что пока она работает, пользоваться 1С нельзя. А хотелось бы. Это возможно?
#4
by Lex_Liven
окно обработки должно остаться открытым, в нем потом будет вестись работа. Это платежная система QIWI. Она очень долго стартует.
#6
by Coldboy
Кстати интересовал такой вопрос, а можно обработки в фон кидать, и работать дальше, пока они делаются, просто где-то видел, что такое 1С будет рассматривать делать, но че то не увидел реализацию как это делать, новичкам программистам...
#7
by Lex_Liven
жесть, как она есть. Но вот такие рамки. Обработку переписать можно, но чем меньше в ней будет изменений, тем лучше. собсно, об том и вопрос :)
#10
by Coldboy
видел в 8.2.14, 15 обещали вроде бы сделать, инструмент, для закидывания бработки в фон и работать дальше.
#11
by H A D G E H O G s
Еще раз. Медленно. Что мешает запустить ФОновое задание, запустить обработчик ожидания в форме обработки и каждую чекунду дергать Фоновое, узнавая, завершено оно или нет. И когда оно завершиться - считать результат из регистра сведений?
#13
by Coldboy
я представляю себе такое механизм, запускаешь, обработку, программно ее кидаешь в режим работы фона, и когда она уже будет на конце выводишь из фона и все.
#14
by Lex_Liven
привет из вчерашней темы про константы в тонком. Мешает то, что обработка ничего не пишет в регистры сведений. Связь с базой чисто символическая - ссылками на документы ЧекККМ. Все загруженные данные хранятся в реквизитах формы "ТаблицаЗначений".
#15
by le_
Более правильное решение - сделать фоновое задание, которое будет отрабатывать с определенным тобой интервалом. А в интерфейсе пользователя сделать кнопку для ручного запуска обновления - когда им приспичит, они смогут вручную запустить.
#20
by H A D G E H O G s
Ну да ладно, есть рассово верный способ передачи через "Хранилища Настроек". И овцы сыты (контроль ссылочной целостности, новых табличек нет, роли не напрягаются, и.т.д.) и волки целы (достаточно быстро).
#21
by Coldboy
а еще есть, я че то не понял, эт в конфигураторе ты лупсуешь, последовательность, порядок допустим обработок, а затем, еще и время или в 1С предприятие как блин справочник создаешь. Тока типа 1С всегда должна робить в этим моменты да?
#22
by H A D G E H O G s
А вот еще проще! Глобальный контекст (Global context) ПоместитьВоВременноеХранилище (PutToTempStorage) Синтаксис: и главное: Также позволяет поместить данные из фонового задания в родительский сеанс. Для этого следует в родительском сеансе поместить во временное хранилище пустое значение, передав идентификатор формы. Затем полученный адрес передать в фоновое задание через параметры фонового задания. Далее, если этот адрес использовать в параметре <Адрес>, то результат будет скопирован в сеанс, из которого было запущено фоновое задание.
#23
by Lex_Liven
Фоновое задание выполняется на стороне сервера? Тогда этот вариант не подходит. Работа должна максимально выполняться на клиенте.
#24
by le_
Зачем? Помимо прочего, решение из плохо тем, что запрос к базе Киви выполняется при каждом запуске 1С (для каждого пользователя, да еще если он несколько раз решит войти), думается мне, это вовсе не нужно. Достаточно один раз получить данные сохранить их и пользовать по необходимости.
#25
by Rebelx
не очень хорошая практика удаления гланд через жпо. хотя конечно кардиошунтирование делают через разрез на ноге
#26
by Lex_Liven
если начать гонять данные на сервер (связь плохая), то каждый чек на каждый платеж выводится около 5-10 минут. Так, как работает сейчас - 5-10 секунд. Что и требуется. Запрос к базе Киви выполняется при каждом запуске, потому что данные в ней могут менять по несколько раз в день и узнать об этих изменениях можно только запросив все данные снова. Вот так шикарно оно работает. Это не удаление гланд через жпо, это работа в полевых условиях, когда нельзя менять протоколы сообщения с киви и желательно не трогать их обработку.
#27
by Coldboy
можно сделать так, создать константу, константа это дата выполненния твоей обработки при первом запуске, после успешного выполнения работы твоей обработки, константа примет значение текущего дня, и сделать проверку если дата = текущего дня, то больше не запускать, тобишь, я хотел сказать, обработка сработает 1 раз и все. Примерно такой механизм, я реализовал, тьфу-тьфу, нет нареканий, хочу вот сделать, типа регламент или фоном.
#28
by Lex_Liven
Связь реально плохая, потому и грузится долго. Это понятно, других провайдеров и другие тарифы интернета не предлагайте. Вернемся к теме. Возможно ли запустить обработку в фоне? А теперь прикиньте - таких пользователей около 50. Сколько мне нужно констант? Повторюсь - обработка ДОЛЖНА выполняться на клиенте.
#32
by Lex_Liven
список провайдеров, список агентов, настройки, еще чего-то там... все в виде несжатых XML. При каждом старте около 2-3 мегабайт набегает.
#39
by AAlexandra
Гм.. а запускать получение данных не автоматом при входе пользователя, а по кнопке? Захотел - запустил. Не захотел - так работает. Или фиксить где-нить в РС время старта получения данных для каждого пользователя, чтобы пользователь открывал подряд 2 сеанса, но загрузка срабатывала только в первом сеансе.
#43
by H A D G E H O G s
Зарегте базу, запустите из Тонкого и замером вызовов посмотрите. Будет 170 Кбайт на 1,5 мегабайтный XML файл
#45
by Lex_Liven
в заявлено хотелось бы пользоваться документами 1С, пока обработка загружает от киви свои данные. Без получения данных нельзя работать в Киви.
#48
by AAlexandra
А вообще, имхо, 10 минут для 3 мегабайт - это ненормально. И задуматься лучше бы как эти 10 минут превратить в 10 секунд. Да и в принципе, если данные в КИВИ меняются на столько часто, что необходимо обновление при каждом запуске 1с-ки, где гарантия, что они не поменяются во время одного сеанса 1ски? Обновлять их тогда нужно чаще, чем при старте клиента. Т.е. не привязываться к старту клиента вообще. ну и в чем проблема? В одном сеансе ждешь свою обработку с Киви, в другом - "пользуешься документами".
#53
by Lex_Liven
трафик красиво обрабатывается. Спасибо, но : это требует полного разбора обработки.
#54
by H A D G E H O G s
Опять тебя не понял. Ну не парсь на сервере, что мешает послать XML полностью на клиент? Отлично жмется же.
#55
by H A D G E H O G s
I see the bad moon arising. I see trouble on the way. I see earthquakes and lightnin'. I see bad times today.
#56
by Lex_Liven
Мешает тот факт, что в случае обновления обработки (это примерно раз в 2-3 месяца происходит) снова придется разбирать ее на части - это на клиент, это на сервер, это передать, это обработать на месте.
#59
by Lex_Liven
Ничего. Вопрос был в запуске с одного сеанса, но остался открытым. Или ответ - в рамках вопроса нельзя и все?
#61
by Lex_Liven
А я и не требую, мне тоже лениво. Ибо ВК тоже придется обновлять с изменениями в протоколе. Вопрос закрыт. Нельзя.
#62
by Coldboy
проблему можно решить не константой, база единая или же разделенная у каждого своя и потмо идет обмен?
#63
by Никола_Питерский
Можно гляди как отчеты формируются в БП 3.0 они там фоновым заданиями делаются !
#66
by Lex_Liven
база единая на всех 50 юзеров. Константа или регистрсведений - маловажно все равно два клиента запускать ручками. Нельзя. Задача выполнить в фоне НА КЛИЕНТЕ, а не фоновым заданием на сервере.
#68
by Lex_Liven
Так они и делают... Бида, что в течение этих 10 минут они мне на мозги капают - че так долго?
#70
by Lex_Liven
если соединение с сервером не обрывается, то один раз в день. А соединение обрывается иногда.
#71
by Coldboy
ну все твоя проблема решена в моем посте... Смотри как тебе такой вариант, первый запуск сделать, пока пользователя нет у компьютера, где то за 30 минут, эт ты запустишь 1С через командую строку, с помощью .bat, и через расписания виндовс, но также ты сделай регламентное задание, которое будет проверять, был ли обрыв и если был то выполнит ее повторно, и периодически будет пытаться сделать.
#72
by rool
У человека связь кривая и во время работы юзверей может падать. И все же не совсем понятно почему все это нельзя разобрать на сервере и передать клиенту уже готовый пакет данных тем же хранилищем значений?
#73
by Lex_Liven
Пользователь приходит на работу, включает комп и запускает 1С. Его не бывает "не за компом". Единственное, посоветовать им запустить и пойти пыль на витринах протереть :) устал повторять: потому что .
#77
by Адимр
"И когда оно завершиться - считать результат из регистра сведений?" Из "временного хранилища" в смысле?
#80
by Torquader
Непонятно для чего обновлять при запуске каждого пользователя ? Там же данные поди для всех одинаковые. Есть мнение, что нужно сделать одного виртуального пользователя, который будет запускаться клиентом и автоматом открывать эту обработку и обновлять всё, что надо, а остальные будут работать.
#82
by Torquader
Так если они все в одной базе, то какая разница, как их будут грузить - через клиентов или сразу в базу. Или там используется директория пользователя и текстовые файлы для хранения информации ?
#83
by Lex_Liven
Нет, данные разные для каждого пользователя, еще и меняются часто. И хранятся да, в директории юзера, в текстовом виде.
#85
by shamashs
Конкретно в вашем случая я предложил бы если уж на сервере никак, сделать пользователя "Робот" допустим, на нем запустить консоль регламентных заданй, и забирать данные раз в 5 минут в переферийку в одну локальную сеть с терминалами, а терминалы при отбитии чека не обновляют данные с киви или центрального сервера, а смотрят внутрь переферийки.
#86
by shamashs
Это в случае если на объекте несколько тонких клиентов, если же он у нас один то делаем job с get скриптом который скидывает в csv данные базы киви, и при отбитии чека сравнивается предидущая база с текущим файлом в 1с, находятся различия итп.
#87
by shamashs
тут я учитываю тот факт, надо понять, что 90% времени занимает загрузка базы киви, а не ее обработка в 1с
#88
by Lex_Liven
а почитать ветку? предлагали. Данные получаются и обрабатываются клиентом. 99,99% времени - это загрузка. Обработка стремительна, как после пургена. Обмен с сервером не нужен.
#89
by Lex_Liven
Ладно. Поставим вопрос по-другому. Как программно из тонкого клиента запустить второй сеанс?
#90
by Lex_Liven
Тоже тонкий клиент, тот же юзер, тот же пароль. Желательно без главного окна, только обработку.
#95
by Никола_Питерский
Так может пускай в фоне грузит сервер эти данные и ты их потом на серваке обработаешь и по пырому вернешь резалт на клиента ? Самый верняк.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как запустить обработку не вызывая метод "ПолучитьФорму"?
- нужно из 1С запустить приложение и дождаться пока оно отработает...
- Как запустить некий процесс 1С в отдельном потоке...
- v7: Как запустить обработку?
- Как программно запустить обработку?
- Как запустить обработку при старте системы в управляемом приложении.
- Запустить обработку под полными правами.
- Запустить 1с и сразу свою обработку
- v7: как программно запустить внешнюю обработку
- Как запустить встроенную обработку в регламентном задании?
В этой группе 1С
- Запрос... Свернуть по номенклатуре
- СКД: есть ли какие-то ограничения на использование вложенных запросов?
- v7: Запрос по остаткам ТМЦ
- Корректно завершить работу COM-соединения
- 8.2.15 Режим открытия форм - программно
- v7: 1С++ Запрос по регистру ПартииНаличие
- Как отключить пользователя от сервера Windows server 2008
- Бух 2.0 +Postgres+Карточка счета
- ДБО BS-Client v.3 (017.9.0)
- УТ 11, корректировка поступления (прием на комиссию)
- Обмен. Почему-то передается УдалениеОбъекта
- УФ. Меню Перейти в форме списка не отображает команду
- Нельзя использовать группу в качестве объекта контактной информации!
- v8: Как узнать, является ли партнёр юр. или физлицо, в форме договора?
- Перенос Сотрудников/Физлиц из 1с 7.7
- как поймать окончательный текст запроса в универсальном отчете?
- параметр план видов характеристик в скд
- При конвертации данных из БП в УТ есть ли возможность установить префикс?
- УПП давальческое сырье
- СоединитьСтроки() - как?