Имя: Пароль:
1C
1С v8
1С Комплексная автоматизация 2.5 странная проблема при создании группы номенклатуры
0 ammorf
 
12.03.23
18:20
Приветствую. Возникла странная проблема в конфигурации или а базе, не могу пока понять. При создании в справочнике группы номенклатуры программно, группа создается. При откладке ссылка присутствует после создания. Наименование и код задается вручную. Но после окончания обработки создания созданная группа исчезает из базы данных. Причем запись в журнале регистрации остается. Объект добавлен в справочник номенклатура и битая ссылка типа: <Объект не найден> (394:a1c0d85ed34a043f11edc0e812b8210a), Справочник. Номенклатура
Запись выполняется без использования транзакций. Да и если бы не фиксировалась транзакция запись в журнале вряд ли бы формировалась. Платформа: 1С:Предприятие 8.3 (8.3.20.2184), конфигурация 1С:Комплексная автоматизация 2 (2.5.8.295). Подскажите из-за чего может быть такая проблема? Спасибо!
1 Garykom
 
гуру
12.03.23
18:20
(0) копия базы средствами скуля?
2 ammorf
 
12.03.23
18:22
(1) выгружалась в архив dt и загружалась в копию базы на скуле. Такая же проблема.
3 Garykom
 
гуру
12.03.23
18:33
(2) хехе
что угодно может быть
например два сервера 1С на одну базу скуля как вариант
4 ammorf
 
12.03.23
18:43
Пробую в файловой развернуть. посмотрю что будет.
5 Garykom
 
гуру
12.03.23
18:50
код создания группы покажи
6 Garykom
 
гуру
12.03.23
18:50
(5) *код программного
7 ammorf
 
12.03.23
19:03
(6) с файловой такая же беда. Вот код создания:
            Нов = Справочники.Номенклатура.НайтиПоКоду(Код);
            Если НЕ нов.Пустая() Тогда
                Продолжить;
            Иначе
                Нов = Справочники.Номенклатура.СоздатьГруппу();
                Нов.Код = Код;
                Нов.КодДляПоиска = СокрЛП(Число(Код));
                Нов.Наименование = Наим;
                ННН = Справочники.Номенклатура.НайтиПоКоду(КодРодительскихПапок, Истина);
                Если ННН.Пустая() Тогда
                    МассивКодоВРодителей = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(КодРодительскихПапок, "/", Ложь, Истина);
                    Если МассивКодоВРодителей.Количество() > 1 Тогда
                        КодПапки = МассивКодоВРодителей[МассивКодоВРодителей.Количество()-1];
                    ИначеЕсли МассивКодоВРодителей.Количество() = 1 Тогда  
                        КодПапки = МассивКодоВРодителей[МассивКодоВРодителей[0]];
                    КонецЕсли;
                    ННН = Справочники.Номенклатура.НайтиПоКоду(КодПапки);
                КонецЕсли;
                Нов.Родитель = ННН.Ссылка;
                попытка
                    Нов.Записать();
                    Сообщить("Создана новая группа: " + Нов.Ссылка.Наименование + "");
                исключение
                    сообщить("Ошибка: "----"+Наим+"----"+Код);
                конецпопытки;
            КонецЕсли;
8 ammorf
 
12.03.23
19:25
Никто не поможет?(
9 Garykom
 
гуру
12.03.23
19:50
я надеюсь ты сверху все это не обернул в НачатьТранзакцию()?
которую забываешь  ЗавершитьТранзакцию()
10 ammorf
 
12.03.23
19:53
(9) в начале так и было. я потом вообще убрал работу с транзакциями. для чистоты эксперимента. сейчас убрал и попытку. Тперь пишется напрямую без попытки. И все то же самое.
11 ammorf
 
12.03.23
20:55
Все разобрался. В ворохе переменных в начале процедуры затаилась НачатьТранзакцию(). Поиском в коде нашел...