Skip to content

Commit b00c6f8

Browse files
committed
feat: Добавлены функции соответствие переданной строке определенному цвету из каталога цветов (Массив, Соответствие цветов). Например для раскраски ников пользователей.
1 parent 23840ec commit b00c6f8

File tree

4 files changed

+329
-11
lines changed

4 files changed

+329
-11
lines changed
1.21 KB
Binary file not shown.

src/ExternalDataProcessors/РаботаСЦветами/Forms/Форма/Form.form

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4256,10 +4256,155 @@
42564256
</extendedTooltip>
42574257
<type>Pages</type>
42584258
<extInfo xsi:type="form:PagesGroupExtInfo">
4259+
<handlers>
4260+
<event>OnCurrentPageChange</event>
4261+
<name>КаталогиЦветовПриСменеСтраницы</name>
4262+
</handlers>
42594263
<pagesRepresentation>TabsOnTop</pagesRepresentation>
42604264
<currentRowUse>Auto</currentRowUse>
42614265
</extInfo>
42624266
</items>
4267+
<items xsi:type="form:FormGroup">
4268+
<name>ГруппаСоответствиеЦвета</name>
4269+
<id>384</id>
4270+
<items xsi:type="form:FormField">
4271+
<name>СтрокаРаскраски</name>
4272+
<id>381</id>
4273+
<visible>true</visible>
4274+
<enabled>true</enabled>
4275+
<userVisible>
4276+
<common>true</common>
4277+
</userVisible>
4278+
<dataPath xsi:type="form:DataPath">
4279+
<segments>СтрокаРаскраски</segments>
4280+
</dataPath>
4281+
<handlers>
4282+
<event>OnChange</event>
4283+
<name>СтрокаРаскраскиПриИзменении</name>
4284+
</handlers>
4285+
<extendedTooltip>
4286+
<name>СтрокаРаскраскиРасширеннаяПодсказка</name>
4287+
<id>383</id>
4288+
<visible>true</visible>
4289+
<enabled>true</enabled>
4290+
<userVisible>
4291+
<common>true</common>
4292+
</userVisible>
4293+
<type>Label</type>
4294+
<autoMaxWidth>true</autoMaxWidth>
4295+
<autoMaxHeight>true</autoMaxHeight>
4296+
<extInfo xsi:type="form:LabelDecorationExtInfo">
4297+
<horizontalAlign>Left</horizontalAlign>
4298+
</extInfo>
4299+
</extendedTooltip>
4300+
<contextMenu>
4301+
<name>СтрокаРаскраскиКонтекстноеМеню</name>
4302+
<id>382</id>
4303+
<visible>true</visible>
4304+
<enabled>true</enabled>
4305+
<userVisible>
4306+
<common>true</common>
4307+
</userVisible>
4308+
<autoFill>true</autoFill>
4309+
</contextMenu>
4310+
<type>InputField</type>
4311+
<editMode>Enter</editMode>
4312+
<showInHeader>true</showInHeader>
4313+
<headerHorizontalAlign>Left</headerHorizontalAlign>
4314+
<showInFooter>true</showInFooter>
4315+
<extInfo xsi:type="form:InputFieldExtInfo">
4316+
<autoMaxWidth>true</autoMaxWidth>
4317+
<autoMaxHeight>true</autoMaxHeight>
4318+
<wrap>true</wrap>
4319+
<chooseType>true</chooseType>
4320+
<typeDomainEnabled>true</typeDomainEnabled>
4321+
<textEdit>true</textEdit>
4322+
</extInfo>
4323+
</items>
4324+
<items xsi:type="form:FormField">
4325+
<name>ЦветИзПалитры</name>
4326+
<id>386</id>
4327+
<visible>true</visible>
4328+
<enabled>true</enabled>
4329+
<userVisible>
4330+
<common>true</common>
4331+
</userVisible>
4332+
<dataPath xsi:type="form:DataPath">
4333+
<segments>ЦветИзПалитры</segments>
4334+
</dataPath>
4335+
<extendedTooltip>
4336+
<name>ЦветИзПалитрыРасширеннаяПодсказка</name>
4337+
<id>388</id>
4338+
<visible>true</visible>
4339+
<enabled>true</enabled>
4340+
<userVisible>
4341+
<common>true</common>
4342+
</userVisible>
4343+
<type>Label</type>
4344+
<autoMaxWidth>true</autoMaxWidth>
4345+
<autoMaxHeight>true</autoMaxHeight>
4346+
<extInfo xsi:type="form:LabelDecorationExtInfo">
4347+
<horizontalAlign>Left</horizontalAlign>
4348+
</extInfo>
4349+
</extendedTooltip>
4350+
<contextMenu>
4351+
<name>ЦветИзПалитрыКонтекстноеМеню</name>
4352+
<id>387</id>
4353+
<visible>true</visible>
4354+
<enabled>true</enabled>
4355+
<userVisible>
4356+
<common>true</common>
4357+
</userVisible>
4358+
<autoFill>true</autoFill>
4359+
</contextMenu>
4360+
<type>InputField</type>
4361+
<editMode>Enter</editMode>
4362+
<showInHeader>true</showInHeader>
4363+
<headerHorizontalAlign>Left</headerHorizontalAlign>
4364+
<showInFooter>true</showInFooter>
4365+
<extInfo xsi:type="form:InputFieldExtInfo">
4366+
<autoMaxWidth>true</autoMaxWidth>
4367+
<autoMaxHeight>true</autoMaxHeight>
4368+
<wrap>true</wrap>
4369+
<chooseType>true</chooseType>
4370+
<typeDomainEnabled>true</typeDomainEnabled>
4371+
</extInfo>
4372+
</items>
4373+
<visible>true</visible>
4374+
<enabled>true</enabled>
4375+
<userVisible>
4376+
<common>true</common>
4377+
</userVisible>
4378+
<title>
4379+
<key>ru</key>
4380+
<value>Соответствие цвета указанной строке</value>
4381+
</title>
4382+
<extendedTooltip>
4383+
<name>ГруппаСоответствиеЦветаРасширеннаяПодсказка</name>
4384+
<id>385</id>
4385+
<visible>true</visible>
4386+
<enabled>true</enabled>
4387+
<userVisible>
4388+
<common>true</common>
4389+
</userVisible>
4390+
<type>Label</type>
4391+
<autoMaxWidth>true</autoMaxWidth>
4392+
<autoMaxHeight>true</autoMaxHeight>
4393+
<extInfo xsi:type="form:LabelDecorationExtInfo">
4394+
<horizontalAlign>Left</horizontalAlign>
4395+
</extInfo>
4396+
</extendedTooltip>
4397+
<type>UsualGroup</type>
4398+
<extInfo xsi:type="form:UsualGroupExtInfo">
4399+
<group>AlwaysHorizontal</group>
4400+
<behavior>Auto</behavior>
4401+
<showLeftMargin>true</showLeftMargin>
4402+
<united>true</united>
4403+
<showTitle>true</showTitle>
4404+
<throughAlign>Auto</throughAlign>
4405+
<currentRowUse>Auto</currentRowUse>
4406+
</extInfo>
4407+
</items>
42634408
<visible>true</visible>
42644409
<enabled>true</enabled>
42654410
<userVisible>
@@ -6576,6 +6721,42 @@
65766721
<common>true</common>
65776722
</edit>
65786723
</attributes>
6724+
<attributes>
6725+
<name>СтрокаРаскраски</name>
6726+
<title>
6727+
<key>ru</key>
6728+
<value>Строка</value>
6729+
</title>
6730+
<id>53</id>
6731+
<valueType>
6732+
<types>String</types>
6733+
<stringQualifiers/>
6734+
</valueType>
6735+
<view>
6736+
<common>true</common>
6737+
</view>
6738+
<edit>
6739+
<common>true</common>
6740+
</edit>
6741+
</attributes>
6742+
<attributes>
6743+
<name>ЦветИзПалитры</name>
6744+
<title>
6745+
<key>ru</key>
6746+
<value>Цвет из палитры</value>
6747+
</title>
6748+
<id>54</id>
6749+
<valueType>
6750+
<types>String</types>
6751+
<stringQualifiers/>
6752+
</valueType>
6753+
<view>
6754+
<common>true</common>
6755+
</view>
6756+
<edit>
6757+
<common>true</common>
6758+
</edit>
6759+
</attributes>
65796760
<formCommands>
65806761
<name>Конвертировать</name>
65816762
<title>

src/ExternalDataProcessors/РаботаСЦветами/Forms/Форма/Module.bsl

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
&НаСервере
55
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
66

7+
СтрокаРаскраски = "Иванов Иван";
8+
79
ОбработкаЦветаНаСервере(0);
810

911
Баланс = 50;
@@ -143,6 +145,20 @@
143145

144146
КонецПроцедуры
145147

148+
&НаКлиенте
149+
Процедура СтрокаРаскраскиПриИзменении(Элемент)
150+
151+
ПодключитьОбработчикОжидания("ОбновитьПримерНаКлиенте", 0.1, Истина);
152+
153+
КонецПроцедуры
154+
155+
&НаКлиенте
156+
Процедура КаталогиЦветовПриСменеСтраницы(Элемент, ТекущаяСтраница)
157+
158+
ПодключитьОбработчикОжидания("ОбновитьПримерНаКлиенте", 0.1, Истина);
159+
160+
КонецПроцедуры
161+
146162
#КонецОбласти
147163

148164
#Область ОбработчикиСобытийЭлементовТаблицыФормыТаблицаПастельныхТоновКруг
@@ -390,25 +406,36 @@
390406
Если Элементы.КаталогиЦветов.ТекущаяСтраница = Элементы.КаталогWebЦветов Тогда
391407
Элементы.Пример.ЦветФона = ТекущийWebЦвет;
392408
Элементы.Пример.ЦветТекста = ОбработкаОбъект().КонтрастныйЦвет(ТекущийWebЦвет);
409+
КаталогЦвета = ОбработкаОбъект().КаталогWebЦветов();
393410
ИначеЕсли Элементы.КаталогиЦветов.ТекущаяСтраница = Элементы.RALStandart Тогда
394411
Элементы.Пример.ЦветФона = ТекущийЦветRALStandart;
395412
Элементы.Пример.ЦветТекста = ОбработкаОбъект().КонтрастныйЦвет(ТекущийЦветRALStandart);
413+
КаталогЦвета = ОбработкаОбъект().КаталогRALStandart();
396414
ИначеЕсли Элементы.КаталогиЦветов.ТекущаяСтраница = Элементы.CSS Тогда
397415
Элементы.Пример.ЦветФона = ТекущийЦветCSS;
398416
Элементы.Пример.ЦветТекста = ОбработкаОбъект().КонтрастныйЦвет(ТекущийЦветCSS);
417+
КаталогЦвета = ОбработкаОбъект().КаталогCSSЦветов();
399418
ИначеЕсли Элементы.КаталогиЦветов.ТекущаяСтраница = Элементы.БезопасныеWebЦвета Тогда
400419
Элементы.Пример.ЦветФона = ТекущийЦветБезопасный;
401420
Элементы.Пример.ЦветТекста = ОбработкаОбъект().КонтрастныйЦвет(ТекущийЦветБезопасный);
421+
КаталогЦвета = ОбработкаОбъект().МассивБезопасныхWebЦветов();
402422
ИначеЕсли Элементы.КаталогиЦветов.ТекущаяСтраница = Элементы.КаталогПастельныеЦвета Тогда
403423
Элементы.Пример.ЦветФона = ТекущийЦветПастельныеЦвета;
404-
Элементы.Пример.ЦветТекста = ОбработкаОбъект().КонтрастныйЦвет(ТекущийЦветПастельныеЦвета);
424+
Элементы.Пример.ЦветТекста = ОбработкаОбъект().КонтрастныйЦвет(ТекущийЦветПастельныеЦвета);
425+
КаталогЦвета = ОбработкаОбъект().КаталогПастельныхТонов();
405426
ИначеЕсли Элементы.КаталогиЦветов.ТекущаяСтраница = Элементы.КаталогПастельныхЦветовКруг Тогда
406427
Элементы.Пример.ЦветФона = ТекущийЦветПастельныеЦветаКруг;
407428
Элементы.Пример.ЦветТекста = ОбработкаОбъект().КонтрастныйЦвет(ТекущийЦветПастельныеЦветаКруг);
429+
КаталогЦвета = ОбработкаОбъект().КаталогПастельныхТоновЦветовойКруг();
408430
ИначеЕсли Элементы.КаталогиЦветов.ТекущаяСтраница = Элементы.КаталогStripe Тогда
409431
Элементы.Пример.ЦветФона = ТекущийЦветStripe;
410-
Элементы.Пример.ЦветТекста = ОбработкаОбъект().КонтрастныйЦвет(ТекущийЦветStripe);
432+
Элементы.Пример.ЦветТекста = ОбработкаОбъект().КонтрастныйЦвет(ТекущийЦветStripe);
433+
КаталогЦвета = ОбработкаОбъект().КаталогStripe();
411434
КонецЕсли;
435+
436+
ЦветИзПалитры = ОбработкаОбъект().HexИзКаталогаПоСтроке(СтрокаРаскраски, КаталогЦвета);
437+
Элементы.ЦветИзПалитры.ЦветФона = ОбработкаОбъект().HexВЦвет(ЦветИзПалитры);
438+
Элементы.ЦветИзПалитры.ЦветТекста = ОбработкаОбъект().КонтрастныйЦвет(Элементы.ЦветИзПалитры.ЦветФона);
412439
КонецЕсли;
413440

414441
Элементы.ПримерИнвертированный.ЦветФона = Элементы.Пример.ЦветТекста;

0 commit comments

Comments
 (0)