|
Виды номенклатуры - использование характеристик | ☑ | ||
---|---|---|---|---|
0
Downkey
05.08.13
✎
14:51
|
1С Розница 2.0.6.4 + внешняя обработка.
Если справочник Видов номенклатуры пустой программно заполняю его. <code> // запрос для подсчета элементов справочника ВидыНоменклатуры Запрос = Новый Запрос("ВЫБРАТЬ | КОЛИЧЕСТВО(*) КАК КолЭлементов |ИЗ | Справочник.ВидыНоменклатуры КАК ВидыНоменклатуры |ГДЕ | НЕ ВидыНоменклатуры.ЭтоГруппа"); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); //если справочник ВидовНоменклатуры пустой, то заполняем - выполняется ТОЛЬКО один раз - в первый заход!!! Пока Выборка.Следующий() Цикл Если Выборка.КолЭлементов=0 тогда Для сч=1 по СпискоВидовНомен.Количество() цикл // наименование ВидаНоменклатуры - в переменную перемНаименованиеВидаНомен=СпискоВидовНомен.Получить(сч-1); // получаем ОБЪЕКТ элемента справочника, который можем модифицировать и записать СпрВидыНомен=Справочники.ВидыНоменклатуры.СоздатьЭлемент(); // записываем в НАИМЕНОВАНИЕ - наименование из заполненного заранее списка значений СпрВидыНомен.Наименование=перемНаименованиеВидаНомен; // записываем тип - как ТОВАР из перечислений СпрВидыНомен.ТипНоменклатуры=Перечисления.ТипыНоменклатуры.Товар; // записываем вариант использования характеристик СпрВидыНомен.ИспользованиеХарактеристик=Перечисления.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.ИндивидуальныеДляНоменклатуры; // записываем элемент в справочник СпрВидыНомен.Записать(); // ТУТ СпрВидыНомен.ИспользованиеХарактеристик СТАНОВИТСЯ РАВНО ИНЛИВИДУАЛЬНФЕДЛЯНОМЕНКЛАТУРЫ // Набор свойств для характеристик-----НАЧАЛО----------------------------------------- // Только если ВидНомеклатуры относится к "книжкам" Если перемНаименованиеВидаНомен.Значение="Учебные пособия" ИЛИ перемНаименованиеВидаНомен.Значение="Художественная литература" ИЛИ перемНаименованиеВидаНомен.Значение="Учебники" ИЛИ перемНаименованиеВидаНомен.Значение="Детская литература" ИЛИ перемНаименованиеВидаНомен.Значение="Гот дом задания" Тогда перемЭтоКнижка=ИСТИНА; // подразумевает наличие дополнительных реквизитов - Автор и Издатель Иначе перемЭтоКнижка=ЛОЖЬ; // подразумевает отсутствие дополнительных реквизитов КонецЕсли; Если перемЭтоКнижка Тогда // получаем ОБЪЕКТ элемента справочника, который можем модифицировать и записать СпрДопРекв=Справочники.НаборыДополнительныхРеквизитовИСведений.СоздатьЭлемент(); СпрДопРекв.Наименование=СпрВидыНомен.Наименование+"(для характеристик)"; // добавить строку НоваяСтрока=СпрДопРекв.ДополнительныеРеквизиты.Добавить(); // зааполнить реквизиты НоваяСтрока.Свойство = ПВХАвторСсылка; // добавить строку НоваяСтрока=СпрДопРекв.ДополнительныеРеквизиты.Добавить(); // зааполнить реквизиты НоваяСтрока.Свойство = ПВХИздательствоСсылка; // записать элемент справочника НаборыДополнительныхРеквизитовИСведений СпрДопРекв.Записать(); СпрДопРеквСсылка=СпрДопРекв.Ссылка; Иначе СпрДопРеквСсылка=СпрДопРекв.Ссылка.Пустая(); КонецЕсли; // Набор свойств для характеристик-----КОНЕЦ----------------------------------------- Если ЗначениеЗаполнено(СпрДопРеквСсылка) Тогда СпрВидыНомен.НаборСвойствХарактеристик=СпрДопРеквСсылка; КонецЕсли; // записываем элемент в справочник СпрВидыНомен.Записать(); // А ТУТ СпрВидыНомен.ИспользованиеХарактеристик ОПЯТЬ СТАНОВИТСЯ РАВНО НЕИСПОЛЬЗОВАТЬ КонецЦикла; КонецЕсли; КонецЦикла; </code> Почему у меня СпрВидыНомен.ИспользованиеХарактеристик в результате становиться НеИспользовать? Первая строка СпрВидыНомен.Записать(); добавлена чтоб убедиться, что все-таки СпрВидыНомен.ИспользованиеХарактеристик сохраняется как ИндивидуальныеДляНоенклатуры. Но почему после второй записи опять слетает на НеИспользовать??? |
|||
1
Maxus43
05.08.13
✎
14:52
|
СпрВидыНомен.Записать(); - в модуле объекта Перед/При записи смотри, + может быть в подписках
|
|||
2
Downkey
05.08.13
✎
14:57
|
(1) Ага. Посмотрю. Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |