Имя: Пароль:
1C
1С v8
Ошибка использования Менеджера блокировок
,
0 djekting
 
31.07.13
13:45
Упп
документ ВводПостоянногоНачисленияИлиУдержанияСотрудникамОрганизации. Немогу понять что блочит, в базе только я один.

{ОбщийМодуль.ПолныеПрава.Модуль(1394)}: Ошибка при вызове метода контекста (Записать)
    Набор.Записать(Замещать);
по причине:
Ошибка использования Менеджера блокировок
Автоматический режим блокировки недопустим в этой транзакции.
1 Maxus43
 
31.07.13
13:47
>>Автоматический режим блокировки недопустим в этой транзакции.

что непонятно?
код установки блокировки в студию
2 Широкий
 
31.07.13
13:48
А режим блокировки у документа наверно автоматический
3 djekting
 
31.07.13
13:52
Процедура РегистрацияОбъектовДоступаДокумента(ДокументСсылка, ОбъектыДоступа, Замещать = Истина) Экспорт
    
    ОбъектыДоступа.Свернуть("ОбъектДоступа, ВидОбъектаДоступа");
    ОбъектыДоступа.Колонки.Добавить("ДокументСсылка");
    ОбъектыДоступа.ЗаполнитьЗначения(ДокументСсылка, "ДокументСсылка");
        
    Набор = РегистрыСведений.ОбъектыДоступаДокументов.СоздатьНаборЗаписей();
    Набор.Отбор.ДокументСсылка.Установить(ДокументСсылка);
    Набор.Загрузить(ОбъектыДоступа);
    Набор.Записать(Замещать);

КонецПроцедуры
4 djekting
 
31.07.13
13:53
режим управляемый
типовая упп
5 Широкий
 
31.07.13
13:57
А у регистра сведений в модуле есть что то?
6 Maxus43
 
31.07.13
14:00
7 djekting
 
31.07.13
14:04
рег. ПлановыеНачисленияРаботниковОрганизаций
Процедура ЗаписьПерерасчетовВРегистрЗаполнениеПлановыхНачислений()
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Регистратор", Отбор.Регистратор.Значение);
    
    ТекстЗапроса =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    |    Расчеты.Регистратор КАК ОбъектЗаполнения,
    |    Расчеты.Сотрудник,
    |    Расчеты.ПериодРегистрации,
    |    Расчеты.ОбособленноеПодразделение
    |ИЗ
    |    РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК Начисления
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Расчеты
    |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗаполнениеПлановыхНачислений КАК Перерасчеты
    |            ПО Расчеты.Регистратор = Перерасчеты.ОбъектЗаполнения
    |                И Расчеты.Сотрудник = Перерасчеты.Сотрудник
    |        ПО Начисления.Период <= Расчеты.ПериодДействияКонец
    |            И Начисления.Сотрудник = Расчеты.Сотрудник
    |ГДЕ
    |    Начисления.Регистратор = &Регистратор
    |    И Перерасчеты.ОбъектЗаполнения ЕСТЬ NULL
    |    И Расчеты.Регистратор ССЫЛКА Документ.НачислениеЗарплатыРаботникамОрганизаций";
    
    ПроведениеРасчетовПереопределяемый.ДополнитьТекстЗапросаПерерасчетыВЗаполнениеПлановыхНачислений(ТекстЗапроса);
    
    ТекстЗапроса = ТекстЗапроса + "
    |УПОРЯДОЧИТЬ ПО
    |    ОбъектЗаполнения";
    
    Запрос.Текст = ТекстЗапроса;
    Выборка = Запрос.Выполнить().Выбрать();
    ПроведениеРасчетов.ДописатьПерерасчетыВЗаполнениеПлановыхНачислений(Выборка);
    
    Запрос.Текст =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    |    Расчеты.Регистратор КАК Регистратор,
    |    Расчеты.ФизЛицо,
    |    Расчеты.Сотрудник,
    |    Расчеты.Организация
    |ИЗ
    |    РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК Начисления
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Расчеты
    |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ПерерасчетОсновныхНачислений КАК Перерасчеты
    |            ПО Расчеты.Регистратор = Перерасчеты.ОбъектПерерасчета
    |                И Расчеты.Сотрудник = Перерасчеты.Сотрудник
    |                И (Перерасчеты.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка))
    |        ПО Начисления.Период <= Расчеты.ПериодДействияКонец
    |            И Начисления.Сотрудник = Расчеты.Сотрудник
    |ГДЕ
    |    Начисления.Регистратор = &Регистратор
    |    И Начисления.ВидРасчетаИзмерение = НЕОПРЕДЕЛЕНО
    |    И Перерасчеты.ОбъектПерерасчета ЕСТЬ NULL
    |    И (Расчеты.Регистратор ССЫЛКА Документ.ОплатаСверхурочныхЧасов
    |            ИЛИ Расчеты.Регистратор ССЫЛКА Документ.ОплатаПраздничныхИВыходныхДнейОрганизаций)
    |
    |УПОРЯДОЧИТЬ ПО
    |    Регистратор";
    
    Выборка = Запрос.Выполнить().Выбрать();
    ПроведениеРасчетов.ДописатьПерерасчетыОсновныхНачислений(Выборка);
    
КонецПроцедуры

Процедура ПередЗаписью(Отказ, Замещение)
    
    Если ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
    
    Если Замещение Тогда
        // запишем перерасчеты по тем записям, которые сейчас будут замещены
        ЗаписьПерерасчетовВРегистрЗаполнениеПлановыхНачислений();
    КонецЕсли;
    
КонецПроцедуры

Процедура ПриЗаписи(Отказ, Замещение)
    
    Если ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
    
    // запишем перерасчеты по новым записям
    ЗаписьПерерасчетовВРегистрЗаполнениеПлановыхНачислений();
КонецПроцедуры
8 Maxus43
 
31.07.13
14:05
(7) смысл ошибки в том, что где-то ещё, то что двигается стоит автоматический режим скорее всего. например там ЗаписьПерерасчетовВРегистрЗаполнениеПлановыхНачислений, иль там ДописатьПерерасчетыОсновныхНачислений
9 djekting
 
31.07.13
14:17
автоматичекий стоит у рег. ПлановыеНачисленияРаботниковОрганизаций
10 Maxus43
 
31.07.13
14:20
(9) ну и вот.
11 djekting
 
31.07.13
14:29
(10)так, если доку сменить на автоматический, чем это может грозить7.
12 Maxus43
 
31.07.13
14:31
(11) Режим самой конфигурации какой точно?
13 djekting
 
31.07.13
14:32
(12)Автоматический и управляемый
сейчас в тестовой поменял на автоматический1 - стал проводится
14 Maxus43
 
31.07.13
14:38
(13) тогда да, нормально
15 djekting
 
31.07.13
14:47
бегло просмотрел код,сравнил со старым релизом и самое интересное, что изменений нету, хотя в прошлых все работало
16 Maxus43
 
31.07.13
15:05
что-то изменилось... чудес не бывает