Имя: Пароль:
1C
1С v8
КД. Обмен РегистрСведений.
0 dj_serega
 
07.03.14
12:40
Здравствуйте. Не могу понять почему следующий код
1 dj_serega
 
07.03.14
12:43
+(0)  блин :)


Есть два документа, которые есть регистраторами регистра сведений.
Первый документ делает одну запись.
Второй документ делает две записи.


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

Не скажу что не знаю КД, но почему так выполняется обмен не могу понять.

Для Каждого СтрокаНабора Из Объект Цикл
        
    Если НЕ СтрокаНабора.Сотрудник.Статус = Перечисления.Статусы.Работает Тогда
            
        ТекСотрудник = СтрокаНабора.Сотрудник.ПолучитьОбъект();
        ТекСотрудник.Результат = Перечисления.Статусы.Работает;
        ТекСотрудник.Записать();
            
    КонецЕсли;
        
КонецЦикла;
2 kosts
 
07.03.14
12:46
(0) ничего не понял...
3 dj_serega
 
07.03.14
12:51
(2) Выполняется обмен регистра сведений.

ТипЗнч(Объект) = Тип("РегистрСведенийНаборЗаписей.СтатусыСотрудников")

Док1 делает в регистре одну запись. Обмен проходит успешно. Изменения в справочнике сотрудники проходят.

Док2 делает в регистре две записи. Обмен выполняется без ошибок. Но и изменения в справочнике Сотрудники не делает.


Для Каждого СтрокаНабора Из Объект Цикл
    Если НЕ СтрокаНабора.Сотрудник.Статус = Перечисления.Статусы.Работает Тогда
        ТекСотрудник = СтрокаНабора.Сотрудник.ПолучитьОбъект();
        ТекСотрудник.Результат = Перечисления.Статусы.Работает;
        ТекСотрудник.Записать();
    КонецЕсли;
КонецЦикла;
4 dj_serega
 
07.03.14
12:54
Получается что во втором случае (док2) СтрокаНабора не есть типом РегистрСведенийЗапись. И через "." обратиться к измерению не получается.
5 kosts
 
07.03.14
12:59
Регистр переносишь специально (и документ сам не делает движений) ИЛИ документ сам делает движения в новой базе самостоятельно (а регистр не переносишь специально?)?