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

Ошибка при вызове метода контекста (Заблокировать)… ☑ 0

krekotnev

21.01.13

18:42

Коллеги, приветствую!

Вот такая ситуация. Используем 1С БУ 8. В соответствии со спецификой учета на предприятии применяем три операции:

1) поступление ТМЦ,

2) перемещение ТМЦ,

3) передача ТМЦ на объект строительства через треб.-накл.

Сегодня нашел ошибку в одной из операций перемещения. Отменил ее проведение. Поменял счета учета на правильные (003.01 — 003.01), но снова провести документ не смог — система выдала ошибку: «Ошибка при вызове метода контекста (Заблокировать): Значение субконто, заданное с помощью ссылки на ПВХ, должно быть ссылочного типа, пространство блокировки = РегистрБухгалтерии.Хозрасчетный».

Подскажите, в каком направлении копать?

Спасибо!

1

krekotnev

21.01.13

18:43

Используем 1С Бухгалтерия 8.3

2

krekotnev

21.01.13

18:47

Был на Гэлэкси, там есть похожее обсуждение

http://www.1c-galaxy.ru/forum4/topic602010/

Но не могу понять ((

3

krekotnev

23.01.13

12:11

Народ, когда возникает ошибка, то в подробностях идет ссылка на конкретную процедуру УстановитьУправляемуюБлокировку в модуле ОбщегоНазначения:

Процедура УстановитьУправляемуюБлокировку(СтруктураПараметров, КоллекцияЗначенийБлокировки = Неопределено, КоллекцияОписанияИсточника = Неопределено, Отказ = Ложь, Заголовок = «») Экспорт

   
   Если НЕ ТипЗнч(СтруктураПараметров) = Тип(«Структура») Тогда

       Возврат;

   КонецЕсли;

   
   ИспользоватьЗначенияБлокировки = КоллекцияЗначенийБлокировки <> Неопределено

       И (ТипЗнч(КоллекцияЗначенийБлокировки) = Тип(«Структура»)

           ИЛИ ТипЗнч(КоллекцияЗначенийБлокировки) = Тип(«Соответствие»))

       И КоллекцияЗначенийБлокировки.Количество() > 0;

       
   ИспользоватьИсточникДанных     = КоллекцияОписанияИсточника <> Неопределено

       И (ТипЗнч(КоллекцияОписанияИсточника) = Тип(«Структура»)

           ИЛИ ТипЗнч(КоллекцияОписанияИсточника) = Тип(«Соответствие»))

       И КоллекцияОписанияИсточника.Количество() > 0

       И СтруктураПараметров.Свойство(«ИсточникДанных»);

   
   Если НЕ ИспользоватьЗначенияБлокировки И НЕ ИспользоватьИсточникДанных Тогда

       Возврат;

   КонецЕсли;

   
   Блокировка = Новый БлокировкаДанных;

   
   ТипТаблицы = ?(СтруктураПараметров.Свойство(«ТипТаблицы»), СтруктураПараметров.ТипТаблицы, «РегистрНакопления»);

   ИмяТаблицы = СтруктураПараметров.ИмяТаблицы;

   ПространствоБлокировки = ТипТаблицы  + «.» + ИмяТаблицы;

   ЭлементБлокировки = Блокировка.Добавить(ПространствоБлокировки);

   
   РежимБлокировки = ?(СтруктураПараметров.Свойство(«РежимБлокировки»), СтруктураПараметров.РежимБлокировки, РежимБлокировкиДанных.Исключительный);

   ЭлементБлокировки.Режим = РежимБлокировки;

   
   Если ИспользоватьЗначенияБлокировки Тогда

       
       Для каждого ЭлементКоллекции Из КоллекцияЗначенийБлокировки Цикл

           
           ЭлементБлокировки.УстановитьЗначение(ЭлементКоллекции.Ключ, ЭлементКоллекции.Значение);

           
       КонецЦикла;

   
   КонецЕсли;

   
   Если ИспользоватьИсточникДанных Тогда

       
       ИсточникДанных = СтруктураПараметров.ИсточникДанных;

       
       Если ТипЗнч(ИсточникДанных) = Тип(«МенеджерВременныхТаблиц») Тогда

       
           Запрос = Новый Запрос;

           Запрос.МенеджерВременныхТаблиц = ИсточникДанных;

           ТекстЗапроса = «»;

           Для каждого ЭлементКоллекции Из КоллекцияОписанияИсточника Цикл

               ТекстЗапроса = ТекстЗапроса + «,

               |    Таб.» + ЭлементКоллекции.Значение;

           КонецЦикла;

           ТекстЗапроса = Сред(ТекстЗапроса, 2);

           ТекстЗапроса =            

           «ВЫБРАТЬ РАЗЛИЧНЫЕ»

           + ТекстЗапроса + »

           |ИЗ

           |    » + СтруктураПараметров.ИмяВременнойТаблицы + » КАК Таб»;

           Запрос.Текст = ТекстЗапроса;

           Результат    = Запрос.Выполнить();

           
           ЭлементБлокировки.ИсточникДанных = Результат;

           
       Иначе

           
           ЭлементБлокировки.ИсточникДанных = ИсточникДанных;

           
       КонецЕсли;

   
       Для каждого ЭлементКоллекции Из КоллекцияОписанияИсточника Цикл

           
           ЭлементБлокировки.ИспользоватьИзИсточникаДанных(ЭлементКоллекции.Ключ, ЭлементКоллекции.Значение);

           
       КонецЦикла;

   
   КонецЕсли;

   
   Попытка

   
       Блокировка.Заблокировать();

   
   Исключение

       
       ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(), Отказ, Заголовок);

       ВызватьИсключение «Операция не выполнена»;

       
   КонецПопытки;

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

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

4

krekotnev

23.01.13

13:24

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

Попытка

   
       Блокировка.Заблокировать();

   
   Исключение

       
       ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(), Отказ, Заголовок);

       ВызватьИсключение «Операция не выполнена»;

       
   КонецПопытки;

После этого получается выполнить перепроведение документов по операции «Перемещение товаров». Остается открытым вопрос: а на что повлияет комментирование указанных строк?..

Может, обсудим?

5

krekotnev

25.01.13

18:03

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

6

krekotnev

25.01.13

18:03

тема закрыта, всем спасибо!

Stasya
28.08.2013 07:55 Прочитано: 6572

При проведении документа в серверной версии бухгалтерии 1с 8.2 (обычное приложение) вылетает ошибка:
Ошибка при вызове метода контекста (Заблокировать): У счета отсутствует субконто, заданное ссылкой на характеристику.
При проведении только одного документа»Возврат поставщику», остальные документы проводятся нормально. Сделала копию базы, обновила. В копии ошибка исчезла, при обновлении рабочей базы — ошибка осталась.
Что делать??? Откуда у такой ошибки «ноги растут»?


Изменено 28.08.13 07:55:49

Yandex
Возможно, вас также заинтересует

Реклама на портале

Jonsony
28.08.2013 09:00 Ответ № 1

релиз платформы?
релиз конфы?

без этого ноги не просто искать

Stasya
28.08.2013 13:53 Ответ № 2

ой, извитие. Платформа: 8.2.17.157, релиз БП 2.0.44.5

Stasya
28.08.2013 14:04 Ответ № 3

отбой, слетел режим совместимости с 8.2.13. Установила, все заработало.

Stasya
28.08.2013 14:04 Ответ № 4

Вопрос закрыт!

Подсказка: Вы можете приложить к ответу файл или изображение щелкнув по значку или в редакторе.
 

Павел Крохин

Заглянувший

Сообщений: 27
Авторитет:

0

Регистрация: 27.12.2011

При проведении документа Комплектация выходит ошибка след. содержания:

{ОбщийМодуль.ОбработкаСобытийДокументаСервер.Модуль(1402)}: Ошибка при вызове метода контекста (Заблокировать): Не найдено поле источника данных: Номенклатура

В процедуре ПолучитьРезультатЗапросаПоТоварам ошибка, номенклатура с маленькой буквы  :!:

 

Тамара Герасимчук

Заглянувший

Сообщений: 168
Авторитет:

0

Регистрация: 05.02.2020

#2



0


18.02.2022 09:04:09

Цитата
написал:
При проведении документа Комплектация выходит ошибка след. содержания:

{ОбщийМодуль.ОбработкаСобытийДокументаСервер.Модуль(1402)}: Ошибка при вызове метода контекста (Заблокировать): Не найдено поле источника данных: Номенклатура

В процедуре ПолучитьРезультатЗапросаПоТоварам ошибка, номенклатура с маленькой буквы    

Добрый день! Можете предоставить скриншот документа Комплектация, который не проводится и скриншот самой номенклатуры с видом Комплект?

 

Павел Крохин

Заглянувший

Сообщений: 27
Авторитет:

0

Регистрация: 27.12.2011

#3



0


18.02.2022 09:41:57

Цитата
написал:

Цитата
написал:
При проведении документа Комплектация выходит ошибка след. содержания:

{ОбщийМодуль.ОбработкаСобытийДокументаСервер.Модуль(1402)}: Ошибка при вызове метода контекста (Заблокировать): Не найдено поле источника данных: Номенклатура

В процедуре ПолучитьРезультатЗапросаПоТоварам ошибка, номенклатура с маленькой буквы    

Добрый день! Можете предоставить скриншот документа Комплектация, который не проводится и скриншот самой номенклатуры с видом Комплект?

Исправьте это в модуле, и не надо будет ни каких скриншотов документа и номенклатуры(комплект)
База файловая, можете попробовать провести документ Комплектация в демо базе, тем самым воспроизвести ошибку

 

Ещё один вопрос: уточните, пожалуйста, релиз платформы 1С. Есть проблема  на платформе 8.3.20.*

Изменено: Тамара Герасимчук18.02.2022 09:57:10

 

Павел Крохин

Заглянувший

Сообщений: 27
Авторитет:

0

Регистрация: 27.12.2011

#5



0


18.02.2022 10:14:02

Цитата
написал:
Ещё один вопрос: уточните, пожалуйста, релиз платформы 1С. Есть проблема  на платформе 8.3.20.*

1С:Предприятие 8.3 (8.3.20.1613)

 

Тамара Герасимчук

Заглянувший

Сообщений: 168
Авторитет:

0

Регистрация: 05.02.2020

#6



0


18.02.2022 10:31:14

Цитата
написал:

Цитата
написал:
Ещё один вопрос: уточните, пожалуйста, релиз платформы 1С. Есть проблема  на платформе 8.3.20.*

1С:Предприятие 8.3 (8.3.20.1613)

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

 

Артём

Заглянувший

Сообщений: 971
Авторитет:

5

Регистрация: 07.06.2012

Здравствуйте. В Альфе 5 такая же проблема. Помогите, пожалуйста.
Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ, редакция 5.1 (5.1.28.05)
1С:Предприятие 8.3 (8.3.22.1750)

 

Артём, добрый день, у вас слишком высокая платформа 1С для данного релиза Альфа-Авто.

 

Артём

Заглянувший

Сообщений: 971
Авторитет:

5

Регистрация: 07.06.2012

#9



0


01.06.2023 17:57:59

Цитата
написал:
/forum/user/8757/ Артём, добрый день, у вас слишком высокая платформа 1С для данного релиза Альфа-Авто.

Какая нужна?

 

Светлана Сулименко

Посетитель

Сообщений: 9055
Авторитет:

265

Регистрация: 16.10.2012

#10



0


02.06.2023 08:52:13

Артём, платформа нужна 8,3,16.

Версия Платформы: 1С:Предприятие 8.3 (8.3.10.2299); версия 1С: документооборота: Документооборот 8 КОРП, редакция 2.1 (2.1.12.2).
Зависли бизнес-процессы. В журнале регистрации появляется ошибка выполнения заданий. Кто-нибудь сталкивался? Код ошибки:

{ОбщийМодуль.РаботаСЭП.Модуль(1031)}: Ошибка при вызове метода контекста (ЗаблокироватьДанныеДляРедактирования)
				ЗаблокироватьДанныеДляРедактирования(ПодписанныйОбъект,, ИдентификаторФормы);
по причине:
Ошибка блокировки объекта. Объект уже заблокирован:


{РегистрСведений.ЗадачиДляВыполнения.МодульМенеджера(212)}: Ошибка при вызове метода контекста (Заблокировать)
по причине:

по причине:
В данной транзакции уже происходили ошибки!


  • Вопрос задан

  • 1375 просмотров

Да, я помню такой кусочек кода — в ДО очень любят перед манипуляциями делать проверку с помощью ЗаблокироватьДанныеДляРедактирования(). А еще я помню, что там куча фоновых висит, включая бесконечный пересчет прав. И еще пользователи могли работать с браузера или мобильного клиента и их сессия зависла… Короче нужно сервер рестартануть.

Если есть такая возможность, то рекомендую хотя бы раз в неделю регламентно в выходной перегружать службу 1С.

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

UPD. Если вы подключены к системе взаимодействия, то можете сами снять блокировку без необходимости перегружать сервер. Из задачи, которую не можете выполнить заходите в предмет (как я понимаю, речь о внутреннем документе) и попытайтесь его отредактировать. Вам будет предложено снять блокировку. Подробнее тут:
https://wonderland.v8.1c.ru/blog/vzaimodeystvie-pr…

Пригласить эксперта

Такое возникает, если есть сеанс в котором этот объект заблокирован для редактирования. Либо программно (например параллельное фоновое задание), либо интерактивно — открыт клиент 1ски и в нем открыт этот объект и начато его изменение. Проще всего сначала срубить все сеансы, а потом проверить ещё раз. Вообще в тексте ошибки должен писать, что за пользователь у того сеанса, который установил блокировку, и так можно найти, откуда она взялась.


  • Показать ещё
    Загружается…

21 сент. 2023, в 07:57

20000 руб./за проект

21 сент. 2023, в 06:22

4000 руб./за проект

21 сент. 2023, в 04:48

2000 руб./за проект

Минуточку внимания

Тема: Блокировки Данных 1с по билетам  (Прочитано 5998 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Пытаю воспроизвести нечего не выходит

Блокировка = Новый БлокировкаДанных;
    ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
    ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
    ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
    ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
    Блокировка.Заблокировать();

Скрыть

Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{Документ.РасходнаяНакладная.МодульОбъекта(18)}: Ошибка при вызове метода контекста (Заблокировать)
Блокировка.Заблокировать();
по причине:
Использование блокировки допустимо только внутри транзакции в режиме управляемых блокировок!


Записан


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


Записан




Записан



Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • 1с ошибка при вызове метода контекста добавить
  • 1с ошибка при вызове конструктора чтениеzipфайла
  • 1с ошибка при вызове метода контекста выполнить запрос
  • 1с ошибка при вызове метода контекста выбрать
  • 1с ошибка преобразования данных xml sfile

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

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: