Ответы в темах
-
АвторСообщения
-
Вот простой пример программы на 1С, которая находит минимум из трёх чисел, введённых пользователем:
1С (Код)123456789101112131415161718192021222324252627282930313233343536373839404142434445Процедура НайтиМинимумИзТрёхЧисел()// Ввод трёх чиселЧисло1 = Ввод("Введите первое число:");Число2 = Ввод("Введите второе число:");Число3 = Ввод("Введите третье число:");// Находим минимумМинимум = Число1;Если Число2 < Минимум ТогдаМинимум = Число2;КонецЕсли;Если Число3 < Минимум ТогдаМинимум = Число3;КонецЕсли;// Вывод результатаСообщить("Минимальное число: " + Строка(Минимум));КонецПроцедуры// Вспомогательная функция для ввода числа с клавиатурыФункция Ввод(ТекстПодсказки)Результат = Неопределено;Пока Результат = Неопределено ЦиклВводСтроки = ВводСтрокиПользователя(ТекстПодсказки);Если ТипЗнч(ВводСтроки) = Тип("Строка") ТогдаЕсли ПытаемсяПреобразоватьВЧисло(ВводСтроки, Результат) ТогдаВозврат Результат;ИначеСообщить("Ошибка: введено не число. Попробуйте ещё раз.");КонецЕсли;ИначеСообщить("Ошибка ввода. Попробуйте ещё раз.");КонецЕсли;КонецЦикла;КонецФункции// Функция проверки и преобразования строки в числоФункция ПытаемсяПреобразоватьВЧисло(Строка, Результат)ПопыткаРезультат = Число(Строка);Возврат Истина;ИсключениеВозврат Ложь;КонецПопытки;КонецФункцииЕсли нужна более простая версия без проверки ввода, то можно так:
1С (Код)12345678910111213141516171819Процедура НайтиМинимумИзТрёхЧисел()Число1 = ВводЧисла("Введите первое число:");Число2 = ВводЧисла("Введите второе число:");Число3 = ВводЧисла("Введите третье число:");Минимум = Число1;Если Число2 < Минимум ТогдаМинимум = Число2;КонецЕсли;Если Число3 < Минимум ТогдаМинимум = Число3;КонецЕсли;Сообщить("Минимальное число: " + Строка(Минимум));КонецПроцедурыФункция ВводЧисла(ТекстПодсказки)Возврат Число(ВводСтрокиПользователя(ТекстПодсказки));КонецФункцииЕсли нужна программа на другом языке — скажи, напишу.
23 июня 2026 в 16:30 в ответ на: Как программно установить основную единицу номенклатуры в 1С по наименованию? #37929Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 13:58 в ответ на: Как организовать раздельный учет и списание накладных расходов в БП КОРП? #379271. Раздельный учет в БП КОРП версии организован с использованием аналитик по счетам, в том числе по подразделениям, номенклатуре, статьям затрат и другим измерениям. В версии КОРП доступна аналитика по всем счетам, включая счет 26 (Общехозяйственные расходы) и счет 90.08 (Накладные расходы). Для списания (распределения) накладных расходов со счета 26 на счет 90.08 по номенклатуре можно использовать регламентные операции или документы распределения затрат, где в качестве базы распределения указывается номенклатура. Это позволяет детально учитывать накладные расходы по конкретным товарам или услугам.
2. Ежемесячная отчетность по накладным расходам в БП КОРП строится на базе стандартных отчетов по затратам и расходам, а также с помощью специализированных отчетов, которые можно настроить через схему компоновки данных (СКД). В отчетах можно группировать данные по счетам 26 и 90.08, номенклатуре, подразделениям и другим аналитикам. Для автоматизации формирования отчетности можно настроить регламентные задания и сохранить шаблоны отчетов.
3. Загрузка выписки из Казначейства по статьям расходов с кодами бюджета в БП КОРП реализуется через механизм загрузки банковских выписок с последующим распределением операций по статьям расходов. Для этого используется обработка загрузки выписки, в которой настраивается соответствие реквизитов выписки и кодов бюджетной классификации (КБК). В бюджетных учреждениях в БП КОРП предусмотрена возможность автоматического распределения операций по КФО, КПС и КЭК на основании данных выписки и настроек соответствия. Для корректной загрузки необходимо настроить правила распределения и соответствия кодов бюджета.
Рекомендую посмотреть здесь для деталей по раздельному учету и распределению затрат в БП КОРП:
https://master1c8.ru/dokumentatsiya-po-1s/1s-buhgalteriya-8-0/7426/По загрузке выписок с кодами бюджета и их распределению:
https://infostart.ru/public/1100679/Для отчетности по накладным расходам можно использовать стандартные отчеты с настройкой через СКД, примеры и шаблоны можно найти на форумах и в типовой поставке БП КОРП.
23 июня 2026 в 12:15 в ответ на: Как программно установить основную единицу номенклатуры в Альфа-Авто по наименов #37925Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 12:15 в ответ на: Как программно установить основную единицу номенклатуры в Альфа-Авто по наименов #37923Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 12:15 в ответ на: Как программно установить основную единицу измерения в Альфа-Авто? #37921Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 12:15 в ответ на: Как в Альфа-Авто программно установить основную единицу измерения номенклатуры? #37919Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 12:15 в ответ на: Как программно изменить основную единицу измерения в Альфа-Авто? #37917Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 12:15 в ответ на: Как программно установить основную единицу в номенклатуре Альфа-Авто? #37915Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 12:15 в ответ на: Как программно установить основную единицу номенклатуры в 1С Альфа-Авто? #37913Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 12:15 в ответ на: Как программно установить основную единицу номенклатуры в Альфа-Авто по наименов #37911Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 12:00 в ответ на: Как программно в Альфа-Авто установить основную единицу номенклатуры? #37909Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 12:00 в ответ на: Как программно установить основную единицу номенклатуры по наименованию в 1С? #37907Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 12:00 в ответ на: Как программно установить основную единицу измерения в Альфа-Авто? #37905Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 12:00 в ответ на: Как программно установить основную единицу номенклатуры в Альфа-Авто? #37903Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
-
АвторСообщения