|
Ошибка при вызове метода контекста (Заблокировать)... | ☑ | ||
---|---|---|---|---|
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
|
тема закрыта, всем спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |