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

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

  • автор:

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

Собственно, выпадает на ошибке:

: Ошибка при вызове метода контекста (Записать)
Спр.Записать();
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.2.19.106): Не удалось записать: «Номенклатура»!

Есть предположения, как отловить причину паники 1цэ?
Попытка и описаниеОшибки аналогичны.

остановка по ошибке
Посмотреть ЖР не предлагать?
Конфа? Отладка?

(1) : Ошибка при вызове метода контекста (Записать): Произошла исключительная ситуация (1C:Enterprise 8.2.19.106): Не удалось записать: «Номенклатура»!

(2) Спасибо, по этой ошибке там пусто.

(3) Конфа отраслёвая типовая, но дело не в ней, а в новой сигнатуре ошибки.

(3) т.к. это внешняя обработка

1) Вставить перед записью Спр.ОбменДанными.Загрузка = Истина;
2) Открыть записанный объект.
3) Записать в форме -> Посмотреть на что ругается.
Кастую пророка на незаполненную единицу измерения

(5) «т.к. это внешняя обработка» добавь в код обработку исключительной ситуации и посмотри на ошибку

через попытку-исключение так же выводится описание ошибки.
ОбменДанными.Загрузка не помогает, это не косяк конфигурации, а платформа валится.

(6) п.3 сейчас опробую

(8) не, это косяк в конфигурации. Открывай все процедуры ПередЗаписью и ПриЗаписи, сколько их там? Штук 40. И во всех всобачь точки останова.

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

Какой реквизит-то: единица измерения?

(11) да. При этом всё было сделано правильно — сначала номенклатура.обменданными.загрузка = истина, затем запись, затем создавалась ед.изм и повторно записывалась номенклатура.
Собака зарылась при записи ед.изм, в попытке она не записалась, а платформа при записи номенклатуры не захотела вещать, что же ей не понравилось

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

«Здравствуйте!
Необходимо в ПФР сделать корректировку за 1 квартал 2013 г. При записи документа происходит следующая ошибка:

: Ошибка при вызове метода контекста (Записать)
ЭлементСоответствия.Значение.Записать(?(ЭлементСоответствия.Значение.Проведен,РежимЗаписиДокумента.Проведение, РежимЗаписиДокумента.Запись));
по причине:
Не удалось провести «Опись сведений АДВ-6-2 (до 2010 года — Ведомость уплаты АДВ-11) 00000000002 от 27.02.2014 0:00:00»!

У пользователя полные права. Подскажите, пожалуйста, что лучше сделать?»

Ошибка при вызове метода контекста (Прочитать)

Ошибка при выполнении файловой операции при чтении xls файла методом прочитать объекта ТабличныйДокумент.

Скрин сообщения

oshibka-pri-vypolnenii-fajlovoj-operatsii

Данный объект 1C умеет не только записывать в Excel, но возможна и обратная операция с ограничениями, свойственными табличному документу.

  • В чем плюсы такой методики чтения
  • Причина ошибки
  • Решение:

В чем плюсы такой методики чтения

  • Всё производится встроенными средствами;
  • достаточно быстро;
  • код в 2 строки
  • данные не требуется преобразовывать, обычно всё считывается достаточно корректно, их можно проверить средствами 1С.
  • возможно считывать значения ячеек как текст (без авто-преобразования),
  • доступно на сервере, где excel вообще нельзя установить (linux, OSx).

Причина ошибки

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

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

COM-Объекта Excel.Application в данном ситуации просто открывает еще один экземпляр, а также в нём можно скрыть отображение сообшения о режиме «чтения».

Другой причиной может быть: отсутствие прав на чтение этого файла

Решение:

Закрыть открытую в Excel (или другой программе) книгу, проверить права на файл (возможность открытия в его в Excel, косвенный признак его наличия)

Люди будут рекламировать свои товары всегда — и в хорошие времена и в плохие. В хорошие времена они хотят рекламировать; в тяжелые времена они должны рекламировать.

— Брюс Бартон, рекламный агент

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

Загрузка. Пожалуйста, подождите.

X

Сообщение сайта

(Сообщение закроется через 2 секунды)

gololol —> gololol

Просмотр профиля

Найти сообщения пользователя

18.11.20, 11:23

1С:Предприятие 8.3 (8.3.10.2667)
Толстый Клиент
Обычное приложение

Доброго времени суток.

Есть таблица: ДокументСостояние

В этой таблице одна запись (один документ)

В этом документе есть поля:

Состояние = «1»
ВерсияДанных = «AAAAAABc4OoM»

Есть РегламентноеЗадание: РЗ_ИзменитьСостояние (запускается один раз в период времени)
Это реглмантное задание изменяет значение поля «Состояние»

РЗ_ИзменитьСостояние — запустилось и изменило значение полей

Состояние = «2»
ВерсияДанных = «AAAAAABc4OoP»

Далее пользователь делает двойной клик на записи
и происходит переход из ФормыСписка в ФормуДокумента

В ФормеДокумента выполняется

Процедура ПриОткрытии()

.

Если Не Ссылка.Пустая() Тогда
ЭтотОбъект.Заблокировать();
КонецЕсли;


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

Проблема в том, что блокируется запись у которой

а на самом деле

т.е. программа пытается заблокировать запись с несуществующей ВерсиейДанных

ош: Ошибка при вызове метода контекста (Заблокировать)
ЭтотОбъект.Заблокировать();
по причине:
Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных
(возможно, запись была изменена или удалена)!

Вопрс: «Как можно решить эту проблему?»

volodya1122 —> volodya1122

Просмотр профиля

Найти сообщения пользователя

18.11.20, 14:38

gololol @ Сегодня, 11:23 ,

такого не должно быть. тут скорее всего что-то «держит» этот документ.
Что проверить:
1. Маловероятно но все же в ПриОткрытии() или в ПередОткрытием() не меняются никакие реквизиты документа?
2. Ваше регламентное задание выполняется не единожды, а крутится по кругу. И поэтому постоянно блокирует документ.
3. В регламентном задании в конце очистить объект документа где вы его меняете ((тот что ПолучитьОбъект()).
4. Возможно где-то в другом месте этот документ блкируете и держите постоянно его в каком то реквизите.

Цитата(gololol @ 18.11.20, 11:23)

Проблема в том, что блокируется запись у которой

а на самом деле

т.е. программа пытается заблокировать запись с несуществующей ВерсиейДанных

Тут неверно понимаете поведение платформы 1С. 1С пытается заблокировать не реквизиты в вашем документе а сам документ (и неважно что внутри документа поменялись данные)
Поясню на примере. Например у Вас есть обычная паперовая папка с документами. Лежит у Вас на столе. Вы на ней написали (внутри лежит 10 документов. Другой человек взял эту папку и открыл (заблокировал, в терминологии 1С). Положил туда еще какие-то дукументы, закрыл и положил на место (папка опять доступна). Хотя содержимое внутри уже не соответствует описанию , вы всеравно можете взять эту папку и открыть (заблокировать уже от себя) и при открытии папки можете видеть новое содержимое..
А теперь представте. Другой человек взял эту папку, открыл (ПолучитьОбъект() — в терминологии 1С) положил в нее свои документы (или ничего не положил) и держит в руках. В таком случае Вы не можете взять и заблокировать свою папку. Это вам и сообщает 1С

gololol —> gololol

Просмотр профиля

Найти сообщения пользователя

18.11.20, 15:03

gololol @ Сегодня, 11:23 ,

Я запускал (вручную) Регламентное Задание находясь в ФормеСписка документа.
А надо было вызвать не Регламентное Задание, а метод этого Регламентного Задания.

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

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