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

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

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #35661
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        Установить ключ аналитики номенклатуры программно на бсп 2.3.2.195

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

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

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

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

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

          Объяснение:

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

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

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

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

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

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С