Имя: Пароль:
1C
 
Ошибка при удалении записи с регистра сведений
0 lg2marvel
 
18.04.19
09:50
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
{РегистрСведений.СоответствияОбъектовИнформационныхБаз.МодульНабораЗаписей(32)}: Ошибка при вызове метода контекста (Добавить)
    ОбменДанными.Получатели.Добавить(Отбор.УзелИнформационнойБазы.Значение);
по причине:
Недопустимое значение параметра (параметр номер '1')

Открыт через все функции, выбрал ненужную мне запись, нажал удалить. Что за хрень?
1 1Сергей
 
18.04.19
09:51
ну, поставь отбор по узлу, может взлетит. Хотя, навряд ли
2 lg2marvel
 
18.04.19
09:51
В принципе не дает даже записать изменения записи - та же ошибка
3 lg2marvel
 
18.04.19
09:53
(1) не взлетает
4 vdeemer
 
18.04.19
09:56
а в настройках узлов текущий узел указан?
5 zehn
 
18.04.19
09:58
(0) Пристально посмотри на значение узла, которое стоит в отборе. Потом также пристально на его состав обмена.
6 lg2marvel
 
18.04.19
10:01
(4) Действие происходит в Бухгалтерии указан узел бухгалтерии, ни изменить ни удалить не могу (должен быть указан узел ЗУПа). Записи с узлом ЗУПа удаляются
7 zehn
 
18.04.19
10:09
(6) Задайся вопросом, как оно туда попало и сделай то же самое
8 lg2marvel
 
18.04.19
10:16
(7) Обработкой записалось. Можно очистить полностью весь набор записей, но не хотелось бы
9 zehn
 
18.04.19
10:23
(8) О, значит есть обработка, которая умеет такое. И что же там внутри?
10 lg2marvel
 
18.04.19
10:31
(9) там мой косяк, не тот узел был укащан. Хочу исправить ситуацию, но не знаю как

    РС = РегистрыСведений.СоответствияОбъектовИнформационныхБаз.СоздатьНаборЗаписей();
    Для каждого СтрокаТаблицы из Объект.ТЧПодразделения Цикл
        Если СтрокаТаблицы.Флаг = Истина Тогда
            НоваяЗапись = РС.Добавить();
            Подразделение = Справочники.ПодразделенияОрганизаций.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаТаблицы.УИДЗУП));
Сообщить(Подразделение);
            НоваяЗапись.УникальныйИдентификаторИсточника = Подразделение;
            НоваяЗапись.УникальныйИдентификаторИсточникаСтрокой = СтрокаТаблицы.УИДЗУП;
            НоваяЗапись.УникальныйИдентификаторПриемника = СтрокаТаблицы.УИДБП;
            НоваяЗапись.ТипПриемника = "СправочникСсылка.ПодразделенияОрганизаций";
            НоваяЗапись.ТипИсточника = "СправочникСсылка.ПодразделенияОрганизаций";
            НоваяЗапись.УзелИнформационнойБазы = ПланыОбмена.ОбменЗарплата3Бухгалтерия3.НайтиПоНаименованию("ООО ""ПУД""");
            НоваяЗапись.ОбъектВыгруженПоСсылке = ЛОЖЬ;
        КонецЕсли;
    КонецЦикла;
    Попытка
        РС.Записать(Ложь);
    Исключение
        Сообщить("неудалось записать в БП набор записей");
    КонецПопытки;
11 zehn
 
18.04.19
10:34
(10) Удалять программно с ОбменДанными.Загрузка = Истина
12 lg2marvel
 
18.04.19
10:42
(11) понял, спасибо.
13 lg2marvel
 
19.04.19
09:22
Добрый день. Возобновлю тему. Подскажите где я не прав? Судя по описанию ОбменДанными.Загрузка = Истина - это атрибут для любого объекта, но при использовании выдает ошибку Поле объекта не обнаружено (ОбменДанными). Я не к тому объекту применил свойство?



    ТаблицаЗаписей = ПолучитьИзВременногоХранилища(АдресТаблицы);
    
    НачатьЗафиксироватьТранзакцию(ЭтаФорма.ОбрабатыватьВТранзакции, Истина);
    ЗаписьРС = РегистрыСведений[ОбъектПоиска.Имя].СоздатьМенеджерЗаписи();
    Для Индекс = 0 По ТаблицаЗаписей.Количество() - 1 Цикл
        Если ЭтаФорма.ОбрабатыватьВТранзакции И ЭтаФорма.КоличествоОбъектовНаТранзакцию > 0 Тогда
            Если Индекс > 0 И Индекс % ЭтаФорма.КоличествоОбъектовНаТранзакцию = 0 Тогда
                НачатьЗафиксироватьТранзакцию(ЭтаФорма.ОбрабатыватьВТранзакции, Ложь);
                НачатьЗафиксироватьТранзакцию(ЭтаФорма.ОбрабатыватьВТранзакции, Истина);
            КонецЕсли;
        КонецЕсли;
        СтрокаТаблицы = ТаблицаЗаписей[Индекс];
        ЗаполнитьЗначенияСвойств(ЗаписьРС, СтрокаТаблицы);
        //***+++
        Если РежимЗаписи Тогда
            ЗаписьРС.ОбменДанными.Загрузка = Истина;    
        КонецЕсли;
        //+++***
        ЗаписьРС.Прочитать();
        Если ЗаписьРС.Выбран() Тогда
            ЗаписьРС.Удалить();
        КонецЕсли;
    КонецЦикла;
    НачатьЗафиксироватьТранзакцию(ЭтаФорма.ОбрабатыватьВТранзакции, Ложь);
14 lg2marvel
 
19.04.19
09:31
Также в групповой обработке объектов в произвольном алгоритме пишу:
Объект.ОбменДанными.Загрузка = Истина;
Объект.Удалить();

те же грабли
15 1Сергей
 
19.04.19
10:04
(13) Только у набора записей есть это свойство