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

СогласованнаяСкидка #34

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<?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="5f177983-cbf8-4bea-ac79-a3055679f4dc">
<producedTypes>
<objectType typeId="dbfeac0f-7bdf-41ca-b0d3-7e91e010d2ab" valueTypeId="4d7e6643-915c-49c7-b393-89d7d633fe78"/>
<refType typeId="81a85a46-6a78-4387-ab7f-7b8349fea808" valueTypeId="f68b2142-7fc7-4787-bf50-0d7e625b51aa"/>
<selectionType typeId="d1709bd9-7269-4a40-bc91-fbc0a2994125" valueTypeId="84c94d27-073f-46a3-9679-3e2c889e4b87"/>
<listType typeId="e24867ea-c30f-4e98-95bf-c8d795ff6451" valueTypeId="f3fb5945-ce10-4823-bd15-2b7c4d3456bd"/>
<managerType typeId="aac57b30-0b70-4f4f-8db5-7f0d219ad86b" valueTypeId="21dcba47-c129-4612-a08c-aeeac37c542f"/>
</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>
<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>
<attributes uuid="9255aee2-709c-482a-84ef-cf2cf090f3bb">
<name>НаиманованиеДолжности</name>
<synonym>
<key>ru</key>
<value>Наиманование должности</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers/>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
</mdclass:Catalog>
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
<?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="1077f7ae-69a4-4efc-9ebe-70110f308f4f">
<producedTypes>
<objectType typeId="73a79633-19d2-4100-8fc6-67c68186618e" valueTypeId="77daae44-e685-48fd-b677-cd33ab8a48b7"/>
<refType typeId="98b2cd5b-e8d2-4d9f-b5e5-e8f7e974e8df" valueTypeId="dfb96ea1-4563-4dc9-b6c6-5a1f710dd5ce"/>
<selectionType typeId="545d48c1-9518-4924-be33-9fa6b9b1d665" valueTypeId="3cfdb6ea-2c55-4b4e-8528-f0b10deadd3c"/>
<listType typeId="afd495f1-d759-4d9a-9f1c-60732e99092f" valueTypeId="c169c518-c3c7-4a61-a75b-0b9417144b5c"/>
<managerType typeId="ec96ee17-3f14-43ab-82a3-2eb5211a8e2e" valueTypeId="93b9218d-98d3-4f03-a086-e040c665cc51"/>
</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>
<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>
<synonym>
<key>ru</key>
<value>ФИО</value>
</synonym>
<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>
<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="60050399-1ece-4f7c-a02d-3c2c877f590e">
<name>КонтактныйТелефон</name>
<synonym>
<key>ru</key>
<value>Контактный телефон</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>50</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="d93f4ce0-d20a-44e3-8bd2-b2d756b36efc">
<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="371c7c3e-2cc4-4a3b-bd7f-9b43ae4dc679">
<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="67d0cb2f-955e-43d0-a2df-a6c76b9f1ad8">
<name>Заметки</name>
<synonym>
<key>ru</key>
<value>Заметки</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers/>
</type>
<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 @@ -6,7 +6,37 @@

// СтандартныеПодсистемы.ПодключаемыеКоманды
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

// {{ Соколов Д.Ю.: Добавление реквизита формы "Д_КонтакноеЛицо"


ПраваяГруппа = Элементы.ГруппаШапкаПраво;
ЛеваяГруппа = Элементы.ГруппаШапкаЛево;

ЭлементКонтактноеЛицо = Элементы.Добавить("Д_КонтактноеЛицо", Тип("ПолеФормы"), ПраваяГруппа);
ЭлементКонтактноеЛицо.Вид = ВидПоляФормы.ПолеВвода;
ЭлементКонтактноеЛицо.ПутьКДанным = "Объект.Д_КонтакноеЛицо";

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

КомандаПересчитатьСкидку = Команды.Добавить("Доб_ПересчитатьСкидку");
КомандаПересчитатьСкидку.Действие = "Доб_ПересчитатьСкидку";


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


// Соколов Д.Ю. 06.10.2024 }}


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

Expand Down Expand Up @@ -109,11 +139,21 @@

#Область СлужебныеПроцедурыИФункции


&НаКлиенте
Процедура РассчитатьСуммуСтроки(ТекущиеДанные)
Процедура РассчитатьСуммуСтроки(ТекущиеДанные)

// {{ Соколов Д.Ю. 06.10.2024

КоэффициентСкидки = 1 - ТекущиеДанные.Скидка / 100;
ТекущиеДанные.Сумма = ТекущиеДанные.Цена * ТекущиеДанные.Количество * КоэффициентСкидки;
// Расчет сумма строки с учетом скидки

//ТекущиеДанные.Сумма = ТекущиеДанные.Цена * ТекущиеДанные.Количество;

ТекущиеДанные.Сумма = ТекущиеДанные.Цена * ТекущиеДанные.Количество * ((100-Объект.Д_Скидка)/100);

// Соколов Д.Ю. 06.10.2024 }}

РассчитатьСуммуДокумента();

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

Expand All @@ -124,6 +164,83 @@

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


&НаКлиенте
Процедура ЭлементСкидкаПриИзменении(Элемент)

// {{ Соколов Д.Ю. 06.10.2024

// При изменении поля скидка

ЭлементСкидкаПриИзмененииПередАсинх(Элемент)

// Соколов Д.Ю. 06.10.2024 }}

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

&НаКлиенте
Асинх Процедура ЭлементСкидкаПриИзмененииПередАсинх(Элемент)

// {{ Соколов Д.Ю. 06.10.2024
// Вывод вопроса для пользователя об пересчете скидки

Если Элементы.Товары.ТекущиеДанные <> Неопределено ИЛИ Элементы.Товары.ТекущиеДанные <> Неопределено Тогда

ТекстВопроса = "Изменить процент скидки? Пересчитать таблицы товаров и услуг?";
ВариантОтвета = Новый СписокЗначений;
ВариантОтвета.Добавить(1, "Да");
ВариантОтвета.Добавить(2, "Нет");

ОтветПользователя = Ждать ВопросАсинх(ТекстВопроса, ВариантОтвета);

Если ОтветПользователя = 1 Тогда

ПересчетСкидки();

КонецЕсли

КонецЕсли;

// Соколов Д.Ю. 06.10.2024 }}

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

&НаКлиенте
Процедура Доб_ПересчитатьСкидку(Команда)

// {{ Соколов Д.Ю. 06.10.2024
// Обработка нажатия кнопки ПересчитатьСкидку

ПересчетСкидки()

// Соколов Д.Ю. 06.10.2024 }}

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

&НаКлиенте
Процедура ПересчетСкидки()

// {{ Соколов Д.Ю. 06.10.2024

// Процедура пересчета скидки и таблицах Товары и Услуги

Для Каждого ТД Из Объект.Товары Цикл

РассчитатьСуммуСтроки(ТД)

КонецЦикла;

Для Каждого ТД Из Объект.Услуги Цикл

РассчитатьСуммуСтроки(ТД)

КонецЦикла;

// Соколов Д.Ю. 06.10.2024 }}

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


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

// СтандартныеПодсистемы.ПодключаемыеКоманды
Expand Down
Loading