Имя: Пароль:
1C
1С v8
Обмен УТ10.3 -> БП 3.0 - не устанавливается блокировка
0 Dirk Diggler
 
03.07.15
18:17
Настроил обмен, вполне себе типовой. Через каталог.
Пытаюсь выполнить - получаю ошибку:

{РегистрСведений.ИзмененияОбщихДанныхУзлов.МодульМенеджера(17)}: Ошибка при вызове метода контекста (Заблокировать)
        Блокировка.Заблокировать();
по причине:
Использование блокировки допустимо только внутри транзакции в режиме управляемых блокировок!


Платформа 8.3.6.2041, УТ 10.3.28.1
Режим блокировок регистра - управляемый, проверил.
1 Dirk Diggler
 
03.07.15
18:17
Строка эта - внутри транзакции:

НачатьТранзакцию();
    Попытка
        
        Блокировка = Новый БлокировкаДанных;
        ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ИзмененияОбщихДанныхУзлов");
        ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
        ЭлементБлокировки.УстановитьЗначение("Узел", Узел);
        Блокировка.Заблокировать();
2 Dirk Diggler
 
03.07.15
18:28
Почему такая ошибка появляется? Чем полечить?
3 Cyberhawk
 
03.07.15
18:51
Ставлю на то, что у самого документа - не "Управляемый"
4 Cyberhawk
 
03.07.15
18:52
(если РС с регистратором)
5 Cyberhawk
 
03.07.15
18:54
Ну и про параметр у НачатьТранзакцию() не забываем
6 Dirk Diggler
 
03.07.15
18:55
Независимый он.
Вот так сделал: НачатьТранзакцию(РежимУправленияБлокировкойДанных.Управляемый);

И эта ошибка исчезла. Но теперь зато другая. И это похоже не лечится, а глюки платформы, т.к. почему-то 1с не видит не только процедуры объектов, но и свои же встроенные функции...
7 Cyberhawk
 
03.07.15
18:59
"И эта ошибка исчезла" // славно
"глюки платформы, т.к. почему-то 1с не видит не только процедуры объектов, но и свои же встроенные функции" // заводи отдельную ветку, опиши там, разберемся :)
8 Dirk Diggler
 
03.07.15
19:03
да чо тут...
Дохляк какой-то. В журнале регистрации пишется, что не смогла инициализировать модуль объекта ЗаказПокупателя, и вываливает окно вот с таким:

{Документ.ЗаказПокупателя.МодульОбъекта(2236,117)}: Переменная не определена (РежимДиалогаВопрос)
    Если Не ЗначениеЗаполнено(АдресДоставки) ИЛи Вопрос(НСтр("ru = 'Изменился контрагент. Изменить адрес доставки?'"), <<?>>РежимДиалогаВопрос.ДаНет, 60) = КодВозвратаДиалога.Да Тогда
{Документ.ЗаказПокупателя.МодульОбъекта(2236,149)}: Переменная не определена (КодВозвратаДиалога)
    Если Не ЗначениеЗаполнено(АдресДоставки) ИЛи Вопрос(НСтр("ru = 'Изменился контрагент. Изменить адрес доставки?'"), РежимДиалогаВопрос.ДаНет, 60) = <<?>>КодВозвратаДиалога.Да Тогда
{Документ.ЗаказПокупателя.МодульОбъекта(2729,11)}: Переменная не определена (РаботаСДиалогами)
        Если Не <<?>>РаботаСДиалогами.ПроверитьМодифицированностьВФорме(ЭтотОбъект, ФормаВладелец) Тогда

и еще куча такого же...
9 Cyberhawk
 
03.07.15
19:05
Так это на сервере код выполняется у тебя, потому и не работает
10 Dirk Diggler
 
03.07.15
19:10
(9) а что его на сервер понесло? )))
Ничто в настройке обмена не предвещало такого развития событий.
11 Cyberhawk
 
03.07.15
21:09
(10) ты лучше разберись, что у тебя за клиентский код в модуле объекта "Заказ покупателя"
12 Cyberhawk
 
03.07.15
21:10
+(11) и обрами все на что ругается в директиву

#Если Клиент Тогда
#КонецЕсли
13 ДенисЧ
 
03.07.15
21:21
А что делает диалог вопроса в модуле объекта?
14 Cyberhawk
 
03.07.15
21:23
(13) из 8.0 или 8.1 перекочевало, вестимо. Специально щас проверил - на прошлом фиксе есть один кусок такой же, но обрамленый директивой :)
15 Dirk Diggler
 
04.07.15
13:43
(12) Ужо. Запустил. Тормозит уже час. ЧТо делает - неизвестно.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший