Инструменты пользователя

Инструменты сайта


1c:algoritmy_dlja_gruppovoj_obrabotki

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
1c:algoritmy_dlja_gruppovoj_obrabotki [31.08.2023 09:26] – [Удалить дополнительный реквизит у элемента справочника] Павел Зайцев1c:algoritmy_dlja_gruppovoj_obrabotki [07.11.2025 07:10] (текущий) Павел Зайцев
Строка 3: Строка 3:
 =====  Удалить дополнительный реквизит у элемента справочника  ===== =====  Удалить дополнительный реквизит у элемента справочника  =====
  
-Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "СюдаНаписатьИмяРеквизита_49f1b95c86784e28a2d5eb0f32ede243");+<code> 
 +// нужно заполнить наименования свойств отсюда: Наборы дополнительных реквизитов и сведений: e1cib/list/Справочник.НаборыДополнительныхРеквизитовИСведений 
 +// имя для заполнения взять из раздела "для разработчиков" 
 +/////////////////////////////////////////////////////////////////////////////////////// 
 +ИмяСвойства = "СюдаНаписатьИмяСвойстваКотороеБудемОчищать";   // ПРИМЕР  "ПрименемостьДетали_c99f7bab121c4a299319920bbd76cb88" 
 +/////////////////////////////////////////////////////////////////////////////////////// 
 + 
 +Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", ИмяСвойства );
 Для Каждого Строка Из Объект.ДополнительныеРеквизиты Цикл Для Каждого Строка Из Объект.ДополнительныеРеквизиты Цикл
     Если Строка.Свойство = Свойство Тогда     Если Строка.Свойство = Свойство Тогда
Строка 10: Строка 17:
         Прервать;         Прервать;
     КонецЕсли;     КонецЕсли;
-КонецЦикла+КонецЦикла
 +</code> 
 + 
 + 
 +===== Скопировать значение одного доп реквизита в другой ===== 
 + 
 +<code> 
 +// нужно заполнить наименования свойств отсюда: Наборы дополнительных реквизитов и сведений: e1cib/list/Справочник.НаборыДополнительныхРеквизитовИСведений 
 +// имя для заполнения взять из раздела "для разработчиков" 
 +/////////////////////////////////////////////////////////////////////////////////////// 
 +ИмяСвойстваИсточник = "СюдаНаписатьИмяСвойстваИзкоторогоБудемКопировать";   // ПРИМЕР  "ПрименемостьДетали_c99f7bab121c4a299319920bbd76cb88" 
 +ИмяСвойстваПриемник = "СюдаНаписатьИмяСвойстваВкотороеБудемКопировать"; 
 +/////////////////////////////////////////////////////////////////////////////////////// 
 +СвойствоИсточник = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", ИмяСвойстваИсточник); 
 +СвойствоПриемник = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", ИмяСвойстваПриемник); 
 +Ссылка = Объект.Ссылка; 
 + 
 +ЗначениеИсточник = УправлениеСвойствами.ЗначениеСвойства(Ссылка, СвойствоИсточник); 
 +ЗначениеПриемник = УправлениеСвойствами.ЗначениеСвойства(Ссылка, СвойствоПриемник); 
 + 
 +Если ЗначениеЗаполнено(ЗначениеИсточник) И Не ЗначениеЗаполнено(ЗначениеПриемник) Тогда 
 +    Свойства = Новый ТаблицаЗначений; 
 +    Свойства.Колонки.Добавить("Свойство"); 
 +    Свойства.Колонки.Добавить("Значение"); 
 +    ЗаполнитьЗначенияСвойств(Свойства.Добавить(), Новый Структура("Свойство,Значение", СвойствоПриемник, ЗначениеИсточник)); 
 +    УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(Ссылка, Свойства); 
 +КонецЕсли; 
 +</code> 
 + 
 +===== Скопировать значение дополнительного реквизита в обычный ===== 
 + 
 +<code> 
 +СвойствоИсточник = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "ПрименяемостьСвечи_49f1b95c86784e28a2d5eb0f32ede243"); 
 +СвойствоПриемник = "Применяемость"; 
 +Ссылка = Объект.Ссылка; 
 + 
 +ЗначениеИсточник = УправлениеСвойствами.ЗначениеСвойства(Ссылка, СвойствоИсточник); 
 +ЗначениеПриемник = Объект[СвойствоПриемник]; 
 + 
 +Если ЗначениеЗаполнено(ЗначениеИсточник) И Не ЗначениеЗаполнено(ЗначениеПриемник) Тогда 
 +    Объект[СвойствоПриемник] = ЗначениеИсточник; 
 +КонецЕсли; 
 +</code> 
 + 
 +===== Пометка на удаление дублей номенклатуры поставщиков ===== 
 + 
 +Дубли опеределяются по паре "артикул-брэнд". Помечаются те, что не имеют привязки. 
 + 
 +<code> 
 +ВЫБРАТЬ 
 + ФПБС_НоменклатураПоставщиков.Ссылка КАК Ссылка 
 +ИЗ 
 + Справочник.ФПБС_НоменклатураПоставщиков КАК ФПБС_НоменклатураПоставщиков 
 + ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФПБС_ЦеныИОстаткиНоменклатурыПоставщиков КАК ФПБС_ЦеныИОстаткиНоменклатурыПоставщиковСрезПоследних 
 + ПО (ФПБС_НоменклатураПоставщиков.Ссылка = ФПБС_ЦеныИОстаткиНоменклатурыПоставщиковСрезПоследних.НоменклатураПоставщика 
 + И ФПБС_ЦеныИОстаткиНоменклатурыПоставщиковСрезПоследних.ПрофильПартнера = &ПрофильПартнера) 
 +ГДЕ 
 + ФПБС_НоменклатураПоставщиков.Владелец = &Владелец 
 + И ФПБС_НоменклатураПоставщиков.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) 
 + И (ФПБС_НоменклатураПоставщиков.Артикул, ФПБС_НоменклатураПоставщиков.Производитель) В 
 + (ВЫБРАТЬ 
 + ФПБС_НоменклатураПоставщиков.Артикул КАК Артикул, 
 + ФПБС_НоменклатураПоставщиков.Производитель КАК Производитель 
 + ИЗ 
 + Справочник.ФПБС_НоменклатураПоставщиков КАК ФПБС_НоменклатураПоставщиков 
 + ГДЕ 
 + НЕ ФПБС_НоменклатураПоставщиков.ПометкаУдаления 
 + И НЕ ФПБС_НоменклатураПоставщиков.Недействителен 
 + И ФПБС_НоменклатураПоставщиков.Владелец = &Владелец 
 + СГРУППИРОВАТЬ ПО 
 + ФПБС_НоменклатураПоставщиков.Артикул, 
 + ФПБС_НоменклатураПоставщиков.Производитель 
 + ИМЕЮЩИЕ 
 + СУММА(1) > 1) 
 + И ФПБС_ЦеныИОстаткиНоменклатурыПоставщиковСрезПоследних.Регистратор ЕСТЬ NULL 
 +</code>
  
  
/var/www/html/data/attic/1c/algoritmy_dlja_gruppovoj_obrabotki.1693474013.txt.gz · Последнее изменение: Павел Зайцев

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki