При программном создании элемента справочника не ставит Код

1. marshalpth 27.01.14 01:45 Сейчас в теме
ДОбрый день! УТ для Украины. Программно создаю элемент справочника.

вот таким кодом например:
НоменОбъект = Справочники.Номенклатура.СоздатьЭлемент();
			НоменОбъект.ОбменДанными.Загрузка = Истина;
			НоменОбъект.Наименование = НаименованиеНоменклатуры;
			НоменОбъект.Артикул = Артикул;
			НоменОбъект.НаименованиеПолное = НаименованиеНоменклатуры;
		 	НоменОбъект.БазоваяЕдиницаИзмерения = ЕдИзмерения;
			НоменОбъект.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоРеквизиту("ТипНоменклатуры", Перечисления.ТипыНоменклатуры.Товар);
			НоменОбъект.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
			НоменОбъект.Записать();
Показать

Элемент создается но код не ставится. Открываешь записываешь вручную - код проставляется.

Прописал вот такую штуку
Форма = НоменОбъект.ПолучитьФорму();
			Форма.Открыть();
			Форма.ЗаписатьВФОрме();
			Форма.Закрыть();


И то же самое. Код не ставится.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Rothschild 27.01.14 06:17 Сейчас в теме
(1) marshalpth,
автонумерация и контроль уникальности у справочника не отключены???
3. Rothschild 27.01.14 06:26 Сейчас в теме
(2)
попробуй для установки кода использовать
специальный метод УстановитьНовыйКод() объекта справочника:

СправочникОбъект.<Имя справочника> (CatalogObject.<Имя справочника>)
УстановитьНовыйКод (SetNewCode)

Синтаксис:

УстановитьНовыйКод(<ПрефиксКода>)
Параметры:

<ПрефиксКода> (необязательный)

Тип: Строка.
Строковое значение префикса. Если префикс указан, то новый код будет формироваться с учетом префикса.
Описание:

Устанавливает новый код. Если в коде присутствует числовая часть, то новый код автоматически устанавливается следующим за имеющимся максимальным. При этом определяется текущий максимальный код среди элементов данного справочника.
Если передан префикс, то новый код устанавливается следующим образом: выполняется поиск максимального кода среди кодов, имеющих данный префикс, новый код выбирается как следующий от найденного кода.

Показать
Nelli_A86; +1 Ответить
4. Rothschild 27.01.14 06:28 Сейчас в теме
(3)
еще могут быть тонкости в модуле объекта
в обработчике события ПриУстановкеНовогоКода():

СправочникОбъект.<Имя справочника>.ПриУстановкеНовогоКода (CatalogObject.<Имя справочника>.OnSetNewCode)
СправочникОбъект.<Имя справочника> (CatalogObject.<Имя справочника>)
ПриУстановкеНовогоКода (OnSetNewCode)

Синтаксис:

ПриУстановкеНовогоКода(<СтандартнаяОбработка>, <Префикс>)
Параметры:

<СтандартнаяОбработка>

Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная генерация нового кода производиться не будет.
Значение по умолчанию: Истина
<Префикс>

Тип: Строка.
Префикс, который будет использоваться для генерации кода. Может быть изменен в процедуре-обработчике события.
Описание:

Возникает в момент, когда выполняется установка нового кода элемента справочника.
Примечание:

Параметр <Префикс> может быть указан, если код имеет тип Строка.
Показать
movled; tetraren; +2 Ответить
12. tetraren 37 16.04.22 17:34 Сейчас в теме
(4) Скорее всего именно там собака и порылась, если процедура ПриУстановкеНовогоКода() ждет, что будут заполнены определенные реквизиты, типа Организации, а они ни разу не заполнены на момент записи.
5. Поручик 4659 27.01.14 08:53 Сейчас в теме
(1) Всё просто. При включенном режиме ОбменДанными.Загрузка и вообще при обмене данными автонумерация объектов не работает как для справочника, так и для документа. Предполагается, что код или номер приходят из источника.
nightowl5; user1358728; BBAlien; Gasilin; Merkalov; hcooh; Оберон; AndrewVVS; +8 Ответить
6. user817897 2 19.04.19 12:24 Сейчас в теме
(5)как поступить в такой ситуации? я делаю обмен,создаётся новый контрагент в справочнике,но код остаётся пустым
9. Xershi 1556 19.04.19 16:36 Сейчас в теме
(6) при обмене по правилам есть галочка автонумерация.
7. Поручик 4659 19.04.19 14:53 Сейчас в теме
Объект.УстановитьНовыйКод();
Матчасть, учебник по программированию для 1С Предприятия
8. user817897 2 19.04.19 15:36 Сейчас в теме
(7)в модуле не катит,вы же сами в 5-м сообщении описывали
10. Justlink 18.07.19 10:35 Сейчас в теме
Сначала устанавливаем новый код, затем включаем режим загрузки.

П.УстановитьНовыйКод();
П.ОбменДанными.Загрузка=Истина;

Тогда всё работает, проверено.
krikmarin; maxim_1c; hcooh; +3 Ответить
11. evgeniy182 16.04.22 15:13 Сейчас в теме
Если Код = 0 Тогда
УстановитьНовыйКод();
Записать();
КонецЕсли;
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот