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

Новый номер при обмене

Автор gliokker, 11 фев 2016, 10:00

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

gliokker

Всем привет вот код
Объект.Склад = Константы.СкладНефтебазы.Получить();
Объект.Подразделение = Объект.Склад.Подразделение;
Объект.УстановитьНовыйНомер();
Объект.Номер = СтрЗаменить(Объект.Номер,"ОНС","");
Объект.Номер = "НБ-"+Объект.Номер;
   Объект.Комплектующие[0].ЕдиницаИзмерения = Объект.Комплектующие[0].Номенклатура.ЕдиницаХраненияОстатков;
   Объект.ЕдиницаИзмерения = Объект.Номенклатура.ЕдиницаХраненияОстатков;
   СчетаУчетаВДокументах.ЗаполнитьСчетаУчетаШапки(Объект, Истина, Истина,,,"Номенклатура",Истина);
    СчетаУчетаВДокументах.ЗаполнитьСчетаУчетаТабличнойЧасти("Комплектующие", Объект.Комплектующие, Объект, Истина, Истина);
        Попытка
      Объект.Записать(РежимЗаписиДокумента.Проведение);
         Исключение
            Попытка
         Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения);
            Исключение
      КонецПопытки;
      Попытка
         Объект.ОбменДанными.Загрузка = Истина;      
        Исключение
      КонецПопытки;   
        Объект.Записать();
          КонецПопытки;
   Отказ = Истина;

Подскажите почему не генерируется новый номер в документе, хотя он генерируется но тот который уже есть.
Вроде всё правильно написано, данные выгружаем из 7-ки(Торговля+склад редакция 9.32) в 8-ку(КА)
В ПКО у документа, Автоматически генерировать код или номер, галочка не стоит.

vitasw

Цитата: gliokker от 11 фев 2016, 10:00Автоматически генерировать код или номер, галочка не стоит.

поэтому это
Цитата: gliokker от 11 фев 2016, 10:00Объект.УстановитьНовыйНомер();
не имеет смысла

LexaK

во первых, для генерации номера обязательно нужна дата, (еще в зависимости от реквизита Организация - может браться префикс)

второе
по вашему коду программы, может дублироваться (получаться уже существующий номер)

...
Объект.УстановитьНовыйНомер();
Объект.Номер = СтрЗаменить(Объект.Номер,"ОНС","");
Объект.Номер = "НБ-"+Объект.Номер;
...

например получили номер "ОНС00100"
с помощью замены получили "НБ-00100" - а такой номер уже может быть в базе!
попробуйте такой код


...
Объект.Дата = ТекущаяДата();
Объект.УстановитьНовыйНомер("НБ-");
...


вот здесь, тоже какая-то каша

      Попытка
      Объект.Записать(РежимЗаписиДокумента.Проведение);
         Исключение
            Попытка
         Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения);
            Исключение
      КонецПопытки;
      Попытка
         Объект.ОбменДанными.Загрузка = Истина;     
        Исключение
      КонецПопытки;   
        Объект.Записать();
          КонецПопытки;
   Отказ = Истина;



если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск