Имя: Пароль:
1C
1С v8
Убрать характеристики товара
0 стаканыч
 
21.06.13
16:35
Хотелось бы уйти от характеристик и использовать только справочник номенклатуры. Может есть какие-то обработки на ИТС? Поиск и замена значений первое что пришло в голову - но там такого нет :( Подскажите
1 ДенисЧ
 
21.06.13
16:36
плодить номенклатуру будешь?
2 стаканыч
 
21.06.13
16:37
(1) ну не об этом вопрос, надо так :(
3 стаканыч
 
21.06.13
16:38
... с одной системой наворотили сложностей при обмене, что проще мелкую базу переделать, чем обмен криворукий править
4 John83
 
21.06.13
16:39
Для Каждого док Из Метаданные.Документы Цикл

   Если док.Реквизиты.Найти("Номенклатура") <> Неопределено И док.Реквизиты.Найти("ХарактеристикаНоменклатуры") <> Неопределено Тогда
       Запрос = Новый Запрос;
       Запрос.Текст =
       "ВЫБРАТЬ РАЗЛИЧНЫЕ
       |    КомплектацияНоменклатуры.Ссылка
       |ИЗ
       |    Документ.КомплектацияНоменклатуры КАК КомплектацияНоменклатуры
       |ГДЕ
       |    КомплектацияНоменклатуры.Номенклатура = &Номенклатура";
       Запрос.Текст = СтрЗаменить(Запрос.Текст, "КомплектацияНоменклатуры", док.Имя);
       Запрос.УстановитьПараметр("Номенклатура", Ссылка);
       Выборка = Запрос.Выполнить().Выбрать();
       
       Пока Выборка.Следующий() Цикл
           ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
           ДокОбъект.ХарактеристикаНоменклатуры = Характеристика;
           ДокОбъект.Записать();
       КонецЦикла;
   КонецЕсли;            

   
   Для Каждого ТЧ Из док.ТабличныеЧасти Цикл            
   
       Если ТЧ.Реквизиты.Найти("Номенклатура") <> Неопределено И ТЧ.Реквизиты.Найти("ХарактеристикаНоменклатуры") <> Неопределено Тогда
           
           Запрос = Новый Запрос;
           Запрос.Текст =
           "ВЫБРАТЬ РАЗЛИЧНЫЕ
           |    АвансовыйОтчетТовары.Ссылка КАК Ссылка
           |ИЗ
           |    Документ.АвансовыйОтчет.Товары КАК АвансовыйОтчетТовары
           |ГДЕ
           |    АвансовыйОтчетТовары.Номенклатура = &Номенклатура
           |
           |УПОРЯДОЧИТЬ ПО
           |    Ссылка
           |АВТОУПОРЯДОЧИВАНИЕ";
           Запрос.Текст = СтрЗаменить(Запрос.Текст, "АвансовыйОтчет", док.Имя);
           Запрос.Текст = СтрЗаменить(Запрос.Текст, "Товары", ТЧ.Имя);
           Запрос.УстановитьПараметр("Номенклатура", Ссылка);
           Выборка = Запрос.Выполнить().Выбрать();
           
           Пока Выборка.Следующий() Цикл
               
               ОбработкаПрерыванияПользователя();
               
               ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
               
               ПараметрыОтбора = Новый Структура;
               ПараметрыОтбора.Вставить("Номенклатура", Ссылка);
               НайденныеСтроки = ДокОбъект.Товары.НайтиСтроки(ПараметрыОтбора);
               
               Для Каждого НайденнаяСтрока Из НайденныеСтроки Цикл
                   НайденнаяСтрока.ХарактеристикаНоменклатуры = Характеристика;
               КонецЦикла;
               
               ДокОбъект.Записать();
               
           КонецЦикла;
           
       КонецЕсли;
       
   КонецЦикла;
   
КонецЦикла;
5 стаканыч
 
21.06.13
16:47
(4) не умничай!
6 стаканыч
 
21.06.13
16:47
:)
Независимо от того, куда вы едете — это в гору и против ветра!