Ошибка нет документов для запуска фонового перехода

Добрый день. При подписании форм, поле выбора сертификатов остается пустым (нельзя...

Ошибка при подписании


14 апр 2017 06:54 #5172
от jakewow

Добрый день. При подписании форм, поле выбора сертификатов остается пустым (нельзя выбрать, нет ни 1 сертификата), а потом вылазит следующая ошибка (скриншот).

Версия браузера — Mozilla 51.0.1, пробовали версию браузера как 64 разрядную, так и 32, ставили 50 версию, ошибка остается прежней.

3.jpg

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


14 апр 2017 07:17 #5173
от Atlant

аналогичная ошибка, а на WinXP работает. Видимо что то сломалось для работы в win7

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


14 апр 2017 08:02 #5176
от neasea

Здравствуйте! У меня эта проблема решилась, после установки на компе последнего обновления Java.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


17 апр 2017 02:1117 апр 2017 02:12 #5186
от MotoArhangel

Необходимо очистить от временных файлов java и mozilla.
На заметку. Для ЭБ лучше использовать 32 битные версии.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


17 апр 2017 04:50 #5189
от shaburoff

А что Java для работы с электронным бюджетом должна быть установлена? Не видел в требованиях и ранее работало все без неё. Тоже у клиента столкнулся с такой проблемой при подписании отчетов, пока не смог победить. На своем рабочем компе попробовал таже фигня не подписывает. Хотя свои документы в ЭБ подписываю нормально. Это что разные документы в ЭБ по разному подписываются? Пробовал в браузерах Opera 36.0, Firefox 19.0.2, Internet Explorer.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


17 апр 2017 06:38 #5192
от Alex_04

shaburoff пишет: А что Java для работы с электронным бюджетом должна быть установлена? Не видел в требованиях и ранее работало все без неё.

Пишут на форумах про это, и получается, что хоть разрабами и не предусмотрено участие Java в подписании — для этого используется якобы только Jinn — но народный опыт подсказывает, что первая все-же каким-то боком цепляется к этому процессу в ЭБ. Так что лишней не будет, имхо.

Хотя свои документы в ЭБ подписываю нормально… Пробовал в браузерах Opera 36.0, Firefox 19.0.2, Internet Explorer.

Подписывал нормально с компа с установленной Java? Версия Internet Explorer?



«Мы будем жить плохо, но недолго.» (© Черномырдин В.С.)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


17 апр 2017 08:00 #5199
от Alexer81

да, плагин джавы нужен. много раз видел такую картинку у клиентов

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


17 апр 2017 09:2017 апр 2017 09:36 #5202
от shaburoff

Alex_04 пишет: Подписывал нормально с компа с установленной Java? Версия Internet Explorer?

Еще на этапе внедрения на чистой виртуальной машине без крипто-про и Java проверял всё работало и подписывало. Про это я уже писал на внутреннем форуме.
Свои документы в ЭБ решения на изменение СвР я согласовываю/утверждаю в opera 36.0 без проблем, Java 1.7 у меня стоит. А вот та отчетность клиента в ЭБ на моем компе не подписывается и хз почему.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


17 апр 2017 11:3817 апр 2017 11:39 #5203
от Alex_04

shaburoff пишет: Еще на этапе внедрения на чистой виртуальной машине без крипто-про и Java проверял всё работало и подписывало.

Да, помню такое про «чистый эксперимент». :)

А вот та отчетность клиента в ЭБ на моем компе не подписывается и хз почему.

Оказывается иногда небесполезно «тормозить» с обновлением ОС на своем рабочем компе — на XP сижу и не жужжу…
А вот до АРМ «Интернет» как-то надо бы добраться и 7-ку с IE-10 все таки воткнуть (для ЕИС в случае клиентского «прихода»).



«Мы будем жить плохо, но недолго.» (© Черномырдин В.С.)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


18 апр 2017 04:31 #5206
от shaburoff

Alex_04 пишет: А вот до АРМ «Интернет» как-то надо бы добраться и 7-ку с IE-10 все таки воткнуть (для ЕИС в случае клиентского «прихода»).

оффтоп: Не забудь на нем выключить UAC (он же контроль учетных записей), а то мне выделили не давно для инета по новее машину с установленной семеркой и IE11 и я не много попарился почему не могу зайти в ЕИС и ГМУ. Ишака 10-го поставил, плагины, Крипто-Про переустанавливал и не могу зайти и всё, вылетело из головы что наши ИС не любят UAC. :D

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


18 апр 2017 05:53 #5208
от Alex_04

shaburoff пишет: Не забудь на нем выключить UAC … наши ИС не любят UAC. :D

Это да — мелкомягкий софт тоже накладывает санкции на российской ПО, ну а мы, в свою очередь, накладываем на его санкции… :lol:



«Мы будем жить плохо, но недолго.» (© Черномырдин В.С.)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


14 авг 2019 11:39 #13247
от finuprg

У меня та же ошибка и в мазиле и в гугле. Использую сертификаты гост-2012.В IE утром вошли без проблем по адресу lk2012.budget.gov.ru/udu-webcenter, но при обращении к сертификату пользователя обращается к контейнеру и уходит в плавание. Мозила версии 68.0.1

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


14 авг 2019 18:3714 авг 2019 18:45 #13249
от Wmffre

finuprg пишет: У меня та же ошибка и в мазиле и в гугле. Использую сертификаты гост-2012.В IE утром вошли без проблем по адресу lk2012.budget.gov.ru/udu-webcenter, но при обращении к сертификату пользователя обращается к контейнеру и уходит в плавание. Мозила версии 68.0.1

Если Вы имеете в виду, что у Вас такая же ошибка при подписании, как в сообщении пользователя jakewow
выше
, то выполните инструкцию из
этого сообщения
(инструкция для firefox).

Также обратите внимание: для подписания в firefox должны быть установлены:
расширение Jinn sign extension
в firefox, Jinn sign extension provider версии 1.1.0.5 (из
файла внутри
), Jinn-client 1.0.3050.0, XC(eXtended Container).

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


09 сен 2019 08:07 #13422
от masiushakova

Коллеги, добрый день!!!Кто нибудь сталкивался при утвеждении РР в ПУР с ошибкой:»НЕТУ ДОКУМЕНТОВ ДЛЯ ЗАПУСКА ФОНОВОГО ПЕРЕХОДА»Очень прошу совета!  

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Ниже приведены самые распространённые ошибки СУФД и Электронного Бюджета. Мы оказываем помощь в их устранении и восстановлении работоспособности всех систем.

  • Не можем войти в СУФД, вводим логин и пароль, но при нажатии кнопки «Вход» ничего не происходит
  • Нет соединения с порталом, хотя континент работает
  • СУФД не работает, сервер не отвечает
  • Портал просит сменить пароль, что делать
  • Пользователь блокирован
  • Континент не работает
  • Как установить личные сертификаты
  • Не подписывается документ
  • Проблемы c Java
  • Документ не отправляется, пишет «Документ имеет недостаточное количество подписей, в соответствии с настроенными правилами утверждения»
  • Во время подписания документа «вылетает» ошибка «URL is NULL» либо любая другая, некорректно завершающая подписание
  • Во время подписания «вылетает» окно КриптоПро, в котором написано, что указанный набор ключей не существует
  • Не могу подписать вложения
  • Как заполнять документ
  • Не сохраняется документ
  • Не импортируется документ в СУФД
  • Не виден документ в скроллере общего списка, не меняется статус документа после проведения каких-либо операций над ним
  • Не могу найти документ
  • Нет возможности просмотреть вложения в документах или сам документ не открывается
  • Не распечатываются вложения
  • Документ не проходит документарный контроль
  • После проведения документарного контроля кнопка подписи неактивна
  • Как выделить все документы
  • Документ не отправляется, пишет «Документ имеет недостаточное количество подписей, в соответствии с настроенными правилами утверждения»
  • Не меняется статус документа более получаса
  • Нет возможности подготовить документ без связи с УФК
  • Какое ПО нужно использовать для работы в СУФД на ОС Windows 7
  • Если постоянно выбрасывает при вводе логина и пароля на страницу авторизации на ОС Windows 7
  • и прочее

Работая с нами, Вы получаете:

  • Подробную консультацию наших специалистов, которые всегда рады Вам помочь.
  • Помощь в подготовке и оформлении всех необходимых документов.
  • Полное сопровождение на всех этапах работы.

Оставьте заявку

Мы свяжемся с Вами в течение 5 минут!

  1. 14.01.2020, 12:13


    #1

    mcmurphy) вне форума


    Гость форума


    По умолчанию Ошибки после перехода на новую платформу

    Добрый день.
    Имеется: WinServer 2016 Standart + Microsoft SQL Server 2008 R2, Типовые конфигурации БП 3.0 и ЗУП 3.1, платформа 8.3.13.1926.
    Проблема: после установки новой платформы не важно какого релиза 8.3.14…. 8.3.15…. 8.3.16…. появляются ошибки при проведении корректировок реализации, появляются десятки, сотни фоновых заданий и соединений в кластере 1С, которые после удалению плодятся снова и снова. Ошибки такие в БД такие:
    «Невосстановимая ошибка. Ошибка при выполнении запроса POST к ресурсу /e1cib/misc».
    «На сервере 1С: предприятия проишла неисправимая ошибка, приложение будет закрыто»
    «Не удалось заблокировать запись. Ошибка блокировки обьекта, обьект уже заблокирован пользователем Admin», — хотя я и работаю под этим пользователем, но документ не открывал, а ошибка говорит обратное.

    Наверное большинство релизов платформ перепробовали, и всегда глюки такие. Пришлось вернуться на платформу 8.3.13.1926, где проблем не обнаружено.

    Может кто-нибудь сталкивался с подобным или есть идеи?
    Спасибо.


  2. 16.01.2020, 12:44


    #2

    dimbor2 вне форума


    Пришел за помощью


    По умолчанию Re: Ошибки после перехода на новую платформу

    Та же ерунда. Такие же симптомы и ошибки. Только первую не видел, возможно просто не хватило терпения. Сервер линуксовый, постгрес. Прет какой-то сплошной select по всем базам при отсутствии подключений. Непонятная фоновая возня и процы жрутся. Остановился на 8.3.15.1830 — хоть ошибок нет . 1ч пошла вразнос. Тоже замер в недоумении.


  3. 16.01.2020, 16:00


    #3

    mcmurphy) вне форума


    Гость форума


    По умолчанию Re: Ошибки после перехода на новую платформу

    Цитата Сообщение от dimbor2
    Посмотреть сообщение

    Та же ерунда. Такие же симптомы и ошибки. Только первую не видел, возможно просто не хватило терпения. Сервер линуксовый, постгрес. Прет какой-то сплошной select по всем базам при отсутствии подключений. Непонятная фоновая возня и процы жрутся. Остановился на 8.3.15.1830 — хоть ошибок нет . 1ч пошла вразнос. Тоже замер в недоумении.

    А вы серверный кэш 1С не чистили? Сеансовый который, хранится тут: «C:Program Files1cv8srvinforeg_1541snccntx+n» ? На одном ресурсе просто подсказали попробовать.
    Версию 8.3.15.1830 кстати, как раз и не ставили. Надеюсь, что эта версия будет рабочей. Самое главное, чтобы сервер фоновыми соединениями не загружался и документы проводились, а то рабочий процесс из-за этого встает.


  4. 16.01.2020, 19:26


    #4

    dimbor2 вне форума


    Пришел за помощью


    По умолчанию Re: Ошибки после перехода на новую платформу

    Серверный кэш (и все клиентские) при смене платформы полностью чистится в обязаловку. Наступал без этого на отказ стартовать, т.ч.вошло в привычку.
    1830 по совпадению (случайному ли?) указана сейчас как минимально необходимая для БП 3. Если б не эти наглые требования, обновляться бы не полезли. Работает — не трогай. Это очень хороший жизненный закон.


  5. 20.01.2020, 11:34


    #5

    mcmurphy) вне форума


    Гость форума


    По умолчанию Re: Ошибки после перехода на новую платформу

    Доброго дня.
    Удалось поставить новую платформу 8.3.15.1830 только после очистки серверного кэша 1с, в папке: «C:Program Files1cv8srvinforeg_1541snccntx».
    Фоновой фигни и ошибок нет, вроде все отлично.


  6. 20.01.2020, 14:15


    #6

    dimbor2 вне форума


    Пришел за помощью


    По умолчанию Re: Ошибки после перехода на новую платформу

    Ну да. Мои «питомцы» тоже жаловаться перестали. Но на самом деле, говоря цинично: Хорошо ,что она и у вас на виндовсе засбоила. Глядишь, через релиз — другой они там в 1ч одумаются и починят. Чисто линуксовые глюки могут тянуться годами.


  7. 17.02.2020, 09:21


    #7

    _GoPHeR_ вне форума


    Гость форума


    По умолчанию Re: Ошибки после перехода на новую платформу

    Я поменял платформу на сервере и клиенте, вроде перестала такая ошибка лезть.


Запуск фонового задания при записи документа

Я
   ДНН

18.11.20 — 15:39

Какие могут быть проблемы, если запускать фоновое задание при записи документа? При записи документа нужно отправить http запрос, чтобы не выполнять это в транзакции записи вынес в фоновое задание. Есть ли смысл делать через промежуточную запись в регистр сведений, а потом регламентным заданием перебирать регистр? Запрос нужно отправить как можно быстрее.

   zippygrill

1 — 18.11.20 — 15:47

план обмена не предлагать?

   ДНН

2 — 18.11.20 — 15:49

(1) вопрос не выборе регистр сведений или план обмена, а в выборе отправлять http запрос сразу из обработчика ПриЗаписи через ФоновыеЗадания.Выполнить() или через промежуточную запись (хоть в регистр, хоть в план обмена)

   sergey yevsenya

3 — 18.11.20 — 15:51

через запись. хз какая там ошибка произойдет при отправке

   zippygrill

4 — 18.11.20 — 15:51

ну в принципе если это в фоне будет происходить, то мне кажется норм. Пользователь этого не заметит.

   ДНН

5 — 18.11.20 — 15:52

(3) ошибка не должна повлиять на запись, отправка запроса в любом случае в фоновом задании будет

   H A D G E H O G s

6 — 18.11.20 — 15:53

Норм, чебынет.

Вся типовая кишит эти мдацкими фоновыми и норм.

   ДенисЧ

7 — 18.11.20 — 15:53

Отправляй через фоновое.

В приЗаписи вообще что-то, связанное с внешними ресурсами — канделяброопасно

   H A D G E H O G s

8 — 18.11.20 — 15:54

Сделай только

Если ОбщегоНазначенияИлиКактотам.РежимОтладки() Тогда

Выполнитьнефоново()

Иначе

Фоново();

КонецЕсли;

молодая поросль тебе спасибо скажет

   sergey yevsenya

9 — 18.11.20 — 15:54

(5) на запись не повлияет, но в случае ошибки ты не сможешь повторить отправку и вообще отследить, что была ошибка

   ДенисЧ

10 — 18.11.20 — 16:02

(8) Извращенец… ДлительныеОперации.ВыполнитьПроцедуру() и всё.

   mistеr

11 — 18.11.20 — 16:16

(0) Все зависит от конкретного значения «как можно быстрее». Если прям пипец как нужно, и терять эти сообшения нельзя, то поднять рядом прокси с очередью.

   Armando

12 — 19.11.20 — 00:24

http://catalog.mista.ru/1c/articles/1243723/

   Cyberhawk

13 — 19.11.20 — 00:35

«нужно отправить как можно быстрее» // Если гарантия выполнения не нужна, то пожалуйста.

Иначе — через запись в регистр-очередь или регистрацию на узле (внутри транзакции).

  

Cthulhu

14 — 19.11.20 — 00:41

Решал аналогичную задачу для бесшовной интеграции упп с до. при записи документа надо было отправлять в до через евонный веб-сервис (в зависимости от установленных значений спец.реквизитов) либо создание нового внутр.документа, либо поиск бизнес-процесса для уже созданного внутр.документа и выполнение в не каких-то задач. тоже без помещения в транзакцию — т.к. выполняется не так быстро, результат возможен и неудачный — тогда повторить просто, и т.п.

решал через запись очереди в независимый регистр сведений (с документом в измерении). в документе при надобе проверяется наличие задания по этому документу в очереди, его предварительное стирание при надобе, и т.д.

ну и регламентное задание с фоновым процессом который лопатит очередь и загоняет в до через евонный веб-сервис — синхронно, и если успех — то стирает очередную запись из рс, если ошибка — пишет в эту запись рс в реквизит (который можно при надобе диагностировать — в самом документе так и делается)…

взлетело, работает, все довольны.

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

Тема достаточно широко освещена, но мне не попадалась информация о том, как отслеживать выполнение фонового задания собственным прогрессом, расположенным на форме.

Ниже несколько ссылок по фоновому выполнению кода:

  • Фоновое задание – это простопример запуска фонового задания из общего модуля. Самый простой вариант, без отслеживания выполнения задания.
  • Отображение прогресса выполнения длительных операций в БСП и их отладка в текущем сеансе – пример с использованием БСП. Запуск фонового задания, расположенного в общем модуле. Реализация собственной формы для отслеживания его выполнения.
  • Запуск фонового задания из внешней обработкиболее сложный пример с использованием БСП. Запуск фонового задания из внешней обработки и отслеживание выполнения задания средствами БСП.
  • Произвольный код в фоновом режиметакже запуск фонового задания из внешней обработке. Частичное использование БСП. Правда метод «ЗапуститьВыполнениеВФоне» является устаревшим на данный момент.

Первый вариант сразу отпадает, так как не хочется вносить изменения в саму конфигурацию и необходимо отслеживать выполнение задания. 

Второй и третий варианты хорошие, в них используется функционал БСП для отслеживания хода выполнения задания:

НастройкиОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтаФорма);
НастройкиОжидания.ВыводитьПрогрессВыполнения = Истина;
НастройкиОжидания.ВыводитьСообщения = Истина;
НастройкиОжидания.ТекстСообщения = НСтр("ru = 'Выполняется обработка данных.'");
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, Неопределено, НастройкиОжидания);

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

Возьмем понемногу из всех вариантов, описанных выше, и получим следующее решение:

Запуск фонового задания из модуля внешней обработки, подключенной к конфигурации с помощью функционала «Дополнительные отчеты и обработки». Причем обработку можно открывать как внешнюю. При этом код длительной операции будет выполняться из варианта, сохраненного в базе.

Для запуска фонового задания используем метод из БСП ДлительныеОперации.ВыполнитьВФоне.

Для отслеживания хода выполнения создадим на форме обработки два элемента управления: Прогресс и Тестовое поле.

Также будем выводить сообщения пользователю, которые были сформированы в фоновом задании, это очень удобно.

Дальше возникает вопрос, как получать информацию из фонового задания?

Это можно сделать несколькими способами:

  1. Через механизм сообщений – самый простой и распространенный способ, который используют методы из БСП.
  2. Через сервер взаимодействия – вариант не плохой, но сложный. Нужно разворачивать сам сервер взаимодействия. Понятно, что только для получения информации из фоновых заданий, это делать смысла нет.
  3. Через временное хранилище – в некоторых источниках описывается данный вариант взаимодействия, но он работает только для файловых баз. В клиент-серверном режиме работы, получить данные из временного хранилища можно только после завершения фонового задания. Это нам не подходит.   
  4. Через хранилище общих настроек – я не тестировал данный вариант, но в статье про менеджер потоков судя по всему используется именно этот вариант.

Будем пользоваться первым способом используя методы БСП:

  • ДлительныеОперации.СообщитьПрогресс
  • ДлительныеОперации.ПрочитатьПрогресс
  • ДлительныеОперации.СообщенияПользователю

Ниже привожу тексты модуля обработки и модуля формы:

Обработка выполнения в фоне

Тексты процедур модуля обработки

Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = "Форма запуска задания";
НоваяКоманда.Идентификатор = " ФормаЗапускаЗадания";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = "Выполнение в фоне";
НоваяКоманда.Идентификатор = "ВыполнениеВФоне";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
Возврат ПараметрыРегистрации;
КонецФункции

Создаем одну команда для открытия формы, вторую для выполнения в фоне.

Не забудьте указать версию БСП. Если ее не указать, запуск процедуры модуля обработки с указанием структуры параметров работать не будет.

Процедура ЗадержкаПоВремени(Время)

Дата = ТекущаяДата()+Время;
Пока Дата > ТекущаяДата() Цикл
КонецЦикла;

КонецПроцедуры

Процедура ВыполнитьКоманду(Идентификатор, Параметры) Экспорт

Если Идентификатор = "ВыполнениеВФоне" Тогда

ДатаНачала = Параметры.СтруктураДанных.ДатаНачала;
ДатаОкончания = Параметры.СтруктураДанных.ДатаОкончания;

Отказ = ПерепровестиДокументы(ДатаНачала, КоличествоДней);
Если Отказ тогда
ЗадержкаПоВремени (1);
Возврат;
КонецЕсли;

ДлительныеОперации.СообщитьПрогресс(100, "Документы успешно проведены!");
ЗадержкаПоВремени (1);

КонецЕсли;

КонецПроцедуры

Функция ПолучитьСписокДокументовНаСервере(ТекДата)

Запрос = новый Запрос("ВЫБРАТЬ
| ТоварыОрганизаций.Регистратор КАК Документ,
| ТоварыОрганизаций.Период КАК Период
|ИЗ
| РегистрНакопления.ТоварыОрганизаций КАК ТоварыОрганизаций
|ГДЕ
| ТоварыОрганизаций.Период >= &ДатаНачала
| И ТоварыОрганизаций.Период <= &ДатаОкончания
|
|СГРУППИРОВАТЬ ПО
| ТоварыОрганизаций.Регистратор,
| ТоварыОрганизаций.Период
|
|УПОРЯДОЧИТЬ ПО
| Период");

Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ТекДата));
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ТекДата));

Результат = Запрос.Выполнить();
СписокДокументов = Результат.Выгрузить();

Возврат СписокДокументов;

КонецФункции

Функция ПерепровестиДокументы(ТекДата, КоличествоДней)

ДокументыДляПроведения = ПолучитьСписокДокументовНаСервере(ТекДата);

ТекущийДокумент = 0;
ВсегоДокументов = ДокументыДляПроведения.Количество();

Для каждого СтрокаТЗ Из ДокументыДляПроведения Цикл

ДокументОбъект = СтрокаТЗ.Документ.ПолучитьОбъект();

Попытка
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
Исключение
ДлительныеОперации.СообщитьПрогресс(-1, "Ошибка проведения документа: " + ДокументСсылка);
Возврат Истина;
КонецПопытки;

ТекущийДокумент = ТекущийДокумент + 1;
Если НЕ (ТекущийДокумент % 5) Тогда
ДлительныеОперации.СообщитьПрогресс(Формат(ТекущийДокумент/ВсегоДокументов*100, "ЧЦ=3; ЧДЦ="), "Выполняется проведение документа: " + ДокументСсылка);
КонецЕсли;

КонецЦикла;
Возврат Ложь;

КонецФункции

Здесь все просто, выполняется выборка документов по регистру «ТоварыОрганизаций» за переданный в фоновое задание период и документы последовательно перепроводятся. После каждого 5 документа отправляются данные о состоянии выполнения основному сеансу. В случае ошибки отправляется информация о документе, в котором произошла ошибка. Задержка в одну секунду нужна для обработки информации об ошибки в основном сеансе.

Тексты процедур модуля формы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

ВнешняяОбработка = РеквизитФормыВЗначение("Объект");
Параметры.Свойство("ДополнительнаяОбработкаСсылка", ДополнительнаяОбработкаСсылка);

Если ДополнительнаяОбработкаСсылка = Неопределено Тогда
ДополнительнаяОбработкаСсылка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ВнешняяОбработка.Метаданные().Синоним);
КонецЕсли;

КонецПроцедуры

Если обработка открыта из списка внешних отчетов и обработок базы, свойство «ДополнительнаяОбработкаСсылка» будет заполнено. Если открываем обработку как внешнюю, ищем сохраненный вариант в базе.
 

&НаСервере
Функция НачатьВыполнениеСервернойКомандыВФоне(ВыполняемаяКоманда, УникальныйИдентификатор)

ПараметрыПроцедуры = Новый Структура("ДополнительнаяОбработкаСсылка, ИдентификаторКоманды, СтруктураДанных");
ПараметрыПроцедуры.ДополнительнаяОбработкаСсылка = ВыполняемаяКоманда.Ссылка;
ПараметрыПроцедуры.ИдентификаторКоманды          = ВыполняемаяКоманда.Идентификатор;
ПараметрыПроцедуры.СтруктураДанных               = ВыполняемаяКоманда.СтруктураДанных;

НастройкиЗапуска = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
НастройкиЗапуска.НаименованиеФоновогоЗадания = НСтр("ru = 'Выполнение перепроведения документов'");

Возврат ДлительныеОперации.ВыполнитьВФоне("ДополнительныеОтчетыИОбработки.ВыполнитьКоманду", ПараметрыПроцедуры, НастройкиЗапуска);

КонецФункции

&НаКлиенте
Процедура ПерепровестиДокументы(Команда)

СтруктураДанных = новый Структура;
СтруктураДанных.Вставить("ДатаНачала", ДатаНачала);
СтруктураДанных.Вставить("ДатаОкончания", ДатаОкончания);

// выполнить команду в фоновом режиме
ВыполняемаяКоманда = Новый Структура("Ссылка, Идентификатор, СтруктураДанных", ДополнительнаяОбработкаСсылка, "ВыполнениеВФоне", СтруктураДанных);
ДлительнаяОперация = НачатьВыполнениеСервернойКомандыВФоне(ВыполняемаяКоманда, Новый УникальныйИдентификатор);

ИдентификаторЗадания = ДлительнаяОперация.ИдентификаторЗадания;
ПодключитьОбработчикОжидания("ПроверитьПрогрессВыполнения", 0.3, Истина);

КонецПроцедуры

Создаем фоновое задание, передаем в него параметры по периоду. Сохраняем идентификатор задания в реквизите формы и создаем обработчик ожидания.

&НаКлиенте
Процедура ПроверитьПрогрессВыполнения()

СтруктураДанныхВыполнения = ОбновитьПрогрессНаСервере(ИдентификаторЗадания);

Если СтруктураДанныхВыполнения.Свойство("ПроцентВыполнения") Тогда
ПроцентВыполнения = СтруктураДанныхВыполнения.ПроцентВыполнения;
КонецЕсли;

Если СтруктураДанныхВыполнения.Свойство("СостояниеВыполнения") Тогда
СостояниеВыполнения = СтруктураДанныхВыполнения.СостояниеВыполнения;
КонецЕсли;

Если НЕ СтруктураДанныхВыполнения.ЗаданиеВыполнено Тогда
ПодключитьОбработчикОжидания("ПроверитьПрогрессВыполнения", 0.3, Истина);
КонецЕсли;

КонецПроцедуры // ПроверитьПрогрессВыполнения()

&НаСервереБезКонтекста
Функция ОбновитьПрогрессНаСервере(ИдентификаторЗадания)

СтруктураДанныхВыполнения = новый Структура;
ЗавершитьЗадание = Ложь;

МассивСообщений = ДлительныеОперации.СообщенияПользователю(Ложь, ИдентификаторЗадания);
Если ТипЗнч(МассивСообщений) = Тип("ФиксированныйМассив") Тогда

Для Каждого СтрокаСообщения Из МассивСообщений Цикл
Сообщить(СтрокаСообщения.Текст);
КонецЦикла;

КонецЕсли;

РезультатВыгрузки = ДлительныеОперации.ПрочитатьПрогресс(ИдентификаторЗадания);
Если ТипЗнч(РезультатВыгрузки) = Тип("Структура") Тогда

Если РезультатВыгрузки.Свойство("Процент") Тогда

Если РезультатВыгрузки.Процент = -1 Тогда
ЗавершитьЗадание = Истина;
КонецЕсли;
СтруктураДанныхВыполнения.Вставить("ПроцентВыполнения", РезультатВыгрузки.Процент);

КонецЕсли;

Если РезультатВыгрузки.Свойство("Текст") Тогда
СтруктураДанныхВыполнения.Вставить("СостояниеВыполнения", РезультатВыгрузки.Текст);
КонецЕсли;

КонецЕсли;

Если ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторЗадания) Тогда
СтруктураДанныхВыполнения.Вставить("ЗаданиеВыполнено", Истина);
Иначе
СтруктураДанныхВыполнения.Вставить("ЗаданиеВыполнено", Ложь);
КонецЕсли;

Если ЗавершитьЗадание Тогда
ДлительныеОперации.ОтменитьВыполнениеЗадания(ИдентификаторЗадания);
СтруктураДанныхВыполнения.Вставить("ЗаданиеВыполнено", Истина);
КонецЕсли;

Возврат СтруктураДанныхВыполнения;

КонецФункции

Проверяем состояние выполнения задания. Информацию о стадии выполнения задания отображаем виде прогресса, расположенного на форме и текстового поля. Также выводим сообщения, сформированные в фоновом задании. Например, если будет ошибка проведения документа, информация будет выведена в текстовом поле и в окне сообщений формы.

Если задание не выполнено, подключаем опять обработчик ожидания. Если в задании была ошибка при проведении документа «РезультатВыгрузки.Процент = -1», закрываем его принудительно. На всякий случай, так как оно и так должно закрыться через секунду.

&НаКлиенте
Процедура ПериодПриИзменении(Элемент)

ДатаНачала = Период.ДатаНачала;
ДатаОкончания = Период.ДатаОкончания;

КонецПроцедуры

&НаКлиенте
Процедура ДатаНачаллаПриИзменении(Элемент)

Период.ДатаНачала = ДатаНачала;

КонецПроцедуры

&НаКлиенте
Процедура ДатаОкончанияПриИзменении(Элемент)

Период.ДатаОкончания = ДатаОкончания;

КонецПроцедуры

&НаСервереБезКонтекста
Процедура ЗавершитьВыполнениеНаСервере(ИдентификаторЗадания)

ДлительныеОперации.ОтменитьВыполнениеЗадания(ИдентификаторЗадания);

КонецПроцедуры

&НаКлиенте
Процедура ЗавершитьВыполнение(Команда)

ЗавершитьВыполнениеНаСервере(ИдентификаторЗадания);
ПроцентВыполнения = 0;
СостояниеВыполнения = "Выполнение прервано пользователем!"

КонецПроцедуры

Тут особо комментировать нечего. Настройка периода и принудительное завершение фонового задания.

Вот и все, получаем отслеживание работы фонового задания непосредственно в форме обработки.

Можно продолжить развивать данную тему, и реализовать многопоточность. Например перепроведение документов в потоках. Это может ускорить процесс в пять или более раз! Если эта тема интересна, напишите пожалуйста в комментариях.

До новых встреч!

1

2

Показывать по
10
20
40
сообщений

Новая тема

Ответить

Юрий Яковлев

Дата регистрации: 13.02.2015
Сообщений: 19

При обновлении версии программы ошибка: Аварийно завершился процесс фонового задания
кто сталкивался с этим подскажите как исправить?

Геннадий С

Дата регистрации: 26.03.2017
Сообщений: 637

Юрий, а обновление-то прошло? Фоновые задания, запущенные перед обновлением, и должны завершаться принудительно.

Сергей Козырь

Дата регистрации: 03.10.2017
Сообщений: 1

У меня при обновлении конфигурация баз данных не обновилась. При попытке переобновить через конфигуратор выдает критическая ошибка, поврежден файл инфобазы. В режиме предприятия предупреждает о несоответствии конфигураций, но запускается и работает, только не обновляется. Никто не сталкивался. Заранее благодарен.

Геннадий С

Дата регистрации: 26.03.2017
Сообщений: 637

Сергей,перед каждым обновлением необходимо делать архивную копию информационной базы, чтобы при сбое можно было бы откатиться к предыдущей версии. В Вашем случае для начала сделайте резервную копию и проверьте информационную базу с помощью средства chdbfl.exe.и проведите тестирование и исправление в конфигураторе.

Жертва 1С

Дата регистрации: 08.10.2016
Сообщений: 468

Цитата
Юрий пишет:

              При обновлении версии программы ошибка: Аварийно завершился процесс фонового задания
кто сталкивался с этим подскажите как исправить?

Не обновляться автоматически
Обновляйтесь из конфигуратора

Цитата
Геннадий пишет:

                                                                   Сергей ,перед каждым обновлением необходимо делать архивную копию информационной базы, чтобы при сбое можно было бы откатиться к предыдущей версии. В Вашем случае для начала сделайте резервную копию и проверьте информационную базу с помощью средства chdbfl.exe.и проведите тестирование и исправление в конфигураторе.
                                                            ­      

При автоматическом обновлении (ихз пользовательского режима) резервная копия делается автоматически

Janika

Дата регистрации: 20.11.2009
Сообщений: 7

Добрый день. Помогите пожалуйста. Не нашла как вопрос задать, решила в похожей теме задать. Выключилось электричество во время работы. Файл базы данных поврежден. Проделала все инструкции (восстановление утилитой и конфигуратором). Выдает, что ошибок нет. Загрузила последнюю сохраненную выгрузку. Так теперь даже войти не получается, сразу всплывает окно-Файл базы данных поврежден. Что делать? (1С Предприятие 8.3 Управление торговлей базовая, редакция 11.3)

Юрий Яковлев

Дата регистрации: 13.02.2015
Сообщений: 19

Юрий Яковлев

Дата регистрации: 13.02.2015
Сообщений: 19

Еще можно: если база файловая, то скопируй файл базы 1Сv8.1CD в новую папку и попробуй открыть базу поэтому пути, если получиться то значит дело в о временных файлах или кэше

Janika

Дата регистрации: 20.11.2009
Сообщений: 7

Юрий, пробовала-не выходит. Попробую кэш очистить.

Janika

Дата регистрации: 20.11.2009
Сообщений: 7

Добрый вечер. Теперь кэш не могу найти(( Открываю окно запуска 1С, выбираю настройки. Там адрес (в инете пишут что это и есть адрес кэша): СUsersAdminAppDateRoaming1C1cv8tmplts. Нашла я вот СUsersAdminAppDateRoaming но там одна папка uTorrent и в ней ничего похожего на 1С нет(((
Когда ошибка вылазит :файл поврежден, то, если нажать на Информацию для техподдержки, то поврежденный файл указывают СUsersAdminAppDateLocal1C1cv87a60182b-39cc-4aca-88e2-0ff20c4f8b075a0a991a-1fea-4e4b-a1c2-13d6326e0ae8vrs-cachecache/1CD
В uTorrent есть папка dlimagecache. В ней три файла с длинными названиями. Может это и есть кэш?

Понравилась статья? Поделить с друзьями:
  • Ошибка нет доверия сертификату для dl astralinux ru
  • Ошибка нет данных для счета фактуры на аванс 1с
  • Ошибка нет данных для импорта import xml
  • Ошибка нет видеосигнала
  • Ошибка нет бумаги tsc te200