Skip to content

Commit

Permalink
Merge pull request #6 from IgorKilipenko/sprint2/dev
Browse files Browse the repository at this point in the history
Sprint2/dev v2.0
  • Loading branch information
IgorKilipenko authored May 5, 2024
2 parents b288079 + ff53ffd commit f03cf19
Show file tree
Hide file tree
Showing 24 changed files with 1,600 additions and 30 deletions.
28 changes: 28 additions & 0 deletions src/Catalogs/Контрагенты/Ext/ManagerModule.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,32 @@
Возврат ПолучитьТипКонтрагента(ссылка) = Перечисления.ТипыКонтрагентов.Поставщик;
КонецФункции

// Устарела.
// Параметры:
// имяКлиента - Строка
// Возвращаемое значение:
// - СправочникСсылка.Контрагенты
Функция НайтиКлиентаПоИмени(Знач имяКлиента) Экспорт
запрос = Новый Запрос;
запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Ссылка КАК Ссылка
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Сотрудники.ПометкаУдаления = ЛОЖЬ
| И Сотрудники.ТипКонтрагента = ЗНАЧЕНИЕ(Перечисление.ТипыКонтрагентов.Покупатель)
| И Сотрудники.Наименование = &ИмяКлиента
|";
запрос.УстановитьПараметр("ИмяКлиента", имяКлиента);
результатЗапроса = запрос.Выполнить();
Если результатЗапроса.Пустой() Тогда
Возврат Неопределено;
КонецЕсли;

выборка = результатЗапроса.Выбрать();
выборка.Следующий();
Возврат выборка.Ссылка;
КонецФункции

#КонецОбласти
40 changes: 40 additions & 0 deletions src/Catalogs/Пользователи.xml
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,46 @@
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
</Properties>
<ChildObjects>
<Attribute uuid="ce634d21-0a3d-4c01-9311-3f49e474141e">
<Properties>
<Name>Клиент</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Клиент</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:CatalogRef.Контрагенты</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Form>ФормаЭлемента</Form>
<Form>ФормаСписка</Form>
</ChildObjects>
Expand Down
63 changes: 59 additions & 4 deletions src/Catalogs/Пользователи/Ext/ManagerModule.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
| Справочник.Пользователи КАК Пользователи
|ГДЕ
| Пользователи.Наименование = &Имя
| И Пользователи.ПометкаУдаления = ЛОЖЬ
|";

запрос.УстановитьПараметр("Имя", имя);
Expand All @@ -47,13 +48,19 @@

// Параметры:
// имя - Строка
// идентификатор - Строка
// идентификатор - Строка, Неопределено - Если значение неопределено, будет сгенерирован новый идентификатор
// дополнительныеПоля - Структура
// получитьОбъект - Булево - Если Ложь, будет возвращен `Объект` созданного элемента, иначе `Ссылка`
// Возвращаемое значение:
// - СправочникСсылка.Пользователи
Функция СоздатьПользователя(Знач имя, Знач идентификатор, Знач дополнительныеПоля = Неопределено) Экспорт
// - СправочникСсылка.Пользователи - Если `получитьОбъект` = Ложь
// - СправочникОбъект.Пользователи - Если `получитьОбъект` = Истина
Функция СоздатьПользователя(Знач имя, Знач идентификатор = Неопределено,
Знач дополнительныеПоля = Неопределено, Знач получитьОбъект = Ложь) Экспорт
новыйПользователь = Справочники.Пользователи.СоздатьЭлемент();
новыйПользователь.Наименование = имя;
идентификатор = ?(идентификатор = Неопределено,
Строка(Справочники.Пользователи.ПолучитьСсылку().УникальныйИдентификатор()),
идентификатор);
новыйПользователь.Код = идентификатор;

Если дополнительныеПоля <> Неопределено Тогда
Expand All @@ -62,7 +69,55 @@

новыйПользователь.Записать();

Возврат новыйПользователь.Ссылка;
Если получитьОбъект = Ложь Тогда
Возврат новыйПользователь.Ссылка;
Иначе
Возврат новыйПользователь;
КонецЕсли;
КонецФункции

// Выполняет поиск пользователя мобильного приложения
// Параметры:
// имяИлиИдентификатор - Строка - Имя пользователя или Идентификатор (Код) если `этоИдентификатор` = Истина
// этоИдентификатор - Булево
// Возвращаемое значение:
// - Структура
// * Имя - Строка
// * УникальныйИдентификатор - Строка
// - Неопределено - Если пользователь отсутствует
Функция НайтиПользователяПриложения(Знач имяИлиИдентификатор, этоИдентификатор = Ложь) Экспорт
пользовательСсылка = Неопределено;
Если этоИдентификатор = Ложь Тогда
пользовательСсылка = Справочники.Пользователи.НайтиПоНаименованию(имяИлиИдентификатор, Истина);
Иначе
пользовательСсылка = Справочники.Пользователи.НайтиПоКоду(имяИлиИдентификатор);
КонецЕсли;

Если пользовательСсылка = Неопределено ИЛИ пользовательСсылка.Пустая() Тогда
Возврат Неопределено;
КонецЕсли;

результат = РаботаСРеквизитами.ЗначенияРеквизитовОбъекта(
пользовательСсылка, Новый Структура("Наименование, Код, Клиент, ПометкаУдаления", "Имя", "УникальныйИдентификатор"));
Если пользовательСсылка.ПометкаУдаления Тогда
Возврат Неопределено;
КонецЕсли;

результат.Удалить("ПометкаУдаления");
результат.Вставить("Ссылка", пользовательСсылка);
Возврат результат;
КонецФункции

// Создает нового пользователя мобильного приложения
// Параметры:
// имяПользователя - Строка
// получитьОбъект - Булево - Если Ложь, будет возвращен `Объект` созданного элемента, иначе `Ссылка`
// Возвращаемое значение:
// - СправочникСсылка.Пользователи - Если `получитьОбъект` = Ложь
// - СправочникОбъект.Пользователи - Если `получитьОбъект` = Истина
Функция СоздатьПользователяПриложения(Знач имяПользователя, Знач получитьОбъект = Ложь) Экспорт
Возврат Справочники.Пользователи.СоздатьПользователя(
имяПользователя, Неопределено, Неопределено, получитьОбъект);
КонецФункции

#КонецОбласти // ПрограммныйИнтерфейс
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@
<ContextMenu name="НаименованиеКонтекстноеМеню" id="5"/>
<ExtendedTooltip name="НаименованиеРасширеннаяПодсказка" id="6"/>
</InputField>
<InputField name="Клиент" id="7">
<DataPath>Объект.Клиент</DataPath>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="КлиентКонтекстноеМеню" id="8"/>
<ExtendedTooltip name="КлиентРасширеннаяПодсказка" id="9"/>
</InputField>
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1">
Expand Down
26 changes: 26 additions & 0 deletions src/Catalogs/Сотрудники/Ext/ManagerModule.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,30 @@
Возврат СтрПодобнаПоРегулярномуВыражению(текст, шаблонПоиска);
КонецФункции

// Параметры:
// имяСотрудника - Строка
// Возвращаемое значение:
// - СправочникСсылка.Сотрудники
Функция НайтиСотрудникаПоИмени(Знач имяСотрудника) Экспорт
запрос = Новый Запрос;
запрос.Текст =
"ВЫБРАТЬ
| Сотрудники.Ссылка КАК Ссылка
|ИЗ
| Справочник.Сотрудники КАК Сотрудники
|ГДЕ
| Сотрудники.ПометкаУдаления = ЛОЖЬ
| И Сотрудники.Наименование = &ИмяСотрудника
|";
запрос.УстановитьПараметр("ИмяСотрудника", имяСотрудника);
результатЗапроса = запрос.Выполнить();
Если результатЗапроса.Пустой() Тогда
Возврат Неопределено;
КонецЕсли;

выборка = результатЗапроса.Выбрать();
выборка.Следующий();
Возврат выборка.Ссылка;
КонецФункции

#КонецОбласти // ПрограммныйИнтерфейс
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
<CommonModule uuid="5816f332-100e-41af-986b-bdae2e965e29">
<Properties>
<Name>ПреобразованиеТиповКлиентСервер</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Преобразование типов клиент сервер</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>
<ClientManagedApplication>true</ClientManagedApplication>
<Server>true</Server>
<ExternalConnection>false</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>false</ServerCall>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#Область ПрограммныйИнтерфейс

// Параметры:
// ЧислоСтрокой - Строка - Строка приводимая к числу
// ВозвращатьНеопределено - Булево - Если Истина и строка содержит некорректное значение, то возвращать Неопределено
// Возвращаемое значение:
// Число
Функция ПривестиСтрокуКЧислу(Знач числоСтрокой, Знач возвращатьНеопределено = Ложь) Экспорт
описаниеТипаЧисла = Новый ОписаниеТипов("Число");
результат = описаниеТипаЧисла.ПривестиЗначение(числоСтрокой);

Если возвращатьНеопределено И (результат = 0) Тогда

стр = Строка(числоСтрокой);
Если стр <> "" Тогда
Возврат Неопределено;
КонецЕсли;

стр = СтрЗаменить(СокрЛП(стр), "0", "");
Если (стр <> "") И (стр <> ".") И (стр <> ",") Тогда
Возврат Неопределено;
КонецЕсли;
КонецЕсли;

Возврат результат;
КонецФункции

#КонецОбласти // ПрограммныйИнтерфейс
Loading

0 comments on commit f03cf19

Please sign in to comment.