Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 июн 2024, 02:16

Не сохраняется справочник

Автор ikar68, 11 июн 2024, 08:14

0 Пользователей и 1 гость просматривают эту тему.

ikar68

Добрый день.

Подскажите, что может быть причиной не сохранения справочника?

   ДанныеНовойУпаковки               = Справочники.ШтрихкодыУпаковокТоваров.СтруктураСозданияШтрихкодаУпаковки();
   ДанныеНовойУпаковки.Штрихкод         = PDF417;
   ДанныеНовойУпаковки.ДатаУпаковки      = ТекущаяДатаСеанса();
   ДанныеНовойУпаковки.ТипУпаковки       = Перечисления.ТипыУпаковок.МаркированныйТовар;
   
   ДанныеНовойУпаковки.Номенклатура   = Сопоставление1С(Алкоголь);
   ДанныеНовойУпаковки.Характеристика = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка();
   ДанныеНовойУпаковки.Серия          = Справочники.СерииНоменклатуры.ПустаяСсылка();
      
   Если СтрДлина(PDF417) = 150 Тогда
      ДанныеНовойУпаковки.ТипШтрихкода = Перечисления.ТипыШтрихкодов.DataMatrix;
   Иначе
      ДанныеНовойУпаковки.ТипШтрихкода = Перечисления.ТипыШтрихкодов.PDF417;
   КонецЕсли;
      
   Попытка
      ШтрихкодСправочник = Справочники.ШтрихкодыУпаковокТоваров.СоздатьШтрихкодУпаковки(ДанныеНовойУпаковки);
      ТекстСообщения = "Создана запись справочника ""Штрихкоды упаковок и товаров"" "+PDF417;
      Сообщить(ТекстСообщения);
   Исключение
      Если ТранзакцияАктивна() Тогда
         ОтменитьТранзакцию();
      КонецЕсли;
      Сообщить("Ошибка создания записи справочника ""Штрихкоды упаковок и товаров"": "+ОписаниеОшибки());
   КонецПопытки;
   
Ошибки при записи нет, но вот в поиске Акциз = Справочники.ШтрихкодыУпаковокТоваров.НайтиПоНаименованию(PDF417); уже отсутствует?
Если создаю руками через форму, со всеми этими же данными, всё сохраняется.

LexaK

ikar68, а сообщение какое получаете? в ШтрихкодСправочник  - что возвращается?
ну и совет, пройдите запись() под отладчиком!
если помогло нажмите: Спасибо!

ikar68

LexaK, Ошибок нет. В том то и дело, никаких сообщений от слова совсем.

Максим75

ikar68, вообще ничего не сообщает? а судя по коду сообщение должно быть или о создании или об ошибке.
Справочники.ШтрихкодыУпаковокТоваров.СоздатьШтрихкодУпаковки(ДанныеНовойУпаковки) - вот здесь что делается?
Может в этой процедуре наименование и не заполняется у нового элемента, а интерактивно из формы Вы его заполняете.
Вы же потом пишете, что именно по наименованию не находите, вот здесь  Акциз = Справочники.ШтрихкодыУпаковокТоваров.НайтиПоНаименованию(PDF417)

LexaK

ikar68, очень странно

Попытка
      ШтрихкодСправочник = Справочники.ШтрихкодыУпаковокТоваров.СоздатьШтрихкодУпаковки(ДанныеНовойУпаковки);
      ТекстСообщения = "Создана запись справочника ""Штрихкоды упаковок и товаров"" "+PDF417;
// === ВОТ СООБШЕНИЕ
      Сообщить(ТекстСообщения);
   Исключение
      Если ТранзакцияАктивна() Тогда
         ОтменитьТранзакцию();
      КонецЕсли;
// === ВОТ СООБШЕНИЕ
      Сообщить("Ошибка создания записи справочника ""Штрихкоды упаковок и товаров"": "+ОписаниеОшибки());
   КонецПопытки;
в коде два сообщения, какое либо сработать. Возможно вы код не там правите!
и еще раз воспользуйтесь отладчиком! (что это такое знаете? умеете пользоваться?)

выше спрашивал что получаете в ШтрихкодСправочник  - ответа вы не дали
если помогло нажмите: Спасибо!

ikar68

Всем спасибо, разобрался...
Не знаю по какой причине, но разделив функцию на 2 части, 1 создание справочник, 2 создание записи регистра сведений, всё заработало. По какой причине не работало совместно не знаю.

ikar68

LexaK, В отладчике была запись в справочнике, а если после записи выполнить поиск, ничего не давало

Максим75

ikar68, о как, там еще где-то и регистр писался))

ikar68

Максим75,
Да, ниже, после записи справочника, должен был писаться регистр.

Ничего не поменял, просто вынес запись регистра в другую процедуру.
Вызовы обеих делал из первоначальной процедуры и после того как разделил, по поиску всё нашёл и в справочнике запись появляется.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск