Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Soglasovanay skidka #32

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Catalog xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1855beb7-686c-4698-ac12-6353bac43009">
<producedTypes>
<objectType typeId="51b6d85d-df9d-40b2-b45e-e0a28a1ddf96" valueTypeId="639c64cd-147e-44ad-9787-15d845008182"/>
<refType typeId="112a81bb-c064-4350-9908-1002a7453586" valueTypeId="3b9c16b3-0f19-47f6-845e-5f799ba415a1"/>
<selectionType typeId="8d8a369a-a77c-41ae-ab6b-7e8111ac3388" valueTypeId="f11316b4-6408-4b8c-824c-d4103096f6e2"/>
<listType typeId="1d1f9b2a-4ea6-4fc4-9344-45c8ffbfad6c" valueTypeId="fef3929a-d096-455c-96ad-fcb4d6b2551e"/>
<managerType typeId="303ab602-aeec-46f7-9add-8f94a1a32fa7" valueTypeId="03c46cad-b094-448b-b28b-a3f7ede40256"/>
</producedTypes>
<name>КЛ_Должности</name>
<synonym>
<key>ru</key>
<value>Должности</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<inputByString>Catalog.КЛ_Должности.StandardAttribute.Code</inputByString>
<inputByString>Catalog.КЛ_Должности.StandardAttribute.Description</inputByString>
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
<createOnInput>Use</createOnInput>
<dataLockControlMode>Managed</dataLockControlMode>
<fullTextSearch>Use</fullTextSearch>
<objectPresentation>
<key>ru</key>
<value>Должность</value>
</objectPresentation>
<listPresentation>
<key>ru</key>
<value>Должности</value>
</listPresentation>
<levelCount>2</levelCount>
<foldersOnTop>true</foldersOnTop>
<codeLength>9</codeLength>
<descriptionLength>25</descriptionLength>
<codeType>String</codeType>
<codeAllowedLength>Variable</codeAllowedLength>
<checkUnique>true</checkUnique>
<autonumbering>true</autonumbering>
<defaultPresentation>AsDescription</defaultPresentation>
<editType>InDialog</editType>
<choiceMode>BothWays</choiceMode>
</mdclass:Catalog>
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="58e18432-559e-4b11-a080-6fb00f652fd0">
<producedTypes>
<objectType typeId="cd702e34-78c7-41d4-a7b6-6f56b774e322" valueTypeId="7bc810bd-7397-4ae8-ba18-228c85bd82fb"/>
<refType typeId="a2756c30-2dc7-4ed3-bd51-57879fa15fb4" valueTypeId="893da968-1113-4d35-ae4d-fca11bcf3f9a"/>
<selectionType typeId="48757da0-3896-46ef-a47d-65bd5ca7fb79" valueTypeId="70311ffb-4114-4313-8a2e-ae4163b9085a"/>
<listType typeId="09e3f6c9-9d68-4b51-b30c-de443fdf9b1d" valueTypeId="a833da5c-92bb-4b8f-8239-79e2fbac5a32"/>
<managerType typeId="d11d8139-951b-4ad5-aaa9-6e619d35d87f" valueTypeId="4ee068aa-8190-4f3b-b839-f30bc6f44cfc"/>
</producedTypes>
<name>КЛ_КонтактныеЛица</name>
<synonym>
<key>ru</key>
<value>Контактные лица</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<inputByString>Catalog.КЛ_КонтактныеЛица.StandardAttribute.Code</inputByString>
<inputByString>Catalog.КЛ_КонтактныеЛица.StandardAttribute.Description</inputByString>
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>PredefinedDataName</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Predefined</name>
<fillValue xsi:type="core:UndefinedValue"/>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Ref</name>
<fillValue xsi:type="core:UndefinedValue"/>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>DeletionMark</name>
<fillValue xsi:type="core:BooleanValue"/>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>IsFolder</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Owner</name>
<synonym>
<key>ru</key>
<value>Контрагент</value>
</synonym>
<fillFromFillingValue>true</fillFromFillingValue>
<fillValue xsi:type="core:UndefinedValue"/>
<fillChecking>ShowError</fillChecking>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Parent</name>
<fillFromFillingValue>true</fillFromFillingValue>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Description</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fillChecking>ShowError</fillChecking>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Code</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<createOnInput>Use</createOnInput>
<dataLockControlMode>Managed</dataLockControlMode>
<fullTextSearch>Use</fullTextSearch>
<objectPresentation>
<key>ru</key>
<value>КонтактноеЛицо</value>
</objectPresentation>
<listPresentation>
<key>ru</key>
<value>КонтактныеЛица</value>
</listPresentation>
<levelCount>2</levelCount>
<foldersOnTop>true</foldersOnTop>
<owners>Catalog.Контрагенты</owners>
<codeLength>9</codeLength>
<descriptionLength>25</descriptionLength>
<codeType>String</codeType>
<codeAllowedLength>Variable</codeAllowedLength>
<checkUnique>true</checkUnique>
<autonumbering>true</autonumbering>
<defaultPresentation>AsDescription</defaultPresentation>
<editType>InDialog</editType>
<choiceMode>BothWays</choiceMode>
<attributes uuid="ec69c755-5cf7-4ef5-81b6-c24fe8cd1515">
<name>Должность</name>
<synonym>
<key>ru</key>
<value>Должность</value>
</synonym>
<type>
<types>CatalogRef.КЛ_Должности</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="c57e0257-b166-4d1b-8e08-0d2f428636d9">
<name>КонтактныйТелефон</name>
<synonym>
<key>ru</key>
<value>Контактный телефон</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>20</length>
</stringQualifiers>
</type>
<mask>9 (999) 999 99 99</mask>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="c4c8d993-c22f-4c65-a9cd-13ed9d3ade7e">
<name>ДействуетНаОсновании</name>
<synonym>
<key>ru</key>
<value>Действует на основании</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>150</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="b6b76fa1-1e5d-48ee-9b97-528c2970ec16">
<name>Заметка</name>
<synonym>
<key>ru</key>
<value>Заметка</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers/>
</type>
<multiLine>true</multiLine>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
</mdclass:Catalog>
2 changes: 2 additions & 0 deletions onec-mid-base-11/src/Configuration/Configuration.mdo
Original file line number Diff line number Diff line change
Expand Up @@ -1213,6 +1213,8 @@
<catalogs>Catalog.УчетныеЗаписиСинхронизацииФайлов</catalogs>
<catalogs>Catalog.УчетныеЗаписиЭлектроннойПочты</catalogs>
<catalogs>Catalog.Файлы</catalogs>
<catalogs>Catalog.КЛ_КонтактныеЛица</catalogs>
<catalogs>Catalog.КЛ_Должности</catalogs>
<documents>Document.ЗаказПокупателя</documents>
<documents>Document.ОплатаОтПокупателя</documents>
<documents>Document.ОплатаПоставщику</documents>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,61 @@
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

//++Грунтова Задание№13 17.09.2024
//Вывести на форму Контактное Лицо
Если Элементы.Найти("КонтактноеЛицо") = Неопределено Тогда
ДобавляемыеРеквизиты = Новый Массив;

ТипРеквизита = Новый ОписаниеТипов("СправочникСсылка.КЛ_КонтактныеЛица");
РеквизитКонтактноеЛицо = Новый РеквизитФормы("КонтактноеЛицо", ТипРеквизита, "", "КонтактноеЛицо");

ДобавляемыеРеквизиты.Добавить(РеквизитКонтактноеЛицо);

ИзменитьРеквизиты(ДобавляемыеРеквизиты);

НовыйЭлемент = Элементы.Добавить("КонтактноеЛицо", Тип("ПолеФормы"), Элементы.ГруппаШапкаПраво);
НовыйЭлемент.ПутьКДанным = "Объект.КЛ_КонтактноеЛицо";
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
КонецЕсли;
//--Грунтова Задание№13 17.09.2024

//++Грунтова Задание№13 17.09.2024
//Вывести на форму СогласованнаяСкидка
ГруппаСогласованнаяСкидка = ЭтотОбъект.ЭтаФорма.Элементы.Добавить("ГруппаОбычная", Тип("ГруппаФормы"), Элементы.ГруппаШапкаЛево);
ГруппаСогласованнаяСкидка.Вид = ВидГруппыФормы.ОбычнаяГруппа;
ГруппаСогласованнаяСкидка.Отображение = ОтображениеОбычнойГруппы.Нет;
ГруппаСогласованнаяСкидка.ОтображатьЗаголовок = ЛОЖЬ;
ГруппаСогласованнаяСкидка.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяВсегда;

Если Элементы.Найти("СогласованнаяСкидка") = Неопределено Тогда

ДобавляемыеРеквизиты = Новый Массив;

ТипРеквизита = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(3,0));

РеквизитСогласованнаяСкидка = Новый РеквизитФормы("СогласованнаяСкидка", ТипРеквизита, "", "СогласованнаяСкидка");
ДобавляемыеРеквизиты.Добавить(РеквизитСогласованнаяСкидка);

ИзменитьРеквизиты(ДобавляемыеРеквизиты);

ЭлементСогласованнаяСкидка = Элементы.Добавить("СогласованнаяСкидка", Тип("ПолеФормы"), ГруппаСогласованнаяСкидка);
ЭлементСогласованнаяСкидка.ПутьКДанным = "Объект.КЛ_СогласованнаяСкидка";
ЭлементСогласованнаяСкидка.Вид = ВидПоляФормы.ПолеВвода;
ЭлементСогласованнаяСкидка.УстановитьДействие("ПриИзменении", "ВыполнитьДействиеСогласованнаяСкидкаПриИзменении");
КонецЕсли;
//--Грунтова Задание№13 17.09.2024

//++Грунтова Задание№13 17.09.2024
//Вывести на форму Команду РассчитатьСкидку
Команда = Команды.Добавить("РассчитатьСкидку");
Команда.Заголовок = "Рассчитать скидку";
Команда.Действие = "Д_РассчитатьСкидкуДействие"; //добавлена в конце

ЭлементКнопка = Элементы.Добавить("КнопкаРассчитатьСкидку", Тип("КнопкаФормы"), ГруппаСогласованнаяСкидка);
ЭлементКнопка.ИмяКоманды = "РассчитатьСкидку";
ЭлементКнопка.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
//--Грунтова Задание№13 17.09.2024

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

&НаКлиенте
Expand Down Expand Up @@ -124,6 +179,48 @@

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

&НаКлиенте
Процедура Д_РассчитатьСкидкуДействие(Команда)
//++Грунтова Задание№13 17.09.2024
Д_РассчитатьСтрокиСоСкидкой();

РассчитатьСуммуДокумента();
//--Грунтова Задание№13 17.09.2024
КонецПроцедуры

&НаКлиенте
Процедура Д_РассчитатьСтрокиСоСкидкой()
//++Грунтова Задание№13 17.09.2024
Для Каждого ТекущиеДанные Из Объект.Товары Цикл
Скидка = Окр(ТекущиеДанные.Цена * ТекущиеДанные.Количество * Объект.КЛ_СогласованнаяСкидка /100, 2);
СкидкаТЧ = Окр(ТекущиеДанные.Цена * ТекущиеДанные.Количество * ТекущиеДанные.Скидка /100, 2);

ТекущиеДанные.Сумма = ТекущиеДанные.Цена * ТекущиеДанные.Количество - (СкидкаТЧ + Скидка);
КонецЦикла;

Для Каждого ТекущиеДанные Из Объект.Услуги Цикл
Скидка = Окр(ТекущиеДанные.Цена * ТекущиеДанные.Количество * Объект.КЛ_СогласованнаяСкидка /100, 2);
СкидкаТЧ = Окр(ТекущиеДанные.Цена * ТекущиеДанные.Количество * ТекущиеДанные.Скидка /100, 2);

ТекущиеДанные.Сумма = ТекущиеДанные.Цена * ТекущиеДанные.Количество - (СкидкаТЧ + Скидка);
КонецЦикла;
//--Грунтова Задание№13 17.09.2024
КонецПроцедуры

&НаКлиенте
Асинх Процедура ВыполнитьДействиеСогласованнаяСкидкаПриИзменении(Элемент)
//++Грунтова Задание№13 17.09.2024
Ответ = ВопросАсинх("Вы уверены, что хотите применить скидку?", РежимДиалогаВопрос.ДаНет);

Результат = Ждать Ответ;
Если Результат = КодВозвратаДиалога.Нет Тогда
Возврат;
ИначеЕсли Результат = КодВозвратаДиалога.Да Тогда
Д_РассчитатьСтрокиСоСкидкой();
КонецЕсли;
//--Грунтова Задание№13 17.09.2024
КонецПроцедуры

#Область ПодключаемыеКоманды

// СтандартныеПодсистемы.ПодключаемыеКоманды
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,47 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="02bb206d-cedd-451d-8102-b7018642c7a6">
<name>КЛ_КонтактноеЛицо</name>
<synonym>
<key>ru</key>
<value>Контактное лицо</value>
</synonym>
<type>
<types>CatalogRef.КЛ_КонтактныеЛица</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<choiceParameterLinks>
<name>Отбор.Владелец</name>
<field>Document.ЗаказПокупателя.Attribute.Контрагент</field>
</choiceParameterLinks>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="91948325-5eb4-42f3-aa2a-b55ccbb3b8db">
<name>КЛ_СогласованнаяСкидка</name>
<synonym>
<key>ru</key>
<value>Cогласованная скидка</value>
</synonym>
<type>
<types>Number</types>
<numberQualifiers>
<precision>5</precision>
<scale>2</scale>
<nonNegative>true</nonNegative>
</numberQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:StringValue">
<value>100</value>
</maxValue>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<forms uuid="d2984117-1a5a-45ca-bc97-adb070bd946d">
<name>ФормаДокумента</name>
<synonym>
Expand Down
Loading