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

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

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

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

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

2 вариант для продвинутых , в консоли сделать запрос , получить нужные записи, обработать результат запроса в консоли.
Ганс; +1 Ответить
6. S.V.Y 17 02.12.16 16:46 Сейчас в теме
(2) Это под семерку код? Оо
3. Fox-trot 158 02.12.16 15:42 Сейчас в теме
3 вариант для продвинутых использовать ado
4. akR00b 22 02.12.16 15:45 Сейчас в теме
5. Fox-trot 158 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 158 02.12.16 21:06 Сейчас в теме
(7)
Пока СпрНоменклатура.ПолучитьЭлемент() = 1 Цикл

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

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

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

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

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