Изменение элементов справочника номенклатура

1. n_spb 02.12.16 15:16 Сейчас в теме
Как программно у элементов справочника номенклатура установить галочку "Использовать только базовую единицу"?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. akR00b 25 02.12.16 15:25 Сейчас в теме
(1) если это реквизит, то очень просто.

Выборка = Справочники.ТвойСправочник.Выбрать();

Пока Выборка.Следующий() цикл
ТекОбъект = Выборка.ПолучитьОбъект();
Если НЕ ТекОбъект.ИспользоватьТолькоБазовуюЕдиницу тогда
ТекОбъект.ИспользоватьТолькоБазовуюЕдиницу = Истина;
ТекОбъект.Записать()
КонецЕсли;
КонецЦикла;
Показать

работать будет в зависимости от объема справочника.

2 вариант для продвинутых , в консоли сделать запрос , получить нужные записи, обработать результат запроса в консоли.
Ганс; +1 Ответить
6. S.V.Y 17 02.12.16 16:46 Сейчас в теме
(2) Это под семерку код? Оо
3. Fox-trot 166 02.12.16 15:42 Сейчас в теме
3 вариант для продвинутых использовать ado
4. akR00b 25 02.12.16 15:45 Сейчас в теме
5. Fox-trot 166 02.12.16 15:47 Сейчас в теме
(4) и не только 7, но только sql
хотя для 7 можно и dbf
7. S.V.Y 17 02.12.16 16:48 Сейчас в теме
СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
СпрНоменклатура.ВыбратьЭлементы();
Пока СпрНоменклатура.ПолучитьЭлемент() = 1 Цикл
     СпрНоменклатура.ИспользоватьТолькоБазовуюЕдиницу = 1;
     СпрНоменклатура.Записать();
КонецЦикла;
Fox-trot; +1 Ответить
8. Fox-trot 166 02.12.16 21:06 Сейчас в теме
(7)
Пока СпрНоменклатура.ПолучитьЭлемент() = 1 Цикл

Это под семерку код? Оо
9. CheBurator 3232 06.12.16 13:46 Сейчас в теме
Кто этот бред понаписал выше?
"использовать только базовую единицу" - такого реквизита в справочнике нет.
на форме элемента номенклатуры этот флажок является реквизитом формы, а не справочника. и выставляется программно при октрытии формы в случае если ОсновнаяЕдиница совпадает с базовой

Поэтому если вы ведете УЧЕТ И ЗАПОЛНЕНИЕ ДОКУМЕНТОВ вручную ВСЕГДА в базовой единице то следует выполнить код

СпрН = СоздатьОбъект("Справочник.Номенклатура");
СпрН.ВыбратьЭлементы();
Пока СпрН.ПолучитьЭлемент() = 1 Цикл
     Если СпрН.ЭтоГруппа()=1 Тогда Продолжить; КонецЕсли;
     СпрН.ОсновнаяЕдиница = СпрН.БазоваяЕдиница;
     СпрН.Записать();
КонецЦикла;

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

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