Ошибка при вызове метода контекста установитьмонопольныйрежим

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

Я
   Koliaff

02.04.15 — 07:34

ОбщийМодуль.ОбновлениеИнформационнойБазы.Модуль(1278)}: Ошибка при вызове метода контекста (УстановитьМонопольныйРежим)

        УстановитьМонопольныйРежим(Ложь);

по причине:

Ошибка разделенного доступа к базе данных

Транзакция активна ‘C:1СХХХ/1Cv8.1CD’

=========================================================

Вот такая ошибка возникает при обновлении в момент запуска 1С после очередного релиза. Ошибка возникает при переходе на релиз Бухгалтерии 2.0.54.7. Версия платформы 8.2.19.83. База файловая. В мониторе пользователей работающих пользователей с базой — нет ! База, которая обновляется под замочками. Подскажите как это побороть ?!

   smitru

1 — 02.04.15 — 07:53

(0) «Версия платформы 8.2.19.83. База файловая»

1. поставь актуальный релиз платформы (бага не в этом, но обновиться нужно обязательно.

2. судя по всему база лежит на файл-сервере и файл залочен на шаре. Если не умеешь работать с «открытыми файлами» — перезагрузи ком, все лишнее «само отвалится» :-)

   Koliaff

2 — 02.04.15 — 08:01

Сервер перезагрузил только-что. Проблема осталась !

   smitru

3 — 02.04.15 — 08:20

(2) Меня настораживает «C:1СХХХ/1Cv8.1CD»

почему так, а не «по нормальному» — «C:1СХХХ1Cv8.1CD»?

Удали «все лишнее» в каталоге C:1СХХХ

Что (какие файлы и папки) у тебя там остались?

Почему у тебя версия 2.0.54.7? Если апаться, то на актуальную, а в 2.0.57 самый старший релиз 2.0.57.10 — какой смысл был обновляться на «семёрку»?

   Koliaff

4 — 02.04.15 — 08:30

Сейчас качаю базу себе на компьютер, чтобы исключить некоторые причины. Как закачаю, попробую обновить. Если не получится, апну тему.

   Koliaff

5 — 02.04.15 — 08:32

(smitru) из каталога с базой данных все удалил, кроме cd файла, не помогло. Но это ещё на сервере делал, а не на своем компьютере.

   smitru

6 — 02.04.15 — 08:34

(5) скопируй (именно copy, а не move) файл базы в другой каталог на сервере и попробуй там открыть базу

   smitru

7 — 02.04.15 — 08:35

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

   Koliaff

8 — 02.04.15 — 09:45

Попробовал уже у себя на компьютере, проблема осталась !

   Koliaff

9 — 02.04.15 — 10:00

На моем компьютере установлена версия платформы 8.3.4.437

   EugeniaK

10 — 02.04.15 — 10:12

(0) Тоже проявляется такая ошибка, только на УТ.

Не смогла пока разобраться.

Смена платформы вплоть до 8.3.6 не помагает.

Проявляется только на файловой, на серверной все в порядке.

Как вариант, обновитесь на серверной.

   Koliaff

11 — 02.04.15 — 10:12

Люди — человеки, SОS ! Уже второй день мучаюсь с переходом ! Что делать ? )

   Zombi

12 — 02.04.15 — 10:15

(11) счкдбф + ТИИ

   smitru

13 — 02.04.15 — 10:18

(11) Тестирование и исправление (с установкой всех галок) — прогонял?

Загрузка/выгрузка через dt — делал?

   Koliaff

14 — 02.04.15 — 11:48

(Zombi) + (smitru) Все вышеперечисленное сделал, не помогает

!

   Koliaff

15 — 02.04.15 — 12:44

Загрузил базу в серверном варианте, проблема не пропала !!! Если смотреть соединения в сервере 1С Предприятия, то при начале обновления кроме толстого клиента появляется

«Консоль кластера». Если я её удаляю, то она через пару секунд опять становится активной.

   smitru

16 — 02.04.15 — 14:27

(15) «Консоль кластера» — это твои «наблюдения» через консоль, это нормально и это никогда не лочит

  

smitru

17 — 02.04.15 — 14:29

(15) Зачем ты обновляешь на 2.0.57.? Обновляй сразу на 2.0.57.10

ПыСы а ты с какой версии обновляешь?

ПыСыСы… А у тебя регламенты на период обновления запрещены? Посмотри наличие «галочки» в свойствах базы в консоли

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

Исправляем ситуацию

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

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


	 Запрос = Новый Запрос;
	 Запрос.Текст =
	         "ВЫБРАТЬ
	          |        Номенклатура.Ссылка КАК Ссылка,
	          |        Номенклатура.ВерсияДанных КАК ВерсияДанных,
	          |        Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
	          |        Номенклатура.Родитель КАК Родитель,
	          |        Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
	          |        Номенклатура.Код КАК Код,
	          |        Номенклатура.Наименование КАК Наименование,
	          |        Номенклатура.Артикул КАК Артикул,
	          |        Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	          |        Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
	          |        Номенклатура.Предопределенный КАК Предопределенный,
	          |        Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
	          |ИЗ
	          |        Справочник.Номенклатура КАК Номенклатура
	          |ГДЕ
	          |         ";
	 РезультатЗапроса = Запрос.Выполнить();
	 ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	 КонецЦикла;

Рис.1 Запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора

Рис.1 Запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора

Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.

Увидев вышеприведенный кусок кода, разработчик заметит, что в запросе есть служебное слово «ГДЕ», дающее сигнал 1С, что дальше будет условие. Но мы забыли дописать его и, естественно, система с помощью сообщения об ошибке спрашивает нас – «а где условие?». Чтобы исправить эту ситуацию необходимо либо убрать оператор «ГДЕ» из запроса, либо добавить условие.

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


	 Запрос = Новый Запрос;
	            Запрос.Текст =
	                       "ВЫБРАТЬ
	                        |          Номенклатура.Ссылка КАК Ссылка,
	                        |          Номенклатура.ВерсияДанных КАК ВерсияДанных,
	                        |          Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
	                        |          Номенклатура.Родитель КАК Родитель,
	                        |          Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
	                        |          Номенклатура.Код КАК Код,
	                        |          Номенклатура.Наименование КАК Наименование,
	                        |          Номенклатура.Артикул КАК Артикул,
	                        |          Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	                        |          Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
	                        |          Номенклатура.Предопределенный КАК Предопределенный,
	                        |          Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
	                        |ИЗ
	                        |          Справочник.Номенклатура КАК Номенклатура
	                        |ГДЕ
	                        |          НЕ Номенклатура.ЭтоГруппа ";
	 НужнаяГруппаЭлементов = Справочники.Номенклатура.НайтиПоНаименованию("Мебель");
	 РезультатЗапроса = Запрос.Выполнить();
	 ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	 Сообщить(ВыборкаДетальныеЗаписи.Ссылка.ПринадлежитЭлементу("НужнаяГруппаЭлементов"));
	 КонецЦикла;

Рис.2 Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной

Рис.2 Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной

1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 1С.

Рис.3 Синтакс-помощник

Рис.3 Синтакс-помощник

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

Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает

Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает

Чаще всего причиной подобных ошибок выступают следующие факторы:

  1. Невнимательность;
  2. Отсутствие опыта или знаний;
  3. Несогласованность действий разработчиков друг с другом;
  4. Изменения в методах контекста в новых версиях платформы.

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

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

Содержание

Поле объекта не обнаружено

1С ошибка Поле объекта не обнаружено

Существует множество статей, которые описывают возможные причины возникновения в 1С ошибки “Поле объекта не обнаружено”. Порой это связывают с обновлением платформы, обновлением типового релиза, или с какими-то другими причинами.

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

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

  • Удалили табличную часть, к которой обращаемся в коде?
  • Переименовали реквизит, а в коде не исправили?
  • Заменили значение со ссылки на неопределено?

Вуаля – платформа выдаст ошибку “Поле объекта не обнаружено”!

Как исправить? Исходя из природы ошибки – переименовать реквизит на нужное имя, отредактировать код, или использовать правильные обращения к стандартным свойствам объекта.

Например, у объекта “СообщениеПользователю” нет свойства “Таблица”, и следующий код приведет к ошибке:

Сообщение = Новый СообщениеПользователю;
Сообщение.Таблица = “Ошибка”;

Индекс находится за границами массива

1С ошибка Индекс находится за пределами массива

Что означает такое сообщение системы? Как правило, с данной ошибкой разработчик сталкивается при некорректной работе с коллекциями. Самые частые случаи появления ошибки “Индекс находится за границами массива”.

  • Использование при обходе коллекции количества элементов вместо индекса. Индексы начинаются с нуля, а количество элементов – с единицы. Поэтому следующий код гарантированно приведет к ошибке: Массив[Массив.Количество()]
  • Последствия удаления элементов из коллекции, очистки коллекции или замены коллекции на пустую
  • Ошибочное увеличение счетчика в цикле “Для”

 Как исправить? Для удаления элементов из коллекции по условию – использовать обратный цикл. Добавлять условие на соответствие счетчика цикла и индекса массива. Не увеличивать счетчик внутри кода цикла Для … Цикл … КонецЦикла

Обращение к процедуре как к функции

ОШибка

Суть этой ошибки в том, что процедура не может возвращать значение. И если мы в коде используем вызов процедуры справа от знака присваивания, это приведет к ошибке.

Данная ошибка имеет две вариации – если используется стандартная процедура из методов какого-нибудь объекта, то фраза будет звучать “Обращение к процедуре объекта как к функции”. Если же использовать процедуру, объявленную в коде, то текст ошибки будет “Обращение к процедуре как к функции”.
При этом ошибка использования процедуры объекта является ошибкой времени выполнения – т.е. на этапе сохранения и проверки конфигурации платформа эту ошибку не обнаружит.

А вот неправильное использование процедуры синтаксическая проверка (Ctrl + F7) успешно обнаруживает, и не даст сохранить конфигурацию или внешнюю обработку/отчет, пока ошибка не будет устранена.

Рассмотрим два примера:

1. Воспроизведем ошибку “Обращение к процедуре как к функции”. При этом платформа не даст сохранить изменения, т.к. не проходит синтакс-контроль.

2. Воспроизведем ошибку “Обращение к процедуре объекта как к функции”. Здесь мы неверно используем метод объекта массива “Добавить”, который является процедурой.

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

Процедура не может возвращать значение

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

В процедуре можно написать ключевое слово “Возврат” без параметров. Это будет означать выход из процедуры.

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

Процедура ПроцедураНеМожетВозвращатьЗначение(Команда)
Возврат "Ошибка";
КонецПроцедуры

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

Переменная не определена

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

  • Опечатка в имени переменной
  • Обращение к переменной, которая нигде в области видимости не объявлена (неявной инициализацией с присвоением значения, явным образом с использованием ключевого слова “Перем”, или передана в качестве параметра)
  • Написание на клиенте серверного кода. Например, обращение к менеджеру справочников “Справочники”, и т.п. Клиентская часть приложения “не видит ” серверные объекты языка
  • Также ошибка может появиться, если ранее код использовался в режиме толстого клиента, но после был запущен в тонком клиенте.

Как исправить?

Внимательно следить за правильностью набранного кода, своевременно объявлять переменные или передавать их в качестве параметров. Писать серверный код только в серверных модулях, а также использовать соответствующие инструкции препроцессора, например “&НаСервере”.

Значение не является значением объектного типа

Ошибка “Значение не является значением объектного типа” может возникнуть при неверном обращении к объекту языка. Объектный тип – это такие объекты языка, которые содержат в себе другие объекты – свойства, реквизиты и т.п. Эти свойства доступны через точку, например “Объект.СвойствоЭтогоОбъекта”

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

Разберем более сложный пример:

&НаСервере
Процедура ЗначениеНеЯвляетсяЗначениемОбъектногоТипаНаСервере(Справочники = Ложь)
Сообщить(Справочники.Сотрудники.ПустаяСсылка());
КонецПроцедуры

Ошибка может быть “плавающей”. Если вместо параметра по умолчанию “Справочники = Ложь” будет передан менеджер справочников, то ошибки возникать не будет. А если вызвать процедуру без параметров, то будет использоваться параметр по умолчанию с типом Булево, что и приведет к ошибке.

Чаще всего чтобы исправить ошибку, нужно в отладчике посмотреть, какой тип значения используется. Можно внести изменения в код, чтобы обеспечить корректное поведение (например, в запросе вместо наименования товара выбрать ссылку, и в коде через точку уже обращаться к свойствам ссылки, а не текстового наименования). А можно добавить проверку на нужный тип значения. Т.е. – если значение того типа, который мы ожидаем – выполняем код. Иначе – не выполняем.

Ошибка при вызове метода контекста

Ошибка при вызове метода контекста

Обнаружены ошибки в 1С Синтаксическая ошибка

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

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

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

  1. Записать
  2. Прочитать
  3. Выполнить
  4. Создать
  5. ПроверитьВывод

Разберем эту ошибку на примере метода Выполнить объекта Запрос:

Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1 1 ГДЕ ИСТИНА И");
Запрос.Выполнить();

В тексте запроса допущена ошибка –  после первого условия “ГДЕ ИСТИНА” указан оператор И, но после него нет еще одного условия. В результате при попытке выполнения запроса, платформа вернет ошибку.

Для исправления ошибки зачастую достаточно внимательно использовать методы, при необходимости уточнять порядок, количество и тип параметров – это можно сделать в справке или синтакс-помощнике (встать курсором на имя метода в коде, и нажать сочетание клавиш Ctrl+F1). В случае запроса – нужно передавать синтаксически корректный текст запроса; в случае проверки вывода на печать – в системе должен быть установлен принтер; в случае подключения к почте – должны быть корректно указаны логин и пароль, и т.п.

Тип не может быть выбран в запросе в 1С 8.3 (8.2)

Ошибка Тип не может быть выбран в запросе

С такой ошибкой начинающие разработчики (да и не только начинающие 😉 ) сталкиваются чаще всего, при чтении запросом данных из таблиц значений, либо из регистров сведений. Все дело в том, что запросы поддерживают далеко не все типы значений. Так, например, нельзя запросом выбрать тип Картинка, ХранилищеЗначений, Шрифт, и многие другие типы, которые не относятся к примитивным или ссылочным типам значений.

Так, если ресурс регистра сведений имеет тип ХранилищеЗначений, выбрать его запросом будет нельзя. Также, если в таблицу значений поместить значения не подходящих типов, а после передать эту таблицу в качестве параметра-источника данных, выполнение запроса также приведет к ошибке “Тип не может быть выбран в запросе”.

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

Неверно:

//ТЗОшибочныйТип.Колонки.Добавить("Контрагент");

Верно:

//ТЗОшибочныйТип.Колонки.Добавить("Контрагент", Новый ОписаниеТипов("СправочникСсылка.Контрагенты"));

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

Использование в 1С модальных окон в данном режиме запрещено

Ошибка Использование в 1С модальных окон в данном режиме запрещено​

Платформа будет выдавать такое сообщение, если в коде используются методы, приводящие к открытию модальных окон. Модальные окна – это окна, которые при открытии блокируют весь остальной интерфейс. В 1С есть несколько модальных методов – например – “Вопрос”, “ОткрытьЗначение”, “Предупреждение”. Кроме того, в коде может использоваться модальный синтаксис открытия форм: “ОткрытьМодально()”

Если в свойствах конфигурации выбран режим использования модальности “Не использовать”, то выполнение модальных методов будет приводить к этой ошибке “Использование в 1С модальных окон в данном режиме запрещено”.

Для устранения ошибки можно пойти несколькими путями. Как водится, один – быстрый, другой – правильный 🙂

Быстрый способ – переключить режим использования модальности в положение “Использовать”.

Более правильный способ – использовать в коде немодальные вызовы методов. Например, у метода “Вопрос” есть немодальный аналог  – “ПоказатьВопрос”, у метода “Предупреждение” – “ПоказатьПредупреждение”, и т.п. Чаще всего об этих методах дополнительно указано в синтакс-помощнике и справке.

Кроме того, в последних версиях платформы появились асинхронные методы – “ВопросАсинх”, “ПредупреждениеАсинх” и др. Появление этих методов позволяет писать более простой и понятный асинхронный код, и направлено в первую очередь, на более полноценную поддержку браузерами и работу в веб-клиенте.

1С 8.3 и 8.2: Запись с такими ключевыми полями существует!

Данная ошибка появляется при некорректной записи в регистр сведений. Чаще всего с этой ошибкой сталкиваются начинающие разработчики, не до конца понимающие механизмы работы с ключевыми полями (измерениями).

Суть ошибки следующая – регистр сведений позволяет записать запись (строку таблицы) с уникальным набором ключевых полей – а для периодических регистров также и поля Период. Если следующая запись полностью повторяет значение ключевых полей, но осуществляется методом Записать с параметром Замещать = Истина, то запись в таблице регистра просто заменится на идентичную.

Однако если поместить две абсолютно одинаковые записи в набор записей, и попытаться его записать – платформа выдаст ошибку. Еще один распространенный случай, когда 1С сообщает “Запись с такими ключевыми полями существует” – это запись в периодический регистр сведений с периодичностью от “День” и выше, подчиненный регистратору.

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

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

Поле объекта недоступно для записи в 1С

Ошибка Поле объекта недоступно для записи в 1С​

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

Первый случай – это попытка редактирования системных полей, недоступных для записи. Например, в модуле формы сама форма будет содержаться в объекте ЭтаФорма. И попытка присвоить этому реквизиту любое значение приведет к ошибке “Поле объекта недоступно для записи”.

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

Элемент = Справочники.Сотрудники.НайтиПоКоду("12345");
Элемент.Наименование = "Новое наименование";

Исполнение данного кода приведет к ошибке, т.к. поля ссылки доступны только для чтения, а метод НайтиПоКоду вернет именно ссылку. Чтобы можно было внести изменения, следует из ссылки получить сам объект – используя соответствующий метод ПолучитьОбъект().

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

Ссылка на обработку

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

Заключение

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

добрый день. Бит финанс 3.0.17.6. У одного из пользователей вылетает ошибка {Справочник.ИдентификаторыОбъектовМетаданных.МодульМенеджера}: Ошибка при вызове метода контекста (УстановитьМонопольныйРежим)         УстановитьМонопольныйРежим(Истина); У всех остальных все нормально, никак не могу понять в чем проблема. у пользователя полные права

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

Вы хотите сказать, что у всех остальных монопольный режим нормально устанавливается, а у этого нет? Может остальные сюда и не попадают. Отладчик расскажет, зачем пользователь попадает в «Справочник.ИдентификаторыОбъектовМетаданных.МодульМенеджера»

наверно в базе кто-то еще сидит

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

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

«Бит финанс» — это диагноз. Разберись почему вобще попадает на эту строку. З.ы. Отладку можно запустить под другим пользователем, а не под админом

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

Судя по всему специалисты из ПервогоБита делают демонические обновления, после них этот справочник пытается обновиться. В коде проверяет изменения и если они есть выдает запуск в монопольном режиме. Правда странно что только на этом пользователе. Но думаю что именно из-за этого такая ошибка вылетала. Исправил путем ручного обновления справочника.

>>специалисты из ПервогоБита поржал Кэш кривой был скорей всего, раз только у одного юзера

у других не полные права,кэш я до этого чистил раз 5,даже платформу переставил

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

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Содержание

  1. Как отключить монопольный режим в 1с
  2. Установка монопольного режима
  3. Использование монопольного режима в базе с разделителями
  4. Проконсультироваться со специалистом 1С
  5. Монопольный режим для 1С v8
  6. Related Posts
  7. 18 Comments
  8. Удаление помеченных объектов (немонопольное) для управляемых (UPD: и обычных) форм
  9. Зуп ошибка установки монопольного доступа
  10. Ошибка установки монопольного доступа 1С 8.2
  11. Что делать возникла ошибка установки монопольного доступа 1С 8.2
  12. Какова стоимость услуг?
  13. Установка и снятие монопольности в 1С
  14. Представляем монопольный режим
  15. Переиндексация базы
  16. Удаление помеченных объектов
  17. Открытие периодов
  18. Важные моменты монопольной работы
  19. Запрет использования режима
  20. Монопольная загрузка базы 7.7
  21. Указание режима при входе
  22. Свойства ярлыка
  23. Конфигуратор
  24. Монопольность в восьмёрке
  25. Установка монопольного доступа в УПП 8.1
  26. Читают тему:
  27. Мероприятия
  28. Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download
  29. Скачать файлы
  30. Специальные предложения
  31. Новый вопрос
  32. См. также
  33. Права пользователя исключительно на просмотр (чтение) для УТ 11.4
  34. Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо
  35. Типичные ошибки при разработке прав доступа
  36. Проверка наличия роли у пользователя
  37. 1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо
  38. Назад в прошлое! Небольшие заметки по администрированию пользователей в УПП
  39. Подсистема БСП «Управление доступом», основные объекты и регистры
  40. Базовый курс для начинающих 1С-программистов. Онлайн-интенсив со 2 июня по 2 июля 2020 г. Промо
  41. Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)
  42. Влияние настройки роли на потребление памяти
  43. Готовые переносы данных из различных конфигураций 1C Промо
  44. Использование утилиты ring для выяснения данных о программных лицензиях
  45. Сервер администрирования кластера серверов 1C:Предприятия и deployka
  46. Программы для исполнения 488-ФЗ: Маркировка товаров Промо
  47. Решение проблемы автоматического утверждения расчета кадровиком документов. Разграничение прав кадровиков и расчетчиков. ЗУП 3.1
  48. Проверка безопасности установленных паролей
  49. Новый раздел на Инфостарте — Electronic Software Distribution Промо
  50. Информирование об утечке базы 1С
  51. Отключаем предупреждения безопасности в 1С 8.3.9 и выше вручную
  52. Онлайн-интенсив «1C:Предприятие для программистов: Бухгалтерские задачи» с 22 июня по 8 июля 2020 г. Промо
  53. Управление доступом: роли, права, профили, группы доступа, функциональные опции, RLS
  54. Многофакторная авторизация. Шаблон проектирования для «1С:Предприятие 8». На примере API «Приватбанка» для юр. лиц
  55. Подборка программ для взаимодействия с ЕГАИС Промо

Как отключить монопольный режим в 1с

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

Монопольный режим целесообразно использовать когда необходимо выполнить существенные изменения данных и при этом исключить влияние других сеансов на результаты работы. В частности, режим монопольного доступа устанавливается при выполнении некоторых сервисных процедур (удаление помеченных объектов) и вызове некоторых методов встроенного языка ( УстановитьЧасовойПоясИнформационнойБазы () , УдалитьОбъекты () и др.).

Установка монопольного режима

Установка и снятие монопольного режима выполняется методом

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

Монопольный режим возможно установить только при одновременном выполнении условий:

  • в режиме предприятия работает только один пользователь (Вы);
  • у пользователя есть право на изменение монопольного режима (в ролях флаг «Монопольный режим» корня дерева метаданных).
  • отсутствуют активные транзакции ( явные или неявные ).

Если какое-то требование не соблюдается, выполнение метода завершится ошибкой вида

Проверить установку монопольного режима можно при помощи метода

Метод возвращает Истина, если монопольный режим установлен.

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

При работе 1С в клиент-серверном варианте с СУБД MS SQL Server установка базы в монопольный режим не переводит базу данных в однопользовательский режим (single user).

Использование монопольного режима в базе с разделителями

Метод УстановитьМонопольныйРежим () устанавливает монопольный режим только в той области, которая определена для текущего сеанса. Таким образом, в одной базе может одновременно существовать несколько областей, для которых установлен монопольный режим. Если в сеансе разделители не используются, то режим будет установлен не на область, а на всю базу.

Остались вопросы?
Спросите в комментариях к статье.

Проконсультироваться
со специалистом 1С

Установленный монопольный режим позволит пользователю быть единственным пользователем базы, пока он установлен. Однако сам монопольный режим можно установить только в том случае, если на момент установки пользователь был единственным!
Установка монопольного режима
Код 1C v 8.х

Как видите, если применение процедуры работы с информационной базой УстановитьМонопольныйРежим() приводит к ошибке, приходится с этим смириться. Хотя если захотите обеспечить выход других пользователей из системы, в настоящем издании есть пример того, как этого добиться: Как принудительно завершить работу всех пользователей информационной базы ?».
Кроме самой установки монопольного режима можно еще, например, убедиться, что в текущий момент работа идет в монопольном режиме:

Проверка монопольного режима
Код 1C v 8.х

Или же снять монопольный режим (Отмена монопольного режима):
Код 1C v 8.х

В 1С 7.7, режим «Монопольно» присутствует только в сетевых версиях 1С. Если же у Вас не сетевая версия, то Вы будете по умолчанию заходить монопольно – Вас об этом даже не спросят.
Для определения режима работы существует специальный метод: МонопольныйРежим(). Возвращаемое значение: Число 1 — если программа запущена в монопольном режиме; Число 0 — если программа запущена в сетевом режиме. Небольшой пример:
Код 1C v 7.x

Установленный монопольный режим позволит пользователю быть единственным пользователем базы, пока он установлен. Однако сам монопольный режим можно установить только в том случае, если на момент установки пользователь был единственным!
Установка монопольного режима
Код 1C v 8.х

Как видите, если применение процедуры работы с информационной базой УстановитьМонопольныйРежим() приводит к ошибке, приходится с этим смириться. Хотя если захотите обеспечить выход других пользователей из системы, в настоящем издании есть пример того, как этого добиться: Как принудительно завершить работу всех пользователей информационной базы ?».
Кроме самой установки монопольного режима можно еще, например, убедиться, что в текущий момент работа идет в монопольном режиме:

Проверка монопольного режима
Код 1C v 8.х

Или же снять монопольный режим (Отмена монопольного режима):
Код 1C v 8.х

В 1С 7.7, режим «Монопольно» присутствует только в сетевых версиях 1С. Если же у Вас не сетевая версия, то Вы будете по умолчанию заходить монопольно – Вас об этом даже не спросят.
Для определения режима работы существует специальный метод: МонопольныйРежим(). Возвращаемое значение: Число 1 — если программа запущена в монопольном режиме; Число 0 — если программа запущена в сетевом режиме. Небольшой пример:
Код 1C v 7.x

Источник

Монопольный режим для 1С v8

Подключение обработки производится без изменения конфигурации стандартным образом:

выбрать в меню Сервис/Внешние печатные формы и обработки/Внешние обработки.

В открывшемся окне «Дополнительные внешниеобработки» нажать кнопку Создать.

В открывшемся окне выбрать файл с внешней обработкой и нажать Записать и закрыть.

После этого данная обработка будет доступна в меню Сервис/Внешние печатные формы и обработки/Внешние обработки .

Либо можно через меню Файл/Открыть выбрать файл обработку.

Чем отличается от http://infostart.ru/public/15935/ ? В клиент-серверном варианте работает?

Код отличается от этого?

Предупреждение(«К базе подключены пользователи.Монопольный режим установить невозможно!», 10);

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

Обязательно укажите это в описании, иначе еще многие пользователи обожгутся на этом!

Проблему исправили только в 8.2.18, а она тянулась как минимум с 8.2.13!

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

(4) makas, при открытых сеансах обработка выдаст ошибку «Ошибка разделенного доступа к файлу»

(3) Антон Ширяев, Тестировал на платформе 8.2.17.153 ошибка была при первом, втором и третьем

А для клиент-серверного варианта какой глубокий смысл в подобных действиях? Чем не устраивает оснастка администрирования серверов?

(7) AlX0id, в смысле. Зачем мне монопольный режим, если я хочу обновить конфу и у меня нет доступа к «оснастке» чтоли?

В файловом варианте проблем нет. А вы попробуйте в клиент-серверном.

10098878 Метод УстановитьМонопольныйРежим

Если в клиент-серверной информационной базе работают несколько пользователей, то второй и последующий вызовы метода УстановитьМонопольныйРежим в одном из клиентов не вызывает исключение, но монопольный режим не устанавливает.

По этой же причине до 8.2.18 была и другая проблема

20013012 Удаление помеченных объектов

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

Да зачем ему такие тонкости, тут же УстановитьМонопольныйРежим — это ж так круто…

нет, ибо используется только УстановитьМонопольныйРежим в попытке.

А чем не устраивает блокировка соединения с базой?

Которая к тому же еще и пользователей из базы выгоняет?

Есть, вроде, во всех типовых конфигурациях.

Ну это если не доступна консоль сервера с такой же галочкой.

(9) в 8.2.18 исправили, и это хорошо.

Честно говоря, жаль, что исправили. Удобно было опративно удалять помеченные. Может это и имело какие-то негативные последствия, но я этого не видел. После обновления платформы сильно удивился — куда «фишка» делась? Только теперь дошло…

Упс! а я как раз только сейчас столкнулся с этим…. запустил удаление помеченных обьектов релиз 8.2.14, в базе есть незакрытые сеансы хоть и не работающие (т.к. ночь сейчас) какие могут быть последствия? скинуть сеансы в консоли кластера что ли?….

Удобно, а то реально просто сказать людям не хватает

Доброго работать будет на 1С 8.3.8.1652

(16) maxmady, Добрый не проверял

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

Источник

Удаление помеченных объектов (немонопольное) для управляемых (UPD: и обычных) форм

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

(5) Дарю. Вставьте этот фрагмент в модуль обработки. Он нужен для регистрации в справочнике дополнительные отчеты и обработки для конфигураций на БСП.

В модуле формы «ОсновнаяФормаУ» чобы влоделца не в попытке получал:

Здравствуйте, при удалении помеченных ошибка:
<ВнешняяОбработка.УдалениеПомеченныхОбъектов.МодульОбъекта(561)>: Ошибка при вызове метода контекста (УдалитьОбъекты)
УдалитьОбъекты(лМассив, Ложь);
по причине:
Нарушение прав доступа!

Управление торговлей, редакция 11.1 (11.1.2.10)
1С:Предприятие 8.2 (8.2.18.109)

(0) В 8.3.5 управляемая форма не работает. При открытии выдаётся окно с сообщением

Ошибка отображения типов:
Отсутствует отображение для типа ‘ОбъектМетаданных’

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘v’:
форма: Элемент
имя: < http://v8.1c.ru/8.2/uobjects >v
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘value’:
форма: Элемент
имя: < http://v8.1c.ru/8.1/data/core >value
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘ОбъектМетаданных’

Где там на форме ОбъектыМетаданных, ума не приложу. Процедура ПриСозданииНаСервере не отрабатывается, видимо ошибка получается при построении формы.

Источник

Зуп ошибка установки монопольного доступа

Ошибка установки монопольного доступа 1С 8.2

Ошибка установки монопольного доступа 1С 8.2 достаточно распространенная проблема. Наши программисты могут приехать к вам в офис и выполнить все необходимые действия или подключиться к компьютеру удаленно.

Возникли ошибки при работе с 1С. Звоните +7 (495) 240-8668!

Что делать возникла ошибка установки монопольного доступа 1С 8.2

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

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

Какова стоимость услуг?

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

У нас можно заказать следующие услуги:

  • установку и настройку программного комплекса 1С;
  • помощь с выбором;
  • ИТ-обслуживание;
  • сопровождение 1С, в том числе удаленное;
  • разработку конфигураций 1С;
  • подготовку отчетов 1С.

Быстро устраним любые неполадки. Звоните +7 (495) 240-8668!

Если вашей компании требуется установка монопольного доступа 1С 8.2 – лучшего варианта, чем наша компания вам не найти. Мы предлагаем выгодные условия сотрудничества, наиболее доступные цены в Москве, большое количество дополнительных преимуществ. Любая ошибка или проблема с 1С будет устранена в максимально короткий срок, наши специалисты приложат максимум усилий, чтобы работать с программой было удобно. У нас вы сможете заказать индивидуальную разработку конфигураций 1С, что позволит вам расширить возможности.

Установка и снятие монопольности в 1С

При работе в сетевых платформах 1С обычно пользователи работают в разделённом режиме. Это означает, что они одновременно (совместно) могут пользоваться программой. Но существуют определённые задачи, для выполнения которых нужно войти в сетевой пакет монопольно. Рассмотрим, как установить или снять монопольный режим в 1С.

Монопольность необходима для выполнения специальных задач.

Представляем монопольный режим

Прежде всего, затевать разговор о вероятности перехода в монопольный режим можно только тогда, когда на PC установлена сетевая платформа. В противном случае (развёрнут локальный вариант) монопольно работать вы будете всегда и по-другому никак.

Что нам нужно в режиме «монопольно» и для чего его запускать?

Переиндексация базы

Некорректное закрытие программы 1С (например, при внезапном отключении питания) требует выполнения переиндексации информационной базы. Это программное требование и без выполнения этой процедуры 1С просто не откроется. Но выполнение переиндексации возможно только монопольно.

Удаление помеченных объектов

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

Для непосредственного удаления предварительно помеченных записей потребуется выход из программы всех пользователей. И тогда кто-то один монопольно сможет осуществить удаление, войдя во вкладку основного меню — «Операции», затем «Удаление помеченных объектов».

После этого проверяются связи этого объекта с другими проведёнными операциями. При обнаружении таковой — удаление не произойдёт. Ведь таким действием будет нарушена логическая цепочка событий, документов, операций.

Открытие периодов

Итоговые данные в 1С учитываются помесячные и поквартально. Это не чья-то прихоть, а соответствие правилам бухгалтерского учёта. При наступлении нового периода — нужно этот период «открыть». Сделать это можно только через запущенный монопольный вход. Для создания нового периода нужно открыть в основном меню на раскрывающейся вкладке «Операции» выбрать «Управление бухгалтерскими итогами»:

Важные моменты монопольной работы

Общее правило использование монопольного входа определяет, что в реальный момент времени находиться в программе имеет право только один пользователь. И если кто-то уже вошёл в неё таким образом, то другому доступ будет закрыт. Если же в ней кто-то уже работает разделённо, то нельзя будет войти монопольно. В обоих случаях системой будет отражено сообщение об «Ошибке блокировки».

Запрет использования режима

Для запрета на монопольность входа конкретному юзеру нужно в настройках его прав (в Конфигураторе) снять галку «Запуск монопольного режима». Тогда при попытке такого входа ему будет послано сообщение «Недостаточно прав»:

Монопольная загрузка базы 7.7

Рассмотрим интересующие нас доступные способы входа.

Указание режима при входе

В самом начале, запуская выбранную информационную базу, нужный режим «Монопольно» выбирается установкой в соответствующем чек-боксе флажка.

Свойства ярлыка

Для запуска 1С в нужном режиме создаётся ярлык, который, минуя запускающее окно, сразу будет загружать нужную базу (используется команда 1cv7.exe enterprise/M).

Конфигуратор

При загрузке ИБ через Конфигуратор загрузка предприятия автоматически происходит в монопольно. Именно о таком входе почему-то редко кто вспоминает, когда ему это требуется.

Монопольность в восьмёрке

В 1С 8 переход в такой режим осуществляется из самой программы. Находясь в восьмёрке, перейти в него можно только будучи в одиночестве. Для того чтобы проверить количество пользователей, нужно в Конфигураторе на вкладке «Администрирование» вызвать команду «Активные пользователи». Тогда будет выдан их список.

Теперь вы знаете как запустить 1С в монопольном режиме. Используя один из способов, вы непременно добьётесь желаемого результата как в семёрке, так и восьмёрке.

Установка монопольного доступа в УПП 8.1

Здравствуйте!
Подскажите пожалуйсто,как произвести установку монопольного доступа в УПП 8.1?

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

Т.е. он включается «по-требованию» системы и так же выключается, просто нужно чтобы кроме вас в базе никого не было.

«Выгонять» из базы можно административно?
Есть возможность отключить всех через конфигуратор? Или надо всех обзвонить с просьбой выйти из системы?

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

«Для файловой версии такой возможности нет (типовой, имеется ввиду). Для варианта с использованием «Сервера 1С Предприятия» это можно сделать через консоль этого самого сервера (зайти в соединения и удалять пользователей). Принудительно установить монопольный режим можно командой «УстановитьМонопольныйРежим(Истина)».

Пример:
Попытка
УстановитьМонопольныйРежим(Истина);
Исключение
Текст = «С информационной базой работают другие пользователи.
|В данный момент невозможно установить монопольный режим!»;
Предупреждение(Текст, 10);
КонецПопытки;»

Читают тему:

Мероприятия

  • Центры Сертифицированного Обучения
  • Интернет курсы обучения «1С»
  • Самоучители
  • Учебный центр № 1
  • Учебный центр № 3
  • Сертификация по «1С:Профессионал»
  • Организация обучения под заказ
  • Книги по 1С:Предприятию

1С бесплатно 1С-Отчетность 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление нашей фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПредприятие 8

  • WWW.1С.ru
  • 1С:Предприятие 8
  • 1С Отраслевые решения
  • Образовательные программы
  • 1С:Линк
  • 1С:Консалтинг
  • 1С:Дистрибьюция
  • 1С для торговли
  • 1С-Онлайн
  • 1С Интерес
  • 1С:Образование

При использовании материалов активная прямая гиперссылка на перепечатанный материал обязательна.

Редакция БУХ.1С не несет ответственности за мнения и информацию, опубликованную в комментариях к материалам.

Редакция уважает мнение авторов, но не всегда разделяет его.

На указанный в форме e-mail придет запрос на подтверждение регистрации.

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

Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download

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

ЗЫ. Для круглых медалистов и отличноков в обработку включен хелп.

Версия 1.2: для клиент-верверного варианта работы добавлена возможность выгонять пользователей из базы. Для этого предусмотрен механимз авторизации на кластере серверов и контекстное меню списка активных пользователей. Подробнее — в хелпе.

Скачать файлы

Специальные предложения

Новый вопрос

Добавлена новая версия, с возможностью выгонять пользователей для клиент-серверного варианта работы. Для файлого варианта изменения не должны быть даже заметны. О способе использования — см. хелп.

Если обнаружите ошибки или будут замечания по производительности — пишите!

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

quest, сам понимаешь — вообще-то не за что и плюсовать. Фуфло ведь. Хотя, это одна из моих первых попыток работы с COM.

Дык всех выгнать надо, чтобы монопольный режим установить 🙂 Там справка встроенная по F1 — там все написано.

(18) Если версия — серверная, то рубите процессы. Или консолью сервера, или этой обработкой. В справке подробно написано, как это сделать.

Если версия локальная — бог вам в помощь 🙂

См. также

Права пользователя исключительно на просмотр (чтение) для УТ 11.4

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

21.11.2019 3914 Aleksandr55555 4

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

Типичные ошибки при разработке прав доступа

Рассмотрим самые распространенные ошибки в разработке прав доступа.

02.10.2019 14640 YPermitin 57

Проверка наличия роли у пользователя

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

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно — для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

Назад в прошлое! Небольшие заметки по администрированию пользователей в УПП

Небольшие заметки по функционалу «Администрирование пользователей» конфигурации «Управление производственным предприятием» версии 1.3. Затрагиваются такие темы как: роли, профили доступа, дополнительные права, настройки пользователей и ограничения доступа на уровне записей (RLS).

06.06.2019 11015 YPermitin 18

Подсистема БСП «Управление доступом», основные объекты и регистры

Основные принципы работы подсистемы «Управление доступом» из состава БСП. Виды доступа, ограничение доступа на уровне записей. Описание основных объектов и регистров, используемых подсистемой.

Базовый курс для начинающих 1С-программистов. Онлайн-интенсив со 2 июня по 2 июля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

Влияние настройки роли на потребление памяти

На днях разбирался с проблемой с потреблением памяти процессами конфигуратора и rphost. Как оказалось — причина в настройках ролей. Один поворот не туда, и настройки роли приводят к чрезмерному потреблению оперативки.

29.01.2019 11975 mickey.1cx 14

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Использование утилиты ring для выяснения данных о программных лицензиях

Использование утилиты ring для управления программными лицензиями без ее установки на компьютер пользователя.

Сервер администрирования кластера серверов 1C:Предприятия и deployka

В данной статье познакомимся с сервером администрирования кластера серверов 1С:Предприятия, а конкретно с утилитами rac.exe и ras.exe, а также программой deployka, с помощью которых становится возможным администрирование кластера серверов 1С:Предприятие из командной строки.

04.04.2018 51518 Tavalik 35

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Решение проблемы автоматического утверждения расчета кадровиком документов. Разграничение прав кадровиков и расчетчиков. ЗУП 3.1

Статья посвящена тем, кто столкнулся с проблемой автоматической установки «Расчет утвердил». Также рассматривается решение проблемы с отображением ФОТ и оклада у кадровика. Добавление роли ЧтениеДанныхДляНачисленияЗарплатыРасширенная кадровику без последствий для расчетчика.

04.04.2018 20301 leaderonex 23

Проверка безопасности установленных паролей

Код выводит не установленные пароли, а так же очень простые (1, 123) пароли пользователей. Список можно пополнять.

Новый раздел на Инфостарте — Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Информирование об утечке базы 1С

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

03.03.2018 12804 dima_home 80

Отключаем предупреждения безопасности в 1С 8.3.9 и выше вручную

Как включить/выключить механизм защиты от опасных действий реализованный в новой версии платформы 1С:Предприятие 8.3.9. Одним из нововведений новой версии платформы 1С:Предприятие 8.3.9 стал механизм от опасных действий. После установки новой версии платформы 1С (начиная версии 8.3.9.2033) при попытке открыть внешнюю обработку или расширение программа выдает сообщение..

01.11.2017 36887 webresurs 10

Онлайн-интенсив «1C:Предприятие для программистов: Бухгалтерские задачи» с 22 июня по 8 июля 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для решения задач бухгалтерского учета. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Бухгалтерия” и прочих прикладных решений, в которых реализованы соответствующие механизмы для автоматизации бухгалтерских задач.

Управление доступом: роли, права, профили, группы доступа, функциональные опции, RLS

В 1С достаточно много механизмов, отвечающих за доступ к данным. Группы доступа, профили групп доступа, роли, права доступа, функциональные опции, RLS. Иногда сложно сразу понять, зачем все это нужно, как эти элементы друг с другом связаны и как ими пользоваться.

Многофакторная авторизация. Шаблон проектирования для «1С:Предприятие 8». На примере API «Приватбанка» для юр. лиц

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

11.09.2017 11993 pbazeliuk 6

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) — автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Источник

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

Исправляем ситуацию

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

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


	 Запрос = Новый Запрос;
	 Запрос.Текст =
	         "ВЫБРАТЬ
	          |        Номенклатура.Ссылка КАК Ссылка,
	          |        Номенклатура.ВерсияДанных КАК ВерсияДанных,
	          |        Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
	          |        Номенклатура.Родитель КАК Родитель,
	          |        Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
	          |        Номенклатура.Код КАК Код,
	          |        Номенклатура.Наименование КАК Наименование,
	          |        Номенклатура.Артикул КАК Артикул,
	          |        Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	          |        Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
	          |        Номенклатура.Предопределенный КАК Предопределенный,
	          |        Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
	          |ИЗ
	          |        Справочник.Номенклатура КАК Номенклатура
	          |ГДЕ
	          |         ";
	 РезультатЗапроса = Запрос.Выполнить();
	 ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	 КонецЦикла;

Рис.1 Запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора

Рис.1 Запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора

Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.

Увидев вышеприведенный кусок кода, разработчик заметит, что в запросе есть служебное слово «ГДЕ», дающее сигнал 1С, что дальше будет условие. Но мы забыли дописать его и, естественно, система с помощью сообщения об ошибке спрашивает нас – «а где условие?». Чтобы исправить эту ситуацию необходимо либо убрать оператор «ГДЕ» из запроса, либо добавить условие.

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


	 Запрос = Новый Запрос;
	            Запрос.Текст =
	                       "ВЫБРАТЬ
	                        |          Номенклатура.Ссылка КАК Ссылка,
	                        |          Номенклатура.ВерсияДанных КАК ВерсияДанных,
	                        |          Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
	                        |          Номенклатура.Родитель КАК Родитель,
	                        |          Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
	                        |          Номенклатура.Код КАК Код,
	                        |          Номенклатура.Наименование КАК Наименование,
	                        |          Номенклатура.Артикул КАК Артикул,
	                        |          Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	                        |          Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
	                        |          Номенклатура.Предопределенный КАК Предопределенный,
	                        |          Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
	                        |ИЗ
	                        |          Справочник.Номенклатура КАК Номенклатура
	                        |ГДЕ
	                        |          НЕ Номенклатура.ЭтоГруппа ";
	 НужнаяГруппаЭлементов = Справочники.Номенклатура.НайтиПоНаименованию("Мебель");
	 РезультатЗапроса = Запрос.Выполнить();
	 ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	 Сообщить(ВыборкаДетальныеЗаписи.Ссылка.ПринадлежитЭлементу("НужнаяГруппаЭлементов"));
	 КонецЦикла;

Рис.2 Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной

Рис.2 Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной

1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 1С.

Рис.3 Синтакс-помощник

Рис.3 Синтакс-помощник

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

Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает

Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает

Чаще всего причиной подобных ошибок выступают следующие факторы:

  1. Невнимательность;
  2. Отсутствие опыта или знаний;
  3. Несогласованность действий разработчиков друг с другом;
  4. Изменения в методах контекста в новых версиях платформы.

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

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

Содержание

Поле объекта не обнаружено

1С ошибка Поле объекта не обнаружено

Существует множество статей, которые описывают возможные причины возникновения в 1С ошибки “Поле объекта не обнаружено”. Порой это связывают с обновлением платформы, обновлением типового релиза, или с какими-то другими причинами.

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

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

  • Удалили табличную часть, к которой обращаемся в коде?
  • Переименовали реквизит, а в коде не исправили?
  • Заменили значение со ссылки на неопределено?

Вуаля – платформа выдаст ошибку “Поле объекта не обнаружено”!

Как исправить? Исходя из природы ошибки – переименовать реквизит на нужное имя, отредактировать код, или использовать правильные обращения к стандартным свойствам объекта.

Например, у объекта “СообщениеПользователю” нет свойства “Таблица”, и следующий код приведет к ошибке:

Сообщение = Новый СообщениеПользователю;
Сообщение.Таблица = “Ошибка”;

Индекс находится за границами массива

1С ошибка Индекс находится за пределами массива

Что означает такое сообщение системы? Как правило, с данной ошибкой разработчик сталкивается при некорректной работе с коллекциями. Самые частые случаи появления ошибки “Индекс находится за границами массива”.

  • Использование при обходе коллекции количества элементов вместо индекса. Индексы начинаются с нуля, а количество элементов – с единицы. Поэтому следующий код гарантированно приведет к ошибке: Массив[Массив.Количество()]
  • Последствия удаления элементов из коллекции, очистки коллекции или замены коллекции на пустую
  • Ошибочное увеличение счетчика в цикле “Для”

 Как исправить? Для удаления элементов из коллекции по условию – использовать обратный цикл. Добавлять условие на соответствие счетчика цикла и индекса массива. Не увеличивать счетчик внутри кода цикла Для … Цикл … КонецЦикла

Обращение к процедуре как к функции

ОШибка

Суть этой ошибки в том, что процедура не может возвращать значение. И если мы в коде используем вызов процедуры справа от знака присваивания, это приведет к ошибке.

Данная ошибка имеет две вариации – если используется стандартная процедура из методов какого-нибудь объекта, то фраза будет звучать “Обращение к процедуре объекта как к функции”. Если же использовать процедуру, объявленную в коде, то текст ошибки будет “Обращение к процедуре как к функции”.
При этом ошибка использования процедуры объекта является ошибкой времени выполнения – т.е. на этапе сохранения и проверки конфигурации платформа эту ошибку не обнаружит.

А вот неправильное использование процедуры синтаксическая проверка (Ctrl + F7) успешно обнаруживает, и не даст сохранить конфигурацию или внешнюю обработку/отчет, пока ошибка не будет устранена.

Рассмотрим два примера:

1. Воспроизведем ошибку “Обращение к процедуре как к функции”. При этом платформа не даст сохранить изменения, т.к. не проходит синтакс-контроль.

2. Воспроизведем ошибку “Обращение к процедуре объекта как к функции”. Здесь мы неверно используем метод объекта массива “Добавить”, который является процедурой.

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

Процедура не может возвращать значение

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

В процедуре можно написать ключевое слово “Возврат” без параметров. Это будет означать выход из процедуры.

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

Процедура ПроцедураНеМожетВозвращатьЗначение(Команда)
Возврат "Ошибка";
КонецПроцедуры

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

Переменная не определена

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

  • Опечатка в имени переменной
  • Обращение к переменной, которая нигде в области видимости не объявлена (неявной инициализацией с присвоением значения, явным образом с использованием ключевого слова “Перем”, или передана в качестве параметра)
  • Написание на клиенте серверного кода. Например, обращение к менеджеру справочников “Справочники”, и т.п. Клиентская часть приложения “не видит ” серверные объекты языка
  • Также ошибка может появиться, если ранее код использовался в режиме толстого клиента, но после был запущен в тонком клиенте.

Как исправить?

Внимательно следить за правильностью набранного кода, своевременно объявлять переменные или передавать их в качестве параметров. Писать серверный код только в серверных модулях, а также использовать соответствующие инструкции препроцессора, например “&НаСервере”.

Значение не является значением объектного типа

Ошибка “Значение не является значением объектного типа” может возникнуть при неверном обращении к объекту языка. Объектный тип – это такие объекты языка, которые содержат в себе другие объекты – свойства, реквизиты и т.п. Эти свойства доступны через точку, например “Объект.СвойствоЭтогоОбъекта”

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

Разберем более сложный пример:

&НаСервере
Процедура ЗначениеНеЯвляетсяЗначениемОбъектногоТипаНаСервере(Справочники = Ложь)
Сообщить(Справочники.Сотрудники.ПустаяСсылка());
КонецПроцедуры

Ошибка может быть “плавающей”. Если вместо параметра по умолчанию “Справочники = Ложь” будет передан менеджер справочников, то ошибки возникать не будет. А если вызвать процедуру без параметров, то будет использоваться параметр по умолчанию с типом Булево, что и приведет к ошибке.

Чаще всего чтобы исправить ошибку, нужно в отладчике посмотреть, какой тип значения используется. Можно внести изменения в код, чтобы обеспечить корректное поведение (например, в запросе вместо наименования товара выбрать ссылку, и в коде через точку уже обращаться к свойствам ссылки, а не текстового наименования). А можно добавить проверку на нужный тип значения. Т.е. – если значение того типа, который мы ожидаем – выполняем код. Иначе – не выполняем.

Ошибка при вызове метода контекста

Ошибка при вызове метода контекста

Обнаружены ошибки в 1С Синтаксическая ошибка

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

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

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

  1. Записать
  2. Прочитать
  3. Выполнить
  4. Создать
  5. ПроверитьВывод

Разберем эту ошибку на примере метода Выполнить объекта Запрос:

Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1 1 ГДЕ ИСТИНА И");
Запрос.Выполнить();

В тексте запроса допущена ошибка –  после первого условия “ГДЕ ИСТИНА” указан оператор И, но после него нет еще одного условия. В результате при попытке выполнения запроса, платформа вернет ошибку.

Для исправления ошибки зачастую достаточно внимательно использовать методы, при необходимости уточнять порядок, количество и тип параметров – это можно сделать в справке или синтакс-помощнике (встать курсором на имя метода в коде, и нажать сочетание клавиш Ctrl+F1). В случае запроса – нужно передавать синтаксически корректный текст запроса; в случае проверки вывода на печать – в системе должен быть установлен принтер; в случае подключения к почте – должны быть корректно указаны логин и пароль, и т.п.

Тип не может быть выбран в запросе в 1С 8.3 (8.2)

Ошибка Тип не может быть выбран в запросе

С такой ошибкой начинающие разработчики (да и не только начинающие 😉 ) сталкиваются чаще всего, при чтении запросом данных из таблиц значений, либо из регистров сведений. Все дело в том, что запросы поддерживают далеко не все типы значений. Так, например, нельзя запросом выбрать тип Картинка, ХранилищеЗначений, Шрифт, и многие другие типы, которые не относятся к примитивным или ссылочным типам значений.

Так, если ресурс регистра сведений имеет тип ХранилищеЗначений, выбрать его запросом будет нельзя. Также, если в таблицу значений поместить значения не подходящих типов, а после передать эту таблицу в качестве параметра-источника данных, выполнение запроса также приведет к ошибке “Тип не может быть выбран в запросе”.

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

Неверно:

//ТЗОшибочныйТип.Колонки.Добавить("Контрагент");

Верно:

//ТЗОшибочныйТип.Колонки.Добавить("Контрагент", Новый ОписаниеТипов("СправочникСсылка.Контрагенты"));

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

Использование в 1С модальных окон в данном режиме запрещено

Ошибка Использование в 1С модальных окон в данном режиме запрещено​

Платформа будет выдавать такое сообщение, если в коде используются методы, приводящие к открытию модальных окон. Модальные окна – это окна, которые при открытии блокируют весь остальной интерфейс. В 1С есть несколько модальных методов – например – “Вопрос”, “ОткрытьЗначение”, “Предупреждение”. Кроме того, в коде может использоваться модальный синтаксис открытия форм: “ОткрытьМодально()”

Если в свойствах конфигурации выбран режим использования модальности “Не использовать”, то выполнение модальных методов будет приводить к этой ошибке “Использование в 1С модальных окон в данном режиме запрещено”.

Для устранения ошибки можно пойти несколькими путями. Как водится, один – быстрый, другой – правильный 🙂

Быстрый способ – переключить режим использования модальности в положение “Использовать”.

Более правильный способ – использовать в коде немодальные вызовы методов. Например, у метода “Вопрос” есть немодальный аналог  – “ПоказатьВопрос”, у метода “Предупреждение” – “ПоказатьПредупреждение”, и т.п. Чаще всего об этих методах дополнительно указано в синтакс-помощнике и справке.

Кроме того, в последних версиях платформы появились асинхронные методы – “ВопросАсинх”, “ПредупреждениеАсинх” и др. Появление этих методов позволяет писать более простой и понятный асинхронный код, и направлено в первую очередь, на более полноценную поддержку браузерами и работу в веб-клиенте.

1С 8.3 и 8.2: Запись с такими ключевыми полями существует!

Данная ошибка появляется при некорректной записи в регистр сведений. Чаще всего с этой ошибкой сталкиваются начинающие разработчики, не до конца понимающие механизмы работы с ключевыми полями (измерениями).

Суть ошибки следующая – регистр сведений позволяет записать запись (строку таблицы) с уникальным набором ключевых полей – а для периодических регистров также и поля Период. Если следующая запись полностью повторяет значение ключевых полей, но осуществляется методом Записать с параметром Замещать = Истина, то запись в таблице регистра просто заменится на идентичную.

Однако если поместить две абсолютно одинаковые записи в набор записей, и попытаться его записать – платформа выдаст ошибку. Еще один распространенный случай, когда 1С сообщает “Запись с такими ключевыми полями существует” – это запись в периодический регистр сведений с периодичностью от “День” и выше, подчиненный регистратору.

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

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

Поле объекта недоступно для записи в 1С

Ошибка Поле объекта недоступно для записи в 1С​

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

Первый случай – это попытка редактирования системных полей, недоступных для записи. Например, в модуле формы сама форма будет содержаться в объекте ЭтаФорма. И попытка присвоить этому реквизиту любое значение приведет к ошибке “Поле объекта недоступно для записи”.

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

Элемент = Справочники.Сотрудники.НайтиПоКоду("12345");
Элемент.Наименование = "Новое наименование";

Исполнение данного кода приведет к ошибке, т.к. поля ссылки доступны только для чтения, а метод НайтиПоКоду вернет именно ссылку. Чтобы можно было внести изменения, следует из ссылки получить сам объект – используя соответствующий метод ПолучитьОбъект().

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

Ссылка на обработку

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

Заключение

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

Содержание

  1. Как отключить монопольный режим в 1с
  2. Установка монопольного режима
  3. Использование монопольного режима в базе с разделителями
  4. Проконсультироваться со специалистом 1С
  5. Монопольный режим для 1С v8
  6. Related Posts
  7. 18 Comments
  8. Удаление помеченных объектов (немонопольное) для управляемых (UPD: и обычных) форм
  9. Зуп ошибка установки монопольного доступа
  10. Ошибка установки монопольного доступа 1С 8.2
  11. Что делать возникла ошибка установки монопольного доступа 1С 8.2
  12. Какова стоимость услуг?
  13. Установка и снятие монопольности в 1С
  14. Представляем монопольный режим
  15. Переиндексация базы
  16. Удаление помеченных объектов
  17. Открытие периодов
  18. Важные моменты монопольной работы
  19. Запрет использования режима
  20. Монопольная загрузка базы 7.7
  21. Указание режима при входе
  22. Свойства ярлыка
  23. Конфигуратор
  24. Монопольность в восьмёрке
  25. Установка монопольного доступа в УПП 8.1
  26. Читают тему:
  27. Мероприятия
  28. Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download
  29. Скачать файлы
  30. Специальные предложения
  31. Новый вопрос
  32. См. также
  33. Права пользователя исключительно на просмотр (чтение) для УТ 11.4
  34. Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо
  35. Типичные ошибки при разработке прав доступа
  36. Проверка наличия роли у пользователя
  37. 1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо
  38. Назад в прошлое! Небольшие заметки по администрированию пользователей в УПП
  39. Подсистема БСП «Управление доступом», основные объекты и регистры
  40. Базовый курс для начинающих 1С-программистов. Онлайн-интенсив со 2 июня по 2 июля 2020 г. Промо
  41. Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)
  42. Влияние настройки роли на потребление памяти
  43. Готовые переносы данных из различных конфигураций 1C Промо
  44. Использование утилиты ring для выяснения данных о программных лицензиях
  45. Сервер администрирования кластера серверов 1C:Предприятия и deployka
  46. Программы для исполнения 488-ФЗ: Маркировка товаров Промо
  47. Решение проблемы автоматического утверждения расчета кадровиком документов. Разграничение прав кадровиков и расчетчиков. ЗУП 3.1
  48. Проверка безопасности установленных паролей
  49. Новый раздел на Инфостарте — Electronic Software Distribution Промо
  50. Информирование об утечке базы 1С
  51. Отключаем предупреждения безопасности в 1С 8.3.9 и выше вручную
  52. Онлайн-интенсив «1C:Предприятие для программистов: Бухгалтерские задачи» с 22 июня по 8 июля 2020 г. Промо
  53. Управление доступом: роли, права, профили, группы доступа, функциональные опции, RLS
  54. Многофакторная авторизация. Шаблон проектирования для «1С:Предприятие 8». На примере API «Приватбанка» для юр. лиц
  55. Подборка программ для взаимодействия с ЕГАИС Промо

Как отключить монопольный режим в 1с

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

Монопольный режим целесообразно использовать когда необходимо выполнить существенные изменения данных и при этом исключить влияние других сеансов на результаты работы. В частности, режим монопольного доступа устанавливается при выполнении некоторых сервисных процедур (удаление помеченных объектов) и вызове некоторых методов встроенного языка ( УстановитьЧасовойПоясИнформационнойБазы () , УдалитьОбъекты () и др.).

Установка монопольного режима

Установка и снятие монопольного режима выполняется методом

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

Монопольный режим возможно установить только при одновременном выполнении условий:

  • в режиме предприятия работает только один пользователь (Вы);
  • у пользователя есть право на изменение монопольного режима (в ролях флаг «Монопольный режим» корня дерева метаданных).
  • отсутствуют активные транзакции ( явные или неявные ).

Если какое-то требование не соблюдается, выполнение метода завершится ошибкой вида

Проверить установку монопольного режима можно при помощи метода

Метод возвращает Истина, если монопольный режим установлен.

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

При работе 1С в клиент-серверном варианте с СУБД MS SQL Server установка базы в монопольный режим не переводит базу данных в однопользовательский режим (single user).

Использование монопольного режима в базе с разделителями

Метод УстановитьМонопольныйРежим () устанавливает монопольный режим только в той области, которая определена для текущего сеанса. Таким образом, в одной базе может одновременно существовать несколько областей, для которых установлен монопольный режим. Если в сеансе разделители не используются, то режим будет установлен не на область, а на всю базу.

Остались вопросы?
Спросите в комментариях к статье.

Проконсультироваться
со специалистом 1С

Установленный монопольный режим позволит пользователю быть единственным пользователем базы, пока он установлен. Однако сам монопольный режим можно установить только в том случае, если на момент установки пользователь был единственным!
Установка монопольного режима
Код 1C v 8.х

Как видите, если применение процедуры работы с информационной базой УстановитьМонопольныйРежим() приводит к ошибке, приходится с этим смириться. Хотя если захотите обеспечить выход других пользователей из системы, в настоящем издании есть пример того, как этого добиться: Как принудительно завершить работу всех пользователей информационной базы ?».
Кроме самой установки монопольного режима можно еще, например, убедиться, что в текущий момент работа идет в монопольном режиме:

Проверка монопольного режима
Код 1C v 8.х

Или же снять монопольный режим (Отмена монопольного режима):
Код 1C v 8.х

В 1С 7.7, режим «Монопольно» присутствует только в сетевых версиях 1С. Если же у Вас не сетевая версия, то Вы будете по умолчанию заходить монопольно – Вас об этом даже не спросят.
Для определения режима работы существует специальный метод: МонопольныйРежим(). Возвращаемое значение: Число 1 — если программа запущена в монопольном режиме; Число 0 — если программа запущена в сетевом режиме. Небольшой пример:
Код 1C v 7.x

Установленный монопольный режим позволит пользователю быть единственным пользователем базы, пока он установлен. Однако сам монопольный режим можно установить только в том случае, если на момент установки пользователь был единственным!
Установка монопольного режима
Код 1C v 8.х

Как видите, если применение процедуры работы с информационной базой УстановитьМонопольныйРежим() приводит к ошибке, приходится с этим смириться. Хотя если захотите обеспечить выход других пользователей из системы, в настоящем издании есть пример того, как этого добиться: Как принудительно завершить работу всех пользователей информационной базы ?».
Кроме самой установки монопольного режима можно еще, например, убедиться, что в текущий момент работа идет в монопольном режиме:

Проверка монопольного режима
Код 1C v 8.х

Или же снять монопольный режим (Отмена монопольного режима):
Код 1C v 8.х

В 1С 7.7, режим «Монопольно» присутствует только в сетевых версиях 1С. Если же у Вас не сетевая версия, то Вы будете по умолчанию заходить монопольно – Вас об этом даже не спросят.
Для определения режима работы существует специальный метод: МонопольныйРежим(). Возвращаемое значение: Число 1 — если программа запущена в монопольном режиме; Число 0 — если программа запущена в сетевом режиме. Небольшой пример:
Код 1C v 7.x

Источник

Монопольный режим для 1С v8

Подключение обработки производится без изменения конфигурации стандартным образом:

выбрать в меню Сервис/Внешние печатные формы и обработки/Внешние обработки.

В открывшемся окне «Дополнительные внешниеобработки» нажать кнопку Создать.

В открывшемся окне выбрать файл с внешней обработкой и нажать Записать и закрыть.

После этого данная обработка будет доступна в меню Сервис/Внешние печатные формы и обработки/Внешние обработки .

Либо можно через меню Файл/Открыть выбрать файл обработку.

Чем отличается от http://infostart.ru/public/15935/ ? В клиент-серверном варианте работает?

Код отличается от этого?

Предупреждение(«К базе подключены пользователи.Монопольный режим установить невозможно!», 10);

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

Обязательно укажите это в описании, иначе еще многие пользователи обожгутся на этом!

Проблему исправили только в 8.2.18, а она тянулась как минимум с 8.2.13!

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

(4) makas, при открытых сеансах обработка выдаст ошибку «Ошибка разделенного доступа к файлу»

(3) Антон Ширяев, Тестировал на платформе 8.2.17.153 ошибка была при первом, втором и третьем

А для клиент-серверного варианта какой глубокий смысл в подобных действиях? Чем не устраивает оснастка администрирования серверов?

(7) AlX0id, в смысле. Зачем мне монопольный режим, если я хочу обновить конфу и у меня нет доступа к «оснастке» чтоли?

В файловом варианте проблем нет. А вы попробуйте в клиент-серверном.

10098878 Метод УстановитьМонопольныйРежим

Если в клиент-серверной информационной базе работают несколько пользователей, то второй и последующий вызовы метода УстановитьМонопольныйРежим в одном из клиентов не вызывает исключение, но монопольный режим не устанавливает.

По этой же причине до 8.2.18 была и другая проблема

20013012 Удаление помеченных объектов

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

Да зачем ему такие тонкости, тут же УстановитьМонопольныйРежим — это ж так круто…

нет, ибо используется только УстановитьМонопольныйРежим в попытке.

А чем не устраивает блокировка соединения с базой?

Которая к тому же еще и пользователей из базы выгоняет?

Есть, вроде, во всех типовых конфигурациях.

Ну это если не доступна консоль сервера с такой же галочкой.

(9) в 8.2.18 исправили, и это хорошо.

Честно говоря, жаль, что исправили. Удобно было опративно удалять помеченные. Может это и имело какие-то негативные последствия, но я этого не видел. После обновления платформы сильно удивился — куда «фишка» делась? Только теперь дошло…

Упс! а я как раз только сейчас столкнулся с этим…. запустил удаление помеченных обьектов релиз 8.2.14, в базе есть незакрытые сеансы хоть и не работающие (т.к. ночь сейчас) какие могут быть последствия? скинуть сеансы в консоли кластера что ли?….

Удобно, а то реально просто сказать людям не хватает

Доброго работать будет на 1С 8.3.8.1652

(16) maxmady, Добрый не проверял

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

Источник

Удаление помеченных объектов (немонопольное) для управляемых (UPD: и обычных) форм

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

(5) Дарю. Вставьте этот фрагмент в модуль обработки. Он нужен для регистрации в справочнике дополнительные отчеты и обработки для конфигураций на БСП.

В модуле формы «ОсновнаяФормаУ» чобы влоделца не в попытке получал:

Здравствуйте, при удалении помеченных ошибка:
<ВнешняяОбработка.УдалениеПомеченныхОбъектов.МодульОбъекта(561)>: Ошибка при вызове метода контекста (УдалитьОбъекты)
УдалитьОбъекты(лМассив, Ложь);
по причине:
Нарушение прав доступа!

Управление торговлей, редакция 11.1 (11.1.2.10)
1С:Предприятие 8.2 (8.2.18.109)

(0) В 8.3.5 управляемая форма не работает. При открытии выдаётся окно с сообщением

Ошибка отображения типов:
Отсутствует отображение для типа ‘ОбъектМетаданных’

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘v’:
форма: Элемент
имя: < http://v8.1c.ru/8.2/uobjects >v
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘value’:
форма: Элемент
имя: < http://v8.1c.ru/8.1/data/core >value
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘ОбъектМетаданных’

Где там на форме ОбъектыМетаданных, ума не приложу. Процедура ПриСозданииНаСервере не отрабатывается, видимо ошибка получается при построении формы.

Источник

Зуп ошибка установки монопольного доступа

Ошибка установки монопольного доступа 1С 8.2

Ошибка установки монопольного доступа 1С 8.2 достаточно распространенная проблема. Наши программисты могут приехать к вам в офис и выполнить все необходимые действия или подключиться к компьютеру удаленно.

Возникли ошибки при работе с 1С. Звоните +7 (495) 240-8668!

Что делать возникла ошибка установки монопольного доступа 1С 8.2

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

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

Какова стоимость услуг?

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

У нас можно заказать следующие услуги:

  • установку и настройку программного комплекса 1С;
  • помощь с выбором;
  • ИТ-обслуживание;
  • сопровождение 1С, в том числе удаленное;
  • разработку конфигураций 1С;
  • подготовку отчетов 1С.

Быстро устраним любые неполадки. Звоните +7 (495) 240-8668!

Если вашей компании требуется установка монопольного доступа 1С 8.2 – лучшего варианта, чем наша компания вам не найти. Мы предлагаем выгодные условия сотрудничества, наиболее доступные цены в Москве, большое количество дополнительных преимуществ. Любая ошибка или проблема с 1С будет устранена в максимально короткий срок, наши специалисты приложат максимум усилий, чтобы работать с программой было удобно. У нас вы сможете заказать индивидуальную разработку конфигураций 1С, что позволит вам расширить возможности.

Установка и снятие монопольности в 1С

При работе в сетевых платформах 1С обычно пользователи работают в разделённом режиме. Это означает, что они одновременно (совместно) могут пользоваться программой. Но существуют определённые задачи, для выполнения которых нужно войти в сетевой пакет монопольно. Рассмотрим, как установить или снять монопольный режим в 1С.

Монопольность необходима для выполнения специальных задач.

Представляем монопольный режим

Прежде всего, затевать разговор о вероятности перехода в монопольный режим можно только тогда, когда на PC установлена сетевая платформа. В противном случае (развёрнут локальный вариант) монопольно работать вы будете всегда и по-другому никак.

Что нам нужно в режиме «монопольно» и для чего его запускать?

Переиндексация базы

Некорректное закрытие программы 1С (например, при внезапном отключении питания) требует выполнения переиндексации информационной базы. Это программное требование и без выполнения этой процедуры 1С просто не откроется. Но выполнение переиндексации возможно только монопольно.

Удаление помеченных объектов

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

Для непосредственного удаления предварительно помеченных записей потребуется выход из программы всех пользователей. И тогда кто-то один монопольно сможет осуществить удаление, войдя во вкладку основного меню — «Операции», затем «Удаление помеченных объектов».

После этого проверяются связи этого объекта с другими проведёнными операциями. При обнаружении таковой — удаление не произойдёт. Ведь таким действием будет нарушена логическая цепочка событий, документов, операций.

Открытие периодов

Итоговые данные в 1С учитываются помесячные и поквартально. Это не чья-то прихоть, а соответствие правилам бухгалтерского учёта. При наступлении нового периода — нужно этот период «открыть». Сделать это можно только через запущенный монопольный вход. Для создания нового периода нужно открыть в основном меню на раскрывающейся вкладке «Операции» выбрать «Управление бухгалтерскими итогами»:

Важные моменты монопольной работы

Общее правило использование монопольного входа определяет, что в реальный момент времени находиться в программе имеет право только один пользователь. И если кто-то уже вошёл в неё таким образом, то другому доступ будет закрыт. Если же в ней кто-то уже работает разделённо, то нельзя будет войти монопольно. В обоих случаях системой будет отражено сообщение об «Ошибке блокировки».

Запрет использования режима

Для запрета на монопольность входа конкретному юзеру нужно в настройках его прав (в Конфигураторе) снять галку «Запуск монопольного режима». Тогда при попытке такого входа ему будет послано сообщение «Недостаточно прав»:

Монопольная загрузка базы 7.7

Рассмотрим интересующие нас доступные способы входа.

Указание режима при входе

В самом начале, запуская выбранную информационную базу, нужный режим «Монопольно» выбирается установкой в соответствующем чек-боксе флажка.

Свойства ярлыка

Для запуска 1С в нужном режиме создаётся ярлык, который, минуя запускающее окно, сразу будет загружать нужную базу (используется команда 1cv7.exe enterprise/M).

Конфигуратор

При загрузке ИБ через Конфигуратор загрузка предприятия автоматически происходит в монопольно. Именно о таком входе почему-то редко кто вспоминает, когда ему это требуется.

Монопольность в восьмёрке

В 1С 8 переход в такой режим осуществляется из самой программы. Находясь в восьмёрке, перейти в него можно только будучи в одиночестве. Для того чтобы проверить количество пользователей, нужно в Конфигураторе на вкладке «Администрирование» вызвать команду «Активные пользователи». Тогда будет выдан их список.

Теперь вы знаете как запустить 1С в монопольном режиме. Используя один из способов, вы непременно добьётесь желаемого результата как в семёрке, так и восьмёрке.

Установка монопольного доступа в УПП 8.1

Здравствуйте!
Подскажите пожалуйсто,как произвести установку монопольного доступа в УПП 8.1?

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

Т.е. он включается «по-требованию» системы и так же выключается, просто нужно чтобы кроме вас в базе никого не было.

«Выгонять» из базы можно административно?
Есть возможность отключить всех через конфигуратор? Или надо всех обзвонить с просьбой выйти из системы?

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

«Для файловой версии такой возможности нет (типовой, имеется ввиду). Для варианта с использованием «Сервера 1С Предприятия» это можно сделать через консоль этого самого сервера (зайти в соединения и удалять пользователей). Принудительно установить монопольный режим можно командой «УстановитьМонопольныйРежим(Истина)».

Пример:
Попытка
УстановитьМонопольныйРежим(Истина);
Исключение
Текст = «С информационной базой работают другие пользователи.
|В данный момент невозможно установить монопольный режим!»;
Предупреждение(Текст, 10);
КонецПопытки;»

Читают тему:

Мероприятия

  • Центры Сертифицированного Обучения
  • Интернет курсы обучения «1С»
  • Самоучители
  • Учебный центр № 1
  • Учебный центр № 3
  • Сертификация по «1С:Профессионал»
  • Организация обучения под заказ
  • Книги по 1С:Предприятию

1С бесплатно 1С-Отчетность 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление нашей фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПредприятие 8

  • WWW.1С.ru
  • 1С:Предприятие 8
  • 1С Отраслевые решения
  • Образовательные программы
  • 1С:Линк
  • 1С:Консалтинг
  • 1С:Дистрибьюция
  • 1С для торговли
  • 1С-Онлайн
  • 1С Интерес
  • 1С:Образование

При использовании материалов активная прямая гиперссылка на перепечатанный материал обязательна.

Редакция БУХ.1С не несет ответственности за мнения и информацию, опубликованную в комментариях к материалам.

Редакция уважает мнение авторов, но не всегда разделяет его.

На указанный в форме e-mail придет запрос на подтверждение регистрации.

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

Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download

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

ЗЫ. Для круглых медалистов и отличноков в обработку включен хелп.

Версия 1.2: для клиент-верверного варианта работы добавлена возможность выгонять пользователей из базы. Для этого предусмотрен механимз авторизации на кластере серверов и контекстное меню списка активных пользователей. Подробнее — в хелпе.

Скачать файлы

Специальные предложения

Новый вопрос

Добавлена новая версия, с возможностью выгонять пользователей для клиент-серверного варианта работы. Для файлого варианта изменения не должны быть даже заметны. О способе использования — см. хелп.

Если обнаружите ошибки или будут замечания по производительности — пишите!

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

quest, сам понимаешь — вообще-то не за что и плюсовать. Фуфло ведь. Хотя, это одна из моих первых попыток работы с COM.

Дык всех выгнать надо, чтобы монопольный режим установить 🙂 Там справка встроенная по F1 — там все написано.

(18) Если версия — серверная, то рубите процессы. Или консолью сервера, или этой обработкой. В справке подробно написано, как это сделать.

Если версия локальная — бог вам в помощь 🙂

См. также

Права пользователя исключительно на просмотр (чтение) для УТ 11.4

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

21.11.2019 3914 Aleksandr55555 4

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

Типичные ошибки при разработке прав доступа

Рассмотрим самые распространенные ошибки в разработке прав доступа.

02.10.2019 14640 YPermitin 57

Проверка наличия роли у пользователя

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

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно — для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

Назад в прошлое! Небольшие заметки по администрированию пользователей в УПП

Небольшие заметки по функционалу «Администрирование пользователей» конфигурации «Управление производственным предприятием» версии 1.3. Затрагиваются такие темы как: роли, профили доступа, дополнительные права, настройки пользователей и ограничения доступа на уровне записей (RLS).

06.06.2019 11015 YPermitin 18

Подсистема БСП «Управление доступом», основные объекты и регистры

Основные принципы работы подсистемы «Управление доступом» из состава БСП. Виды доступа, ограничение доступа на уровне записей. Описание основных объектов и регистров, используемых подсистемой.

Базовый курс для начинающих 1С-программистов. Онлайн-интенсив со 2 июня по 2 июля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

Влияние настройки роли на потребление памяти

На днях разбирался с проблемой с потреблением памяти процессами конфигуратора и rphost. Как оказалось — причина в настройках ролей. Один поворот не туда, и настройки роли приводят к чрезмерному потреблению оперативки.

29.01.2019 11975 mickey.1cx 14

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Использование утилиты ring для выяснения данных о программных лицензиях

Использование утилиты ring для управления программными лицензиями без ее установки на компьютер пользователя.

Сервер администрирования кластера серверов 1C:Предприятия и deployka

В данной статье познакомимся с сервером администрирования кластера серверов 1С:Предприятия, а конкретно с утилитами rac.exe и ras.exe, а также программой deployka, с помощью которых становится возможным администрирование кластера серверов 1С:Предприятие из командной строки.

04.04.2018 51518 Tavalik 35

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Решение проблемы автоматического утверждения расчета кадровиком документов. Разграничение прав кадровиков и расчетчиков. ЗУП 3.1

Статья посвящена тем, кто столкнулся с проблемой автоматической установки «Расчет утвердил». Также рассматривается решение проблемы с отображением ФОТ и оклада у кадровика. Добавление роли ЧтениеДанныхДляНачисленияЗарплатыРасширенная кадровику без последствий для расчетчика.

04.04.2018 20301 leaderonex 23

Проверка безопасности установленных паролей

Код выводит не установленные пароли, а так же очень простые (1, 123) пароли пользователей. Список можно пополнять.

Новый раздел на Инфостарте — Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Информирование об утечке базы 1С

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

03.03.2018 12804 dima_home 80

Отключаем предупреждения безопасности в 1С 8.3.9 и выше вручную

Как включить/выключить механизм защиты от опасных действий реализованный в новой версии платформы 1С:Предприятие 8.3.9. Одним из нововведений новой версии платформы 1С:Предприятие 8.3.9 стал механизм от опасных действий. После установки новой версии платформы 1С (начиная версии 8.3.9.2033) при попытке открыть внешнюю обработку или расширение программа выдает сообщение..

01.11.2017 36887 webresurs 10

Онлайн-интенсив «1C:Предприятие для программистов: Бухгалтерские задачи» с 22 июня по 8 июля 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для решения задач бухгалтерского учета. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Бухгалтерия” и прочих прикладных решений, в которых реализованы соответствующие механизмы для автоматизации бухгалтерских задач.

Управление доступом: роли, права, профили, группы доступа, функциональные опции, RLS

В 1С достаточно много механизмов, отвечающих за доступ к данным. Группы доступа, профили групп доступа, роли, права доступа, функциональные опции, RLS. Иногда сложно сразу понять, зачем все это нужно, как эти элементы друг с другом связаны и как ими пользоваться.

Многофакторная авторизация. Шаблон проектирования для «1С:Предприятие 8». На примере API «Приватбанка» для юр. лиц

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

11.09.2017 11993 pbazeliuk 6

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) — автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Источник

Понравилась статья? Поделить с друзьями:
  • Ошибка при вызове метода контекста установить соединение
  • Ошибка при вызове метода контекста установить объект
  • Ошибка при вызове метода контекста установить монопольный режим
  • Ошибка при вызове метода контекста установить документ
  • Ошибка при вызове метода контекста установить границу