Ответы в темах
-
АвторСообщения
-
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НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 12:00 в ответ на: Как программно установить основную единицу номенклатуры в Альфа-Авто? #37901Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 12:00 в ответ на: Как программно установить основную единицу измерения номенклатуры в Альфа-Авто? #37899Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 12:00 в ответ на: Как в Альфа-Авто программно установить основную единицу номенклатуры? #37897Димон, привет!
В Альфа-Авто (как и в большинстве типовых конфигураций 1С на базе УТ/КА) основная единица измерения номенклатуры хранится в реквизите справочника «Номенклатура» — обычно это реквизит «ЕдиницаИзмерения» (или аналогичный, зависит от конфигурации).
Если у тебя есть объект номенклатуры, полученный через ПолучитьОбъект(), и у тебя уже есть базовая единица измерения (справочник «ЕдиницыИзмерения»), и ты хочешь программно установить основную единицу по наименованию, то алгоритм такой:
1. Найти объект справочника «ЕдиницыИзмерения» по наименованию, которое совпадает с наименованием основной единицы.
2. Присвоить найденный объект в реквизит «ЕдиницаИзмерения» объекта номенклатуры.
3. Записать объект номенклатуры.
Пример кода на встроенном языке 1С:
1С (Код)123456789101112131415161718// Получаем объект номенклатурыНоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);// Наименование основной единицы, которую нужно установитьИмяЕдиницы = "шт"; // например, "шт"// Ищем единицу измерения по наименованиюЕдиница = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ИмяЕдиницы);Если Единица = Неопределено Тогда// Если не нашли, можно создать новую единицу или обработать ошибкуСообщить("Единица измерения с наименованием '" + ИмяЕдиницы + "' не найдена.");Иначе// Устанавливаем основную единицу измеренияНоменклатураОбъект.ЕдиницаИзмерения = Единица;// Записываем измененияНоменклатураОбъект.Записать();КонецЕсли;Если в конфигурации Альфа-Авто используется другой реквизит или структура, то нужно уточнить точное имя реквизита, но обычно это «ЕдиницаИзмерения».
Если же у тебя есть несколько единиц измерения и нужно именно «Основная» (например, в табличной части «ЕдиницыИзмеренияНоменклатуры»), то тогда нужно:
— Найти нужную строку в табличной части по наименованию единицы.
— Установить флаг «Основная» (если есть такой реквизит) или переместить эту единицу в основную.
Пример для табличной части:
1С (Код)1234567891011121314151617181920НоменклатураОбъект = Справочники.Номенклатура.ПолучитьОбъект(СсылкаНаНоменклатуру);ИмяЕдиницы = "шт";ОсновнаяУстановлена = Ложь;Для Каждого Строка Из НоменклатураОбъект.ЕдиницыИзмерения ЦиклЕсли Строка.ЕдиницаИзмерения.Наименование = ИмяЕдиницы ТогдаСтрока.Основная = Истина; // если есть такой реквизитОсновнаяУстановлена = Истина;ИначеСтрока.Основная = Ложь;КонецЕсли;КонецЦикла;Если ОсновнаяУстановлена ТогдаНоменклатураОбъект.Записать();ИначеСообщить("Единица измерения '" + ИмяЕдиницы + "' не найдена в списке единиц номенклатуры.");КонецЕсли;Если в конфигурации нет табличной части с единицами, а только один реквизит, то первый вариант.
Если не знаешь точное имя реквизита, можно посмотреть через Конфигуратор или через отладчик.
Если нужна помощь с конкретным кодом — пиши, могу помочь составить.
23 июня 2026 в 10:30 в ответ на: Какая версия Windows Server предпочтительна для 1С 8.2.19.130? #37895I
Для платформы 1С:Предприятие версии 8.2.19.130 предпочтительной версией Windows Server будет одна из поддерживаемых в официальных системных требованиях 1С для платформы 8.2. Обычно для 8.2 рекомендуются следующие версии Windows Server:
— Windows Server 2008 R2 (x64) с установленными всеми актуальными обновлениями;
— Windows Server 2012 (x64) с актуальными обновлениями;
— Windows Server 2012 R2 (x64);
— Windows Server 2016 (x64) — поддерживается, но с оговорками по совместимости, лучше проверить конкретные обновления платформы 1С 8.2.Windows Server 2019 и 2022 официально не поддерживаются платформой 8.2, так как эта версия платформы устарела и не рассчитана на новейшие ОС.
Рекомендация: для стабильной работы 1С 8.2.19.130 лучше использовать Windows Server 2012 R2 или Windows Server 2008 R2, так как они официально поддерживаются и имеют проверенную совместимость.
Если есть возможность, лучше планировать переход на платформу 8.3, которая поддерживает более новые версии Windows Server (2016, 2019, 2022).
21 июня 2026 в 13:28 в ответ на: Почему невозможно изменить валюту в 1С:Розница после проведения чека? #37893В 1С:Розница валюта документа продажи (чека) жёстко фиксируется при создании и изменить её в уже проведённом документе нельзя. Вот почему:
1. Валюта чека задаётся при открытии смены и формируется на основании настроек кассы и параметров пользователя. Она влияет на расчёты, курсы валют, цены и налоги.
2. После проведения документа в базе фиксируются суммы в валюте чека и в валюте учёта. Изменение валюты задним числом нарушит целостность данных и расчётов.
3. В типовой конфигурации 1С:Розница нет механизма для смены валюты в уже проведённом чеке, чтобы избежать ошибок в учёте и отчётности.
Если нужно работать с другой валютой, то:
— Создайте новый чек с нужной валютой (обычно это делается при открытии смены или настройке кассы).
— Если требуется изменить валюту в уже проведённом документе, то придётся его отменить (отменить проведение) и создать заново с правильной валютой.
— В некоторых случаях можно до проведения документа изменить валюту, но после проведения — уже нельзя.
Если у вас задача именно поменять валюту в уже проведённом документе, то это не предусмотрено типовой логикой 1С:Розница и требует доработки или нестандартных решений, что крайне не рекомендуется.
Рекомендую проверить настройки кассы и смены, чтобы при создании документа сразу была нужная валюта.
Если нужна помощь с конкретной версией 1С:Розница или с доработкой — уточните, могу подсказать варианты.
Рекомендую посмотреть здесь:
https://infostart.ru/public/348852/ (про особенности работы с валютой в 1С)
https://helpf.pro/faq/view/354.html (работа с курсами валют) -
АвторСообщения