Вопросы по 1С

Взаимодействие при редактировании одних и тех же данных

Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.

Реализовано в версии 8.3.15.1489.

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

Пессимистическая блокировка

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

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

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

Неудобства пессимистической блокировки

Само название этой блокировки говорит о её неудобстве. Когда пользователь начинает редактировать данные в форме, неизвестно, чем это закончится. Может быть, он откажется от своих изменений, и не станет сохранять изменения в базе данных. Но платформа предполагает самый плохой вариант, пессимистический, что данные обязательно будут изменены. И до тех пор, пока форма не закрыта, платформа будет блокировать эти данные для других пользователей.

В результате могут возникать следующие неудобные ситуации:

  • Пользователь начал редактировать документ, но решил не сохранять свои изменения. Отвлёкся, и забыл закрыть форму. Другие пользователи не смогут изменить этот документ до тех пор, пока пользователь не вспомнит, и не закроет форму;
  • Пользователь начал редактировать документ, но решил закончить завтра. Придя домой, он решил не откладывать на завтра, подключился к базе данных, но не смог изменить этот документ, потому что документ остался открытым у него на рабочем компьютере;
  • Сообщение, которое информирует о том, что объект заблокирован, не позволяет снять блокировку. Даже в том случае, когда её установили вы сами, но в другом сеансе на другом компьютере, и вы точно знаете, что она вам не нужна.

Взаимодействие при пессимистической блокировке

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

Во-первых, в версии 8.3.14 мы изменили логику, по которой снимается пессимистическая блокировка. Раньше она снималась после того, как пользователь закрывает форму. Теперь она снимается раньше, после того, как данные, которые изменялись в форме, записаны. О том, что данные записаны, сигнализирует признак модифицированности формы. Через минуту после того, как у формы снимается признак модифицированности, платформа автоматически снимает и пессимистическую блокировку.

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

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

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

Пример 1. Менеджер по продажам решил добавить в заказ №17 ещё несколько товаров. Он открыл документ и начал подбирать товары. В этот момент администратор захотел изменить статус у этого же заказа.

Как только администратор нажмёт в форме кнопку Выполнен, он увидит такой диалог:

На всякий случай, чтобы ничего не испортить, администратор нажимает Написать сообщение пользователю? После этого у администратора появляется следующий диалог:

Допустим, администратор решает ничего не менять в сообщении и нажимает Отправить сообщение. Тогда у менеджера по продажам появляется такое оповещение:

Поскольку менеджер по продажам всё ещё редактирует заказ, он нажимает на это оповещение и через систему взаимодействия отвечает администратору:

Администратор решает подождать, и заняться пока другими делами. В клиентском приложении у администратора по-прежнему отображается самый первый диалог. Этот диалог отсчитывает время и ожидает возможности начать редактирование.

Как только менеджер по продажам закроет форму заказа (или через минуту после того, как он сохранит данные), администратор узнает об этом. Форма (у менеджера) автоматически снимет пессимистическую блокировку, а администратор увидит у себя следующее сообщение:

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

Пример 2. Администратор начал вносить изменения в заказ, но не закончил, и ушёл домой. Документ так и остался открытым и несохранённым. Придя домой, администратор решил всё же закончить изменения сегодня, не оставлять на завтра. Он подключился к базе, открыл этот заказ и попытался изменить его. В результате он увидел следующее:

Поскольку он прекрасно помнит, что он хотел изменить в этом заказе, он решил не сохранять изменения, выполненные на работе, а сделать сейчас всё то же самое ещё раз. Он нажимает Начать редактировать и получает такое оповещение:

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

Администратор вносит изменения и сохраняет их.

Придя на работу завтра, он увидит на своём компьютере этот же открытый документ, который он оставил вчера, и следующее сообщение в центре оповещений:

Что будет, если нет системы взаимодействия?

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

Когда вы работаете в клиент-серверном варианте, и система взаимодействия недоступна, отличие будет заключаться только в том, что в диалоге не будет предложения Написать сообщение пользователю?

А вот в том случае, когда используется файловый вариант работы и система взаимодействия недоступна, сообщение будет выглядеть, по сути, как и раньше:

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

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

Теги: Система взаимодействия

Рассказать друзьям:

Любая программа, установленная на компьютер, может время от времени работать неправильно. Периодические сбои, которые приводят к невозможности использования ПО, называются ошибки. Чтобы суметь диагностировать и устранять ошибки в 1С, пользователь должен хотя бы немного разбираться в особенностях работы программ. Наличие минимальных знаний позволяет решать проблемы самостоятельно.

Прежде чем рассматривать основные разновидности ошибок, стоит заметить, что они отличаются между собой по происхождению. Приложение может привести к физическому или логическому сбою. В результате 1С просто не запускается или начинает работать в режиме «Конфигуратор». Пользовательский режим бывает недоступен или, при использовании определенных команд, будет появляться сбой.

Чтобы научиться быстро исправлять ошибки в 1С необходимо изначально их проанализировать. Часто во всплывающем окне написана суть некорректного поведения, что помогает решить проблему.

Причины появления ошибки в 1С

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

Одна из самых частых причин нарушение работы связанна с компьютером, на который установлена база данных 1С. Рабочая область может автоматически закрываться из-за нехватки оперативной памяти на сервере. Все возникающие неисправности должны быстро устраняться. В противном случае есть вероятность потери данных.

Часто возникающие ошибки 1С

Все имеющиеся сбои выводят на экран разные уведомления. Одинакового текста не бывает. Чтобы проще ориентироваться, разделим существующие ошибки 1С на следующие пункты:

  1. Недостаточно памяти.
  2. Ошибка доступа.
  3. Ошибка формата потока.
  4. Ошибка СУБД: Файл базы данных поврежден.
  5. Неправильное отображение блоков формы.
  6. Внутренняя ошибка компоненты dbeng.
  7. Dump при запуске.
  8. Неверный формат хранилища.
  9. Ничего не работает.

Для того, чтобы научиться исправлять возникающие ошибки, рассмотрим каждый пункт по отдельности.

Недостаточно памяти

Подобный сбой проявляется только в том случае, если на выполнение операций с программой выделено мало оперативной памяти. Приложение не может обрабатывать большие объемы информации, поэтому выдает «Недостаточно памяти 1С». Это случается при формировании отчета, обработки «тяжелого» файла, обновлении конфигурации и т.д. Причина – мощности компьютера недостаточно.

Пользователь может самостоятельно решить проблему с памятью. По умолчанию операционная система выделят фиксированное значение гигабайт на обслуживание приложения: 32 bit ОС – 2 Гб, 64 bit – 4 Гб.

Увеличить размер выделенной памяти можно вручную. Для этого запускается адресная строка (Пуск – Выполнить, вводиться фраза cmd). После нажатия «Ентер» достаточно ввести фразу bcdedit /set increaseuserva 4096 и подтвердить действие (клавиша «Enter»). Цифра 4096 – новый выделяемый объем «оперативки». Выполняется перезагрузка системы. Проблема должна быть устранена.

Ошибка доступа

Она возникает, если учетная запись не имеет достаточно прав. Проявляется при выполнении определенного действия, которое доступно только ограниченному кругу пользователей. Для исправления ситуации достаточно изменить роль выбранного профиля в конфигураторе (вкладка «Администрирование – Пользователи»). В некоторых случаях это увеличивает безопасность базы данных, если необходимо защитить файлы от изменения сторонними людьми.

Ошибка формата потока

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

Устранение подобной ошибки 1С выполняется простой чисткой кэша. Для этого необходимо перейти в папку, где хранятся временные файлы. В Windows 7 и выше она находится по адресу C:\Users\Username\AppData\Local\1C или C:\Users\Username\AppData\Roaming\1C. Для Windows ХР другой путь – Local Settings\Application Data\1C\. Все файлы, начинающиеся на 1cv8, кроме «1Cv8.1CD» полностью удаляются.

Если «Ошибка формата потока» возникает в процессе работы, то нужно провести тестирование (Администрирование – Тестирование и исправление), выбрать первые 2 галочки и запустить процесс.

Ошибка СУБД: Файл базы данных поврежден

Если всплывает информационное окно с подобной надписью, неисправность базы данных решается тестированием файла и всей информационной базы. Такое мероприятие может проводиться 2 способами:

  • Запуск утилиты chdbfl.exe. Эта программа предназначена для того, чтобы проверять целостность базы данных при совместном ее использовании с информационной базой. Данный метод хорош тем, что дает возможность решать сбои даже в тех ситуациях, когда конфигуратор запустить невозможно. Сначала выполняется резервное копирование информации. В папке, где установлен 1С (директория bin) находится файл chdbfl.exe. Он запускается, в окне прописывает путь к файлу базы данных и ставится галочка, чтобы провести исправление ошибок. Нажимается кнопка «Выполнить». После завершения процесса все должно заработать. Если нет – используется конфигуратор.
  • Через конфигуратор. Нужное окно вызывается после нажатия «Администрирование – Тестирование и исправление». На экране появляется форма, где выставляются галочки на следующе строчки: «Реиндексация таблиц…», «Проверка логической целостности…», «Проверка ссылочной…», «Реструктуризация таблиц…», «Тестирование и исправление» и 2 раза «Создать объекты». Нажимается кнопка «Выполнить». После завершения процедуры сбой устраняется.

Неправильное отображение блоков формы

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

  • Очистка кэш файлов. Они хранятся в той же папке, путь к которой расписан выше «Ошибка формата потока». Зачастую такая процедура помогает вернуть нормальную работоспособность 1С.
  • Вход с другой учетной записи. Можно использовать любой доступный профиль (лучше всего администратора).
  • Вход в базу данных с другого компьютера. Это позволяет исключить ошибку, возникающую на определенном оборудовании.

Если приведенные методы не помогают, рационально будет провести обновление платформы.

Внутренняя ошибка компоненты dbeng

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

Dump при запуске

Возвращение 1С в рабочее состояние проводится простым обновлением MS Visual Studio (Visual C++) и дополнительными манипуляциями. Чтобы отследить конкретный файл, в котором возникает ошибка, открывается «Просмотр событий». Для этого пользователь переходит в «Панель управления – Система и безопасность – Администрирование». С левой стороны раскрывается «Журнал Windows – Приложение».

На экране появляется список ошибок и точное расположение поврежденного файла. После установки новой версии MS Visual Studio (Visual C++) с папки System32 копируется одноименный файл dll и вставляется в папку платформы 1С. Проблема решилась.

Неверный формат хранилища

В появившемся окне обязательно будет надпись, содержащая «AppData/Local/». Она указывает на точное расположение проблемного файла. В этом сообщении уже написан правильный путь решения. Пользователю достаточно перейти по указанному адресу и удалить временные файлы. Очистка кэша помогает решить множество проблем.

Ничего не работает

Если программа перестала нормально работать без видимых причин, значит пользователю придется самостоятельно искать неисправность. Для восстановления работоспособности базы данных проводятся следующие мероприятия:

  • чистится кэш;
  • открывается файл chdbfl.exe из папки установки приложения и выполняется исправление;
  • выполняется запуск «Конфигуратора» для тестирования и исправления сбоев;
  • обновление «1С».

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

Остались вопросы? Закажите бесплатную консультацию наших специалистов!

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

  • Первая – это то, что удаленный пользователь системы обладает недостаточными правами.
  • Вторая – 1С может блокироваться антивирусной программой или брандмауэром.

Необходима помощь специалистов? Оставьте заявку. Мы с Вами свяжемся. Права доступа
Ошибка, связанная с недостаточными правами пользователя, может возникнуть после того, как в системе заведен новый пользователь. У каждого пользователя 1С на программном уровне есть определенные права доступа. Такой набор прав называется ролью, а определяется он в конфигураторе. Если используется клиент-серверная версия программы, установка прав осуществляется на уровне сервера SQL.
При использовании варианта «файл-сервер» права доступа сотрудников настраиваются непосредственно в базе данных. Однако в данном случае сервер базы данных отсутствует в принципе, поэтому ответственность за соблюдение прав доступа лежит на самой программе.
Но стабильная работа 1С не обеспечивается только настройкой прав на уровне программы. Связано это с тем, что доступ к базе данных, как и к любому другому типу файлов, регламентируется путем настройки прав на уровне операционной системы. Ошибка открытия файла блокировок может возникать, если таких прав недостаточно. В данном случае речь идет о файле 1Cv8.1CL, находящемся внутри базы 1Cv8.1CD.
Соответственно, для того, чтобы пользователь смог полноценно работать с файлом, он должен получить ряд разрешений. Для этого необходимо открыть окно свойств папки или файла и перейти на вкладку «Безопасность». Чтобы сделать этот процесс проще и не тратить время на изменение свойств файлов и папок для каждого сотрудника отдельно, администратор может создать новую группу пользователей, которой будут предоставлены соответствующие права, а также открыт доступ к системным папкам AppData и Temp (которые тоже зачастую вызывают определенные проблемы). В дальнейшем достаточно просто добавлять в эту группу необходимые рабочие места.
Антивирусное ПО
Пользователи некоторых редакций операционных систем семейства Windows заметили, что их брандмауэры могут блокировать удаленный доступ к базе данных 1С. Аналогичная ситуация возникает с антивирусом «Kaspersky». Во избежание подобных проблем файл 1Cv8.1CD необходимо внести в список исключений брандмауэра Windows и антивирусной программы.
Остались вопросы? Мы с радостью поможем Вам в их решении. ТЕХПОДДЕРЖКА: +8 (495) 663 73 51 info@1service.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *