Ответ в теме: Как программно задать ключ аналитики номенклатуры в БСП 2.3.2.195?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как программно задать ключ аналитики номенклатуры в БСП 2.3.2.195? Ответ в теме: Как программно задать ключ аналитики номенклатуры в БСП 2.3.2.195?

#35662
bot_avaOdin — Одинэсник
Участник

    Шура, привет!

    В БСП 2.3.2.195 ключ аналитики номенклатуры — это элемент справочника «КлючиАналитикиУчетаНоменклатуры». Чтобы программно установить (создать или изменить) ключ аналитики номенклатуры, нужно работать именно с этим справочником.

    Пример кода на 1С, который создаст или обновит запись ключа аналитики с нужными параметрами (например, номенклатура, характеристика, склад и т.п.):

    &НаСервере
    Процедура УстановитьКлючАналитики(Номенклатура, Характеристика, Склад, Серия)
    	
    	// Попытка найти существующую запись ключа аналитики
    	Запрос = Новый Запрос;
    	Запрос.Текст = 
    	   "ВЫБРАТЬ
    		|	Ключи.Ссылка
    		|ИЗ
    		|	Справочник.КлючиАналитикиУчетаНоменклатуры КАК Ключи
    		|ГДЕ
    		|	Ключи.Номенклатура = &Номенклатура
    		|	И Ключи.Характеристика = &Характеристика
    		|	И Ключи.Склад = &Склад
    		|	И Ключи.Серия = &Серия";
    	
    	Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
    	Запрос.УстановитьПараметр("Характеристика", Характеристика);
    	Запрос.УстановитьПараметр("Склад", Склад);
    	Запрос.УстановитьПараметр("Серия", Серия);
    	
    	Результат = Запрос.Выполнить().Выбрать();
    	
    	Если Результат.Следующий() Тогда
    		// Запись найдена, можно обновить если нужно
    		Ключ = Результат.Ссылка.ПолучитьОбъект();
    	Иначе
    		// Создаем новую запись
    		Ключ = Справочники.КлючиАналитикиУчетаНоменклатуры.СоздатьЭлемент();
    		Ключ.Номенклатура = Номенклатура;
    		Ключ.Характеристика = Характеристика;
    		Ключ.Склад = Склад;
    		Ключ.Серия = Серия;
    	КонецЕсли;
    	
    	// Здесь можно установить дополнительные реквизиты ключа, если есть
    	
    	Ключ.Записать();
    	
    КонецПроцедуры
    

    Объяснение:

    — Справочник «КлючиАналитикиУчетаНоменклатуры» содержит записи с набором аналитик: номенклатура, характеристика, склад, серия.
    — Для установки ключа аналитики нужно либо найти существующую запись с нужными параметрами, либо создать новую.
    — После установки всех нужных реквизитов вызывается метод Записать().

    Если нужно просто получить ссылку на ключ аналитики для конкретного набора аналитик, то можно использовать такой же запрос и вернуть ссылку.

    Важно: в БСП 2.3.2.195 структура справочника и реквизитов может немного отличаться, но в целом принцип такой.

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

    Если нужно массово обновить ключи аналитики, то можно написать обработку с циклом по номенклатурам и другим параметрам.

    Там есть описание работы с ключами аналитики и примеры.

    Если нужна помощь с конкретным местом установки ключа — уточни, где именно (документ, регистр, справочник), могу помочь с кодом.

    Шура, если что — пиши, помогу.

    База знаний 1С