Имя: Пароль:
1C
1С v8
Ошибка при вызове метода контекста (Заблокировать): Неверные значения типов поле
0 Aleksey
 
17.02.12
09:45
Ошибка при вызове метода контекста (Заблокировать): Неверные значения типов полей : РегистрНакопления.ИПМПЗОтгруженные.ДокументОтгрузки - Списание с расчетного счета

Интересно они когда нибудь эту ошибку поправят?

v8: Ошибка в БП 2.0 (документ корректировка долга)
v8: ошибка при проведении документа Поступление на расчетный счет
v8: Неверный тип устанавливаемого значения для поля блокировки 8.2


Ошибки уже больше года, а воз и ныне там
1 Maxus43
 
17.02.12
09:47
если писать на мисту - то нет, пиши в 1с :)
2 Aleksey
 
17.02.12
09:53
(1) И что это даст? Неужели нужно 1001 письмо чтобы исправить? Или за год никто не написал и я буду первым?

А насчет мисты ты зря так думаешь, там мониторят и правят ошибки, плюс на мисте есть много людей которые поближе к 1С чем я, и поэтому вероятность исправление будет выше, чем от моего одинокого письма
3 Maxus43
 
17.02.12
09:58
(2) ты сам привёл темы на мисте, целых 3, а их наверно и больше было. результата то нет) Да исправят когданибудь... пути 1с неисповедимы
4 Aleksey
 
17.02.12
10:04
(3) Ну так может кто поближе, знают то, что я не знаю. Например что в 33 релизе это исправят
5 Aleksey
 
17.02.12
10:04
или как обойти эту ошибку
6 Maxus43
 
17.02.12
10:04
собсно таки надо личку на мисте.
написал бы сюда Нуралиев
7 Maxus43
 
17.02.12
10:07
(5) дык исправь, иль на автоматический режим регистр переведи.
8 Aleksey
 
17.02.12
10:08
(7) Да чтоб я знал как, не спрашивал бы
9 Maxus43
 
17.02.12
10:10
нет БП под рукой, судя по ошибке - неправильно параметры задаёт, в СП описано что должно быть (типы) и т.д., это проверь сначала в отладчике, что в параметры лезет
10 Aleksey
 
17.02.12
10:18
(9) Он просто зачем то пытается наложить блокировку на ИПМПЗОтгруженные, при этом в измерении регистра ДокументОтгрузки, не включен документ (списание с расчетного счета), который передается ему в качестве параметра (берется из ТЧ документа корректировка долга)
11 Aleksey
 
17.02.12
10:19
В принципе, чтобы не заморачиватся можно прописать

Если СтруктураПараметров.ИмяТаблицы="ИПМПЗОтгруженные" тогда Возврат; КонецЕсли;

Или добавить в измерения Списание со счета
12 Aleksey
 
17.02.12
10:19
Процедура УстановитьУправляемуюБлокировку(СтруктураПараметров, КоллекцияЗначенийБлокировки = Неопределено, КоллекцияОписанияИсточника = Неопределено, Отказ = Ложь, Заголовок = "") Экспорт
   
   Если НЕ ТипЗнч(СтруктураПараметров) = Тип("Структура") Тогда
       Возврат;
   КонецЕсли;
   
   ИспользоватьЗначенияБлокировки = КоллекцияЗначенийБлокировки <> Неопределено
       И (ТипЗнч(КоллекцияЗначенийБлокировки) = Тип("Структура")
           ИЛИ ТипЗнч(КоллекцияЗначенийБлокировки) = Тип("Соответствие"))
       И КоллекцияЗначенийБлокировки.Количество() > 0;
       
   ИспользоватьИсточникДанных     = КоллекцияОписанияИсточника <> Неопределено
       И (ТипЗнч(КоллекцияОписанияИсточника) = Тип("Структура")
           ИЛИ ТипЗнч(КоллекцияОписанияИсточника) = Тип("Соответствие"))
       И КоллекцияОписанияИсточника.Количество() > 0
       И СтруктураПараметров.Свойство("ИсточникДанных");
   
   Если НЕ ИспользоватьЗначенияБлокировки И НЕ ИспользоватьИсточникДанных Тогда
       Возврат;
   КонецЕсли;
   
   Блокировка = Новый БлокировкаДанных;
   
   ТипТаблицы = ?(СтруктураПараметров.Свойство("ТипТаблицы"), СтруктураПараметров.ТипТаблицы, "РегистрНакопления");
   ИмяТаблицы = СтруктураПараметров.ИмяТаблицы;
   ПространствоБлокировки = ТипТаблицы  + "." + ИмяТаблицы;
   ЭлементБлокировки = Блокировка.Добавить(ПространствоБлокировки);
   
   РежимБлокировки = ?(СтруктураПараметров.Свойство("РежимБлокировки"), СтруктураПараметров.РежимБлокировки, РежимБлокировкиДанных.Исключительный);
   ЭлементБлокировки.Режим = РежимБлокировки;
   
   Если ИспользоватьЗначенияБлокировки Тогда
       
       Для каждого ЭлементКоллекции Из КоллекцияЗначенийБлокировки Цикл
           
           ЭлементБлокировки.УстановитьЗначение(ЭлементКоллекции.Ключ, ЭлементКоллекции.Значение);
           
       КонецЦикла;
   
   КонецЕсли;
   
   Если ИспользоватьИсточникДанных Тогда
       
       ИсточникДанных = СтруктураПараметров.ИсточникДанных;
       
       Если ТипЗнч(ИсточникДанных) = Тип("МенеджерВременныхТаблиц") Тогда
       
           Запрос = Новый Запрос;
           Запрос.МенеджерВременныхТаблиц = ИсточникДанных;
           ТекстЗапроса = "";
           Для каждого ЭлементКоллекции Из КоллекцияОписанияИсточника Цикл
               ТекстЗапроса = ТекстЗапроса + ",
               |    Таб." + ЭлементКоллекции.Значение;
           КонецЦикла;
           ТекстЗапроса = Сред(ТекстЗапроса, 2);
           ТекстЗапроса =            
           "ВЫБРАТЬ РАЗЛИЧНЫЕ"
           + ТекстЗапроса + "
           |ИЗ
           |    " + СтруктураПараметров.ИмяВременнойТаблицы + " КАК Таб";
           Запрос.Текст = ТекстЗапроса;
           Результат    = Запрос.Выполнить();
           
           ЭлементБлокировки.ИсточникДанных = Результат;
           
       Иначе
           
           ЭлементБлокировки.ИсточникДанных = ИсточникДанных;
           
       КонецЕсли;
   
       Для каждого ЭлементКоллекции Из КоллекцияОписанияИсточника Цикл
           
           ЭлементБлокировки.ИспользоватьИзИсточникаДанных(ЭлементКоллекции.Ключ, ЭлементКоллекции.Значение);
           
       КонецЦикла;
   
   КонецЕсли;
   
   Попытка
   
       Блокировка.Заблокировать();
   
   Исключение
       
       ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(), Отказ, Заголовок);
       ВызватьИсключение "Операция не выполнена";
       
   КонецПопытки;

КонецПроцедуры
13 Maxus43
 
17.02.12
10:21
движения регистра будут корректные в итоге? тогда да, заглушку ставь
14 Aleksey
 
17.02.12
10:22
(13) Ну эта же блокировка, т.е. на движение не влияет, а только на параллельную работу
15 Maxus43
 
17.02.12
10:28
исправь да проверь
16 Aleksey
 
17.02.12
10:30
(15) Вечером, сейчас люди работают, а дома в файловой версии эта ошибка не воспроизводится
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший