Ошибка при подписании
14 апр 2017 06:54 #5172
от jakewow
Добрый день. При подписании форм, поле выбора сертификатов остается пустым (нельзя выбрать, нет ни 1 сертификата), а потом вылазит следующая ошибка (скриншот).
Версия браузера — Mozilla 51.0.1, пробовали версию браузера как 64 разрядную, так и 32, ставили 50 версию, ошибка остается прежней.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
14 апр 2017 07:17 #5173
от Atlant
аналогичная ошибка, а на WinXP работает. Видимо что то сломалось для работы в win7
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
14 апр 2017 08:02 #5176
от neasea
Здравствуйте! У меня эта проблема решилась, после установки на компе последнего обновления Java.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
17 апр 2017 02:11 — 17 апр 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:20 — 17 апр 2017 09:36 #5202
от shaburoff
Alex_04 пишет: Подписывал нормально с компа с установленной Java? Версия Internet Explorer?
Еще на этапе внедрения на чистой виртуальной машине без крипто-про и Java проверял всё работало и подписывало. Про это я уже писал на внутреннем форуме.
Свои документы в ЭБ решения на изменение СвР я согласовываю/утверждаю в opera 36.0 без проблем, Java 1.7 у меня стоит. А вот та отчетность клиента в ЭБ на моем компе не подписывается и хз почему.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
17 апр 2017 11:38 — 17 апр 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.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
18 апр 2017 05:53 #5208
от Alex_04
shaburoff пишет: Не забудь на нем выключить UAC … наши ИС не любят UAC.
Это да — мелкомягкий софт тоже накладывает санкции на российской ПО, ну а мы, в свою очередь, накладываем на его санкции…
«Мы будем жить плохо, но недолго.» (© Черномырдин В.С.)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
14 авг 2019 11:39 #13247
от finuprg
У меня та же ошибка и в мазиле и в гугле. Использую сертификаты гост-2012.В IE утром вошли без проблем по адресу lk2012.budget.gov.ru/udu-webcenter, но при обращении к сертификату пользователя обращается к контейнеру и уходит в плавание. Мозила версии 68.0.1
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
14 авг 2019 18:37 — 14 авг 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 минут!
-
14.01.2020, 12:13
#1
Гость форума
Ошибки после перехода на новую платформу
Добрый день.
Имеется: 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, где проблем не обнаружено.
Может кто-нибудь сталкивался с подобным или есть идеи?
Спасибо.
-
16.01.2020, 12:44
#2
Пришел за помощью
Re: Ошибки после перехода на новую платформу
Та же ерунда. Такие же симптомы и ошибки. Только первую не видел, возможно просто не хватило терпения. Сервер линуксовый, постгрес. Прет какой-то сплошной select по всем базам при отсутствии подключений. Непонятная фоновая возня и процы жрутся. Остановился на 8.3.15.1830 — хоть ошибок нет . 1ч пошла вразнос. Тоже замер в недоумении.
-
16.01.2020, 16:00
#3
Гость форума
Re: Ошибки после перехода на новую платформу
Сообщение от dimbor2
Та же ерунда. Такие же симптомы и ошибки. Только первую не видел, возможно просто не хватило терпения. Сервер линуксовый, постгрес. Прет какой-то сплошной select по всем базам при отсутствии подключений. Непонятная фоновая возня и процы жрутся. Остановился на 8.3.15.1830 — хоть ошибок нет . 1ч пошла вразнос. Тоже замер в недоумении.
А вы серверный кэш 1С не чистили? Сеансовый который, хранится тут: «C:Program Files1cv8srvinforeg_1541snccntx+n» ? На одном ресурсе просто подсказали попробовать.
Версию 8.3.15.1830 кстати, как раз и не ставили. Надеюсь, что эта версия будет рабочей. Самое главное, чтобы сервер фоновыми соединениями не загружался и документы проводились, а то рабочий процесс из-за этого встает.
-
16.01.2020, 19:26
#4
Пришел за помощью
Re: Ошибки после перехода на новую платформу
Серверный кэш (и все клиентские) при смене платформы полностью чистится в обязаловку. Наступал без этого на отказ стартовать, т.ч.вошло в привычку.
1830 по совпадению (случайному ли?) указана сейчас как минимально необходимая для БП 3. Если б не эти наглые требования, обновляться бы не полезли. Работает — не трогай. Это очень хороший жизненный закон.
-
20.01.2020, 11:34
#5
Гость форума
Re: Ошибки после перехода на новую платформу
Доброго дня.
Удалось поставить новую платформу 8.3.15.1830 только после очистки серверного кэша 1с, в папке: «C:Program Files1cv8srvinforeg_1541snccntx».
Фоновой фигни и ошибок нет, вроде все отлично.
-
20.01.2020, 14:15
#6
Пришел за помощью
Re: Ошибки после перехода на новую платформу
Ну да. Мои «питомцы» тоже жаловаться перестали. Но на самом деле, говоря цинично: Хорошо ,что она и у вас на виндовсе засбоила. Глядишь, через релиз — другой они там в 1ч одумаются и починят. Чисто линуксовые глюки могут тянуться годами.
-
17.02.2020, 09:21
#7
Гость форума
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 = 'Выполняется обработка данных.'");
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, Неопределено, НастройкиОжидания);
Этот функционал предоставляет широкие возможности для отслеживания хода выполнения в фоне. Но хочется создать в форме обработки свой собственный прогресс выполнения и управлять им. Ничего здесь сложного нет, но примеров такой реализации я не нашел. Может быть конечно плохо искал. По сему, выкладываю свой.
Возьмем понемногу из всех вариантов, описанных выше, и получим следующее решение:
Запуск фонового задания из модуля внешней обработки, подключенной к конфигурации с помощью функционала «Дополнительные отчеты и обработки». Причем обработку можно открывать как внешнюю. При этом код длительной операции будет выполняться из варианта, сохраненного в базе.
Для запуска фонового задания используем метод из БСП ДлительныеОперации.ВыполнитьВФоне.
Для отслеживания хода выполнения создадим на форме обработки два элемента управления: Прогресс и Тестовое поле.
Также будем выводить сообщения пользователю, которые были сформированы в фоновом задании, это очень удобно.
Дальше возникает вопрос, как получать информацию из фонового задания?
Это можно сделать несколькими способами:
- Через механизм сообщений – самый простой и распространенный способ, который используют методы из БСП.
- Через сервер взаимодействия – вариант не плохой, но сложный. Нужно разворачивать сам сервер взаимодействия. Понятно, что только для получения информации из фоновых заданий, это делать смысла нет.
- Через временное хранилище – в некоторых источниках описывается данный вариант взаимодействия, но он работает только для файловых баз. В клиент-серверном режиме работы, получить данные из временного хранилища можно только после завершения фонового задания. Это нам не подходит.
- Через хранилище общих настроек – я не тестировал данный вариант, но в статье про менеджер потоков судя по всему используется именно этот вариант.
Будем пользоваться первым способом используя методы БСП:
- ДлительныеОперации.СообщитьПрогресс
- ДлительныеОперации.ПрочитатьПрогресс
- ДлительныеОперации.СообщенияПользователю
Ниже привожу тексты модуля обработки и модуля формы:
Тексты процедур модуля обработки
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("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. В ней три файла с длинными названиями. Может это и есть кэш?