eComm+

Модулі для BAS / 1С* - розроблено в Україні!

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

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


horoshop_designer_utbas_multipleproperties

Различия

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

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

Следующая версия
Предыдущая версия
horoshop_designer_utbas_multipleproperties [2020/08/21 12:05]
webmaster создано
horoshop_designer_utbas_multipleproperties [2023/08/16 19:50] (текущий)
webmaster
Строка 1: Строка 1:
 +===== BAS УТ / КУП / ERP =====
 ==== План видов характеристик "ДополнительныеРеквизитыИСведения" ==== ==== План видов характеристик "ДополнительныеРеквизитыИСведения" ====
   * Добавляем в план видов характеристик "ДополнительныеРеквизитыИСведения" реквизит "МножественныйРеквизит" (Тип "Булево")   * Добавляем в план видов характеристик "ДополнительныеРеквизитыИСведения" реквизит "МножественныйРеквизит" (Тип "Булево")
Строка 16: Строка 17:
   
  //++ ingenum.com.ua / Торговые площадки  //++ ingenum.com.ua / Торговые площадки
- СчСвойств = 0+ СоответствиеСвойств = Новый Соответствие
  МассивМножественныхСвойств = Новый Массив;  МассивМножественныхСвойств = Новый Массив;
  //-- ingenum  //-- ingenum
Строка 53: Строка 54:
  КонецЕсли;  КонецЕсли;
   
- СчСвойств = СчСвойств + 1;  + Если СоответствиеСвойств[ОписаниеСвойства.Свойство] Неопределено Тогда  
- ОписаниеСвойства.ИмяУникальнаяЧасть = ОписаниеСвойства.ИмяУникальнаяЧасть    +"_"+ Строка(СчСвойств);            + СоответствиеСвойств.Вставить(ОписаниеСвойства.Свойство, 1); 
 + Иначе 
 + СоответствиеСвойств.Вставить(ОписаниеСвойства.Свойство, СоответствиеСвойств.Получить(ОписаниеСвойства.Свойство)+1); 
 + КонецЕсли; 
 +  
 + ОписаниеСвойства.ИмяУникальнаяЧасть = ОписаниеСвойства.ИмяУникальнаяЧасть    +"_"+ Строка(СоответствиеСвойств.Получить(ОписаниеСвойства.Свойство));            
   
  КонецЕсли;  КонецЕсли;
Строка 166: Строка 172:
  //++ ingenum.com.ua / Торговые площадки  //++ ingenum.com.ua / Торговые площадки
  Если ОписаниеСвойства.МножественныйРеквизит Тогда  Если ОписаниеСвойства.МножественныйРеквизит Тогда
- НаименованиеМассивом = ing_ОбменСТорговымиПлощадкамиСервер.РазложитьСтрокуВМассивПодстрок(ОписаниеСвойства.ИмяРеквизитаЗначение, "_");+ НаименованиеМассивом = eCommСервер.РазложитьСтрокуВМассивПодстрок(ОписаниеСвойства.ИмяРеквизитаЗначение, "_");
  ИмяУдаляемогоМножественногоРеквизита = "ДополнительныйМножественныйРеквизитЗначение_" + НаименованиеМассивом[1] + "_" + НаименованиеМассивом[2];  ИмяУдаляемогоМножественногоРеквизита = "ДополнительныйМножественныйРеквизитЗначение_" + НаименованиеМассивом[1] + "_" + НаименованиеМассивом[2];
  Если НЕ Форма.Элементы.Найти(ИмяУдаляемогоМножественногоРеквизита) = Неопределено Тогда  Если НЕ Форма.Элементы.Найти(ИмяУдаляемогоМножественногоРеквизита) = Неопределено Тогда
Строка 272: Строка 278:
 <code> <code>
 &НаКлиенте &НаКлиенте
-Процедура Подключаемый_ОткрытиеМножественногоДополнительногоРеквизита(Элемент, СтандартнаяОбработка)  //+++Процедура Подключаемый_ОткрытиеМножественногоДополнительногоРеквизита(Элемент, СтандартнаяОбработка) //++ eComm+
   
  СтандартнаяОбработка = Ложь;  СтандартнаяОбработка = Ложь;
Строка 316: Строка 322:
  ОповещениеОВыборе = Новый ОписаниеОповещения("ВыполнитьПослеВыбораЗначений", ЭтаФорма, ИмяМножественногоРеквизитаБезСуффикса);  ОповещениеОВыборе = Новый ОписаниеОповещения("ВыполнитьПослеВыбораЗначений", ЭтаФорма, ИмяМножественногоРеквизитаБезСуффикса);
   
- ОткрытьФорму("Справочник.ing_ТорговыеПлощадки_СвойстваТоваров.Форма.ФормаМножественногоРеквизита", Новый Структура("СписокЗначенийСвойств", МассивЗначений), Элемент, , , , ОповещениеОВыборе, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);+ ОткрытьФорму("Справочник.eComm_СвойстваТоваров.Форма.ФормаМножественногоРеквизита", Новый Структура("Свойство, СписокЗначенийСвойств", Свойство, МассивЗначений), Элемент, , , , ОповещениеОВыборе, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
   
 КонецПроцедуры КонецПроцедуры
  
 &НаКлиенте &НаКлиенте
-Процедура ВыполнитьПослеВыбораЗначений(ВыбранныеЗначения, ИмяМножественногоРеквизитаБезСуффикса = Неопределено) Экспорт+Процедура ВыполнитьПослеВыбораЗначений(ВыбранныеЗначения, ИмяМножественногоРеквизитаБезСуффикса = Неопределено) Экспорт  //++ eComm+
  
  Если НЕ ТипЗнч(ВыбранныеЗначения) = Тип("Массив") Тогда   Если НЕ ТипЗнч(ВыбранныеЗначения) = Тип("Массив") Тогда 
Строка 338: Строка 344:
  НайденныеСтроки = ЭтаФорма.Свойства_ОписаниеДополнительныхРеквизитов.НайтиСтроки(Новый Структура("ИмяРеквизитаЗначение", ИмяМножественногоРеквизитаБезСуффикса + "_" + Сч));  НайденныеСтроки = ЭтаФорма.Свойства_ОписаниеДополнительныхРеквизитов.НайтиСтроки(Новый Структура("ИмяРеквизитаЗначение", ИмяМножественногоРеквизитаБезСуффикса + "_" + Сч));
   
- Если НайденныеСтроки.Количество() > 0 Тогда + Если НайденныеСтроки.Количество() > 0 Тогда 
 + // Значение было выбрано ранее
  ОписаниеСвойства = НайденныеСтроки[0];  ОписаниеСвойства = НайденныеСтроки[0];
  Иначе  Иначе
   
- ДобавитьРеквизитФормыНаСервере(ЭлементМассива.Свойство, ИмяМножественногоРеквизитаБезСуффикса + "_" + Сч);+ Если ЭлементМассива.Пометка = Истина Тогда 
 + // Значение не было выбрано ранее, но теперь выбрали 
 +  
 + ДобавитьРеквизитФормыНаСервере(ЭлементМассива.Свойство, ИмяМножественногоРеквизитаБезСуффикса + "_" + Сч); 
 +  
 + ШаблонСвойства = ЭтаФорма.Свойства_ОписаниеДополнительныхРеквизитов.НайтиСтроки(Новый Структура("Свойство", ЭлементМассива.Свойство)); 
 + ОписаниеСвойства = ЭтаФорма.Свойства_ОписаниеДополнительныхРеквизитов.Добавить(); 
 +  
 + Если ШаблонСвойства.Количество() > 0 Тогда 
 + ЗаполнитьЗначенияСвойств(ОписаниеСвойства, ШаблонСвойства[0]); 
 + ОписаниеСвойства.ИмяРеквизитаЗначение = ИмяМножественногоРеквизитаБезСуффикса + "_" + Сч; 
 + КонецЕсли; 
 + Иначе 
 + // Значение не было выбрано ранее 
 + // и сейчас нам не понадобилось 
 + Продолжить; 
 + КонецЕсли;  
   
- ОписаниеСвойства = ЭтаФорма.Свойства_ОписаниеДополнительныхРеквизитов.Добавить(); 
-  
- ШаблонСвойства = ЭтаФорма.Свойства_ОписаниеДополнительныхРеквизитов.НайтиСтроки(Новый Структура("Свойство", ЭлементМассива.Свойство)); 
- 
- Если ШаблонСвойства.Количество() > 0 Тогда 
- ЗаполнитьЗначенияСвойств(ОписаниеСвойства, ШаблонСвойства[0]); 
- ОписаниеСвойства.ИмяРеквизитаЗначение = ИмяМножественногоРеквизитаБезСуффикса + "_" + Сч; 
- КонецЕсли; 
  КонецЕсли;  КонецЕсли;
  
Строка 369: Строка 384:
  
 &НаСервере &НаСервере
-Процедура ДобавитьРеквизитФормыНаСервере(Свойство, ИмяРеквизитаЗначение)+Процедура ДобавитьРеквизитФормыНаСервере(Свойство, ИмяРеквизитаЗначение)                                                    //++ eComm+
  
  ОписаниеТипа = Новый ОписаниеТипов("СправочникСсылка.ЗначенияСвойствОбъектов");  ОписаниеТипа = Новый ОписаниеТипов("СправочникСсылка.ЗначенияСвойствОбъектов");
Строка 386: Строка 401:
  
 &НаСервере &НаСервере
-Процедура УдалитьРеквизитФормыНаСервере(Свойство, ИмяРеквизитаЗначение)+Процедура УдалитьРеквизитФормыНаСервере(Свойство, ИмяРеквизитаЗначение)                                                     //++ eComm+
  
  МассивУдаляемых = Новый Массив;  МассивУдаляемых = Новый Массив;
Строка 395: Строка 410:
  
 &НаСервереБезКонтекста &НаСервереБезКонтекста
-Функция ВернутьМассивНевыбранныхЗначений(Свойство, МассивВыбранныхЗначенийМножественногоРеквизита)+Функция ВернутьМассивНевыбранныхЗначений(Свойство, МассивВыбранныхЗначенийМножественногоРеквизита)                          //++ eComm+
  
  Запрос = Новый Запрос;  Запрос = Новый Запрос;
horoshop_designer_utbas_multipleproperties.1598000700.txt.gz · Последнее изменение: 2020/08/21 12:05 — webmaster