xml-2026.09.18-05.58.53

This commit is contained in:
iFCM-Snapshot
2026-09-18 06:08:46 +03:00
parent 7f7f5876fd
commit 98d90c3286
1403 changed files with 551931 additions and 29182 deletions
@@ -1531,8 +1531,8 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Form>ДействиеВыполнить</Form>
<Form>ДействиеПроверить</Form>
<Form>ДействиеВыполнить</Form>
<Form>ФормаБизнесПроцесса</Form>
<Form>ФормаСписка</Form>
</ChildObjects>
@@ -304,34 +304,35 @@
<MainAttribute>true</MainAttribute>
<UseAlways>
<Field>Список.Ссылка</Field>
<Field>Список.ЦифровойСчет</Field>
<Field>Список.ЭтоСчетОрганизации</Field>
</UseAlways>
<Settings xsi:type="DynamicList">
<ManualQuery>true</ManualQuery>
<DynamicDataRead>true</DynamicDataRead>
<QueryText>ВЫБРАТЬ
СправочникБанковскиеСчета.Ссылка,
СправочникБанковскиеСчета.ВерсияДанных,
СправочникБанковскиеСчета.ПометкаУдаления,
СправочникБанковскиеСчета.Предопределенный,
СправочникБанковскиеСчета.Владелец,
СправочникБанковскиеСчета.Код,
СправочникБанковскиеСчета.Наименование,
СправочникБанковскиеСчета.ВалютаДенежныхСредств,
СправочникБанковскиеСчета.НомерСчета,
СправочникБанковскиеСчета.Банк,
СправочникБанковскиеСчета.БанкРасчетов,
СправочникБанковскиеСчета.СчетУчета,
СправочникБанковскиеСчета.ВидСчета,
СправочникБанковскиеСчета.ТекстКорреспондента,
СправочникБанковскиеСчета.ТекстНазначения,
СправочникБанковскиеСчета.ВариантВыводаМесяца,
СправочникБанковскиеСчета.СуммаБезКопеек,
СправочникБанковскиеСчета.НомерИДатаРазрешения,
СправочникБанковскиеСчета.ДатаОткрытия,
СправочникБанковскиеСчета.ДатаЗакрытия,
СправочникБанковскиеСчета.Недействителен,
СправочникБанковскиеСчета.ВариантУказанияКПП,
СправочникБанковскиеСчета.Ссылка КАК Ссылка,
СправочникБанковскиеСчета.ВерсияДанных КАК ВерсияДанных,
СправочникБанковскиеСчета.ПометкаУдаления КАК ПометкаУдаления,
СправочникБанковскиеСчета.Предопределенный КАК Предопределенный,
СправочникБанковскиеСчета.Владелец КАК Владелец,
СправочникБанковскиеСчета.Код КАК Код,
СправочникБанковскиеСчета.Наименование КАК Наименование,
СправочникБанковскиеСчета.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств,
СправочникБанковскиеСчета.НомерСчета КАК НомерСчета,
СправочникБанковскиеСчета.Банк КАК Банк,
СправочникБанковскиеСчета.БанкРасчетов КАК БанкРасчетов,
СправочникБанковскиеСчета.СчетУчета КАК СчетУчета,
СправочникБанковскиеСчета.ВидСчета КАК ВидСчета,
СправочникБанковскиеСчета.ТекстКорреспондента КАК ТекстКорреспондента,
СправочникБанковскиеСчета.ТекстНазначения КАК ТекстНазначения,
СправочникБанковскиеСчета.ВариантВыводаМесяца КАК ВариантВыводаМесяца,
СправочникБанковскиеСчета.СуммаБезКопеек КАК СуммаБезКопеек,
СправочникБанковскиеСчета.НомерИДатаРазрешения КАК НомерИДатаРазрешения,
СправочникБанковскиеСчета.ДатаОткрытия КАК ДатаОткрытия,
СправочникБанковскиеСчета.ДатаЗакрытия КАК ДатаЗакрытия,
СправочникБанковскиеСчета.Недействителен КАК Недействителен,
СправочникБанковскиеСчета.ВариантУказанияКПП КАК ВариантУказанияКПП,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(СправочникБанковскиеСчета.Владелец) = ТИП(Справочник.Организации)
ТОГДА ИСТИНА
@@ -341,16 +342,17 @@
КОГДА НастройкиОбменСБанками.Недействительна = ЛОЖЬ
ТОГДА "Действует"
КОНЕЦ КАК ПрямойОбмен,
ДенежныеСредстваОстатки.СуммаВалОстаток КАК Остаток
ДенежныеСредстваОстатки.СуммаВалОстаток КАК Остаток,
СправочникБанковскиеСчета.ЦифровойСчет КАК ЦифровойСчет
ИЗ
Справочник.БанковскиеСчета КАК СправочникБанковскиеСчета
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиОбменСБанками КАК НастройкиОбменСБанками
ПО СправочникБанковскиеСчета.Банк = НастройкиОбменСБанками.Банк
И СправочникБанковскиеСчета.Владелец = НастройкиОбменСБанками.Организация
И НЕ НастройкиОбменСБанками.ПометкаУдаления
И НЕ НастройкиОбменСБанками.Недействительна
И СправочникБанковскиеСчета.Владелец = НастройкиОбменСБанками.Организация
И (НЕ НастройкиОбменСБанками.ПометкаУдаления)
И (НЕ НастройкиОбменСБанками.Недействительна)
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДенежныеСредства.Остатки КАК ДенежныеСредстваОстатки
ПО ДенежныеСредстваОстатки.БанковскийСчетКасса = СправочникБанковскиеСчета.Ссылка}</QueryText>
ПО (ДенежныеСредстваОстатки.БанковскийСчетКасса = СправочникБанковскиеСчета.Ссылка)}</QueryText>
<Field xsi:type="dcssch:DataSetFieldField">
<dcssch:dataPath>Ссылка</dcssch:dataPath>
<dcssch:field>Ссылка</dcssch:field>
@@ -493,6 +495,22 @@
<dcssch:dataPath>ИмяПредопределенныхДанных</dcssch:dataPath>
<dcssch:field>ИмяПредопределенныхДанных</dcssch:field>
</Field>
<Field xsi:type="dcssch:DataSetFieldField">
<dcssch:dataPath>ВыпискаЗагружаетсяПоДепозитномуСчету</dcssch:dataPath>
<dcssch:field>ВыпискаЗагружаетсяПоДепозитномуСчету</dcssch:field>
</Field>
<Field xsi:type="dcssch:DataSetFieldField">
<dcssch:dataPath>ОбезличенныйДепозитныйСчет</dcssch:dataPath>
<dcssch:field>ОбезличенныйДепозитныйСчет</dcssch:field>
</Field>
<Field xsi:type="dcssch:DataSetFieldField">
<dcssch:dataPath>ЦифровойСчет</dcssch:dataPath>
<dcssch:field>ЦифровойСчет</dcssch:field>
</Field>
<Field xsi:type="dcssch:DataSetFieldField">
<dcssch:dataPath>ИдентификаторЦифровогоСчета</dcssch:dataPath>
<dcssch:field>ИдентификаторЦифровогоСчета</dcssch:field>
</Field>
<Parameter>
<dcssch:name>Период</dcssch:name>
<dcssch:title xsi:type="v8:LocalStringType">
@@ -143,17 +143,6 @@
<CommandName>Form.Item.Список.StandardCommand.SetDeletionMark</CommandName>
<ExtendedTooltip name="СписокКонтекстноеМенюУстановитьПометкуУдаленияРасширеннаяПодсказка" id="113"/>
</Button>
<Button name="СписокКонтекстноеМенюУдалить" id="122">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.Удалить</CommandName>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="СписокКонтекстноеМенюУдалитьРасширеннаяПодсказка" id="123"/>
</Button>
</ChildItems>
</ContextMenu>
<AutoCommandBar name="СписокКоманднаяПанель" id="22">
@@ -234,18 +223,6 @@
<CommandName>Form.Item.Список.StandardCommand.SetDeletionMark</CommandName>
<ExtendedTooltip name="ФормаУстановитьПометкуУдаленияРасширеннаяПодсказка" id="109"/>
</Button>
<Button name="ФормаУдалить" id="118">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.Удалить</CommandName>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить</v8:content>
</v8:item>
</Title>
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ФормаУдалитьРасширеннаяПодсказка" id="119"/>
</Button>
</ChildItems>
</ButtonGroup>
<Button name="ПоказыватьПомеченныеФайлы" id="120">
@@ -772,28 +749,6 @@
</ToolTip>
<Action>ПоказыватьПомеченныеФайлы</Action>
</Command>
<Command name="Удалить" id="8">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить данные версии файла</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>StdPicture.DeleteDirectly</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>Удалить</Action>
<CurrentRowUse>Use</CurrentRowUse>
<AssociatedTableElementId xsi:type="xs:string">Список</AssociatedTableElementId>
<SelectedRowsUse>DontUse</SelectedRowsUse>
</Command>
</Commands>
<Parameters>
<Parameter name="Файл">
@@ -198,19 +198,6 @@
КонецПроцедуры
&НаКлиенте
Процедура Удалить(Команда)
Если Элементы.Список.ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект),
Элементы.Список.ТекущиеДанные.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПомеченныеФайлы(Команда)
@@ -233,16 +220,6 @@
АвторТекущийПользователь =
Элементы.Список.ТекущиеДанные.Автор = ПользователиКлиент.АвторизованныйПользователь();
Элементы.ФормаУдалить.Доступность = АвторТекущийПользователь;
Элементы.СписокКонтекстноеМенюУдалить.Доступность = АвторТекущийПользователь;
КонецПроцедуры
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Элементы.Список.Обновить();
КонецПроцедуры
&НаСервере
@@ -83,17 +83,6 @@
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="СписокПоказыватьПомеченныеФайлыРасширеннаяПодсказка" id="107"/>
</Button>
<Button name="СписокУдалить" id="108">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.Удалить</CommandName>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="СписокУдалитьРасширеннаяПодсказка" id="109"/>
</Button>
</ChildItems>
</AutoCommandBar>
<ExtendedTooltip name="СписокРасширеннаяПодсказка" id="27"/>
@@ -121,9 +110,6 @@
<ContextMenu name="СписокУправлениеПоискомКонтекстноеМеню" id="49"/>
<ExtendedTooltip name="СписокУправлениеПоискомРасширеннаяПодсказка" id="50"/>
</SearchControlAddition>
<Events>
<Event name="OnActivateRow">СписокПриАктивизацииСтроки</Event>
</Events>
<ChildItems>
<ColumnGroup name="ГруппаФайлКомментарий" id="110">
<Title>
@@ -284,27 +270,5 @@
</ToolTip>
<Action>ПоказыватьПомеченныеФайлы</Action>
</Command>
<Command name="Удалить" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить данные версии файла</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>StdPicture.DeleteDirectly</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>Удалить</Action>
<CurrentRowUse>Use</CurrentRowUse>
<AssociatedTableElementId xsi:type="xs:string">Список</AssociatedTableElementId>
<SelectedRowsUse>DontUse</SelectedRowsUse>
</Command>
</Commands>
</Form>
@@ -43,37 +43,8 @@
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
Если Элементы.Список.ТекущаяСтрока <> Неопределено
И ТипЗнч(Элементы.Список.ТекущиеДанные) = Тип("ДанныеФормыСтруктура")
И Элементы.Список.ТекущиеДанные.Свойство("Автор") Тогда
Элементы.СписокУдалить.Доступность =
Элементы.Список.ТекущиеДанные.Автор = ПользователиКлиент.АвторизованныйПользователь();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Удалить(Команда)
Если Элементы.Список.ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект),
Элементы.Список.ТекущиеДанные.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПомеченныеФайлы(Команда)
@@ -81,15 +52,4 @@
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Элементы.Список.Обновить();
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -89,17 +89,6 @@
<CommandName>Form.Item.Список.StandardCommand.SetDeletionMark</CommandName>
<ExtendedTooltip name="СписокКонтекстноеМенюУстановитьПометкуУдаленияРасширеннаяПодсказка" id="36"/>
</Button>
<Button name="СписокКонтекстноеМенюУдалить" id="76">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.Удалить</CommandName>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="СписокКонтекстноеМенюУдалитьРасширеннаяПодсказка" id="77"/>
</Button>
</ChildItems>
</ContextMenu>
<AutoCommandBar name="СписокКоманднаяПанель" id="3">
@@ -130,18 +119,6 @@
<CommandName>Form.Item.Список.StandardCommand.SetDeletionMark</CommandName>
<ExtendedTooltip name="УстановитьПометкуУдаленияРасширеннаяПодсказка" id="71"/>
</Button>
<Button name="ФормаУдалить" id="72">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.Удалить</CommandName>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить</v8:content>
</v8:item>
</Title>
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ФормаУдалитьРасширеннаяПодсказка" id="73"/>
</Button>
</ChildItems>
</ButtonGroup>
<Button name="ПоказыватьПомеченныеФайлы" id="74">
@@ -443,28 +420,6 @@
</Attribute>
</Attributes>
<Commands>
<Command name="Удалить" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить данные версии файла</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>StdPicture.DeleteDirectly</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>Удалить</Action>
<CurrentRowUse>Use</CurrentRowUse>
<AssociatedTableElementId xsi:type="xs:string">Список</AssociatedTableElementId>
<SelectedRowsUse>DontUse</SelectedRowsUse>
</Command>
<Command name="ПоказыватьПомеченныеФайлы" id="2">
<Title>
<v8:item>
@@ -101,19 +101,6 @@
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Удалить(Команда)
Если Элементы.Список.ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект),
Элементы.Список.ТекущиеДанные.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПомеченныеФайлы(Команда)
@@ -135,17 +122,7 @@
АвторТекущийПользователь =
Элементы.Список.ТекущиеДанные.Автор = ПользователиКлиент.АвторизованныйПользователь();
Элементы.ФормаУдалить.Доступность = АвторТекущийПользователь;
Элементы.СписокКонтекстноеМенюУдалить.Доступность = АвторТекущийПользователь;
КонецПроцедуры
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Элементы.Список.Обновить();
КонецПроцедуры
&НаКлиенте
@@ -178,6 +178,7 @@
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
Методы.Вставить("ОбработатьДанныеПриПовторнойЗагрузкеКлассификатора");
КонецПроцедуры
@@ -485,9 +485,6 @@
<Width>35</Width>
<PagesRepresentation>TabsOnTop</PagesRepresentation>
<ExtendedTooltip name="ПраваяПанельСтраницыРасширеннаяПодсказка" id="315"/>
<Events>
<Event name="OnCurrentPageChange">ПраваяПанельСтраницыПриСменеСтраницы</Event>
</Events>
<ChildItems>
<Page name="ФильтрыНастройкиИДопИнфо" id="316">
<Title>
@@ -1413,6 +1413,9 @@
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="АутентификацияДляНовогоПользователя" id="48">
<Type/>
</Attribute>
</Attributes>
<Commands>
<Command name="РолиПоказатьТолькоВыбранные" id="3">
@@ -36,6 +36,10 @@
КонецЦикла;
КонецЕсли;
АутентификацияДляНовогоПользователя =
ПользователиСлужебный.АутентификацияДляНовогоПользователя();
АутентификацияДляНовогоПользователя.Удалить("ПользовательИБАутентификацияОС");
// Подготовка к интерактивным действиям с учетом сценариев открытия формы.
УровеньДоступа = ПользователиСлужебный.УровеньДоступаКСвойствамПользователя(Объект);
@@ -622,21 +626,10 @@
Если Объект.Недействителен Тогда
ВходВПрограммуРазрешен = Ложь;
Если Не ПользовательИБАутентификацияOpenID
И Не ПользовательИБАутентификацияOpenIDConnect
И Не ПользовательИБАутентификацияТокеномДоступа
И Не ЗначенияПрямогоИзменения.АутентификацияСтандартная
И ПользовательИБАутентификацияСтандартная Тогда
ПользовательИБАутентификацияСтандартная = Ложь;
КонецЕсли;
ОтключитьНачальнуюАутентификацию();
ИначеЕсли ЗначенияПрямогоИзменения.ВходВПрограммуРазрешен Тогда
Если Не ПользовательИБАутентификацияСтандартная
И Не ПользовательИБАутентификацияOpenID
И Не ПользовательИБАутентификацияOpenIDConnect
И Не ПользовательИБАутентификацияТокеномДоступа Тогда
ПользовательИБАутентификацияСтандартная = Истина;
КонецЕсли;
ВключитьНачальнуюАутентификацию();
ВходВПрограммуРазрешен = Истина;
КонецЕсли;
@@ -657,25 +650,14 @@
Возврат;
КонецЕсли;
Если Не ВходВПрограммуРазрешен
И Не ПользовательИБАутентификацияOpenID
И Не ПользовательИБАутентификацияOpenIDConnect
И Не ПользовательИБАутентификацияТокеномДоступа
И Не ЗначенияПрямогоИзменения.АутентификацияСтандартная
И ПользовательИБАутентификацияСтандартная Тогда
ПользовательИБАутентификацияСтандартная = Ложь;
Если Не ВходВПрограммуРазрешен Тогда
ОтключитьНачальнуюАутентификацию();
КонецЕсли;
ОбновитьИмяДляВхода(ЭтотОбъект);
Если ВходВПрограммуРазрешен
И Не ПользовательИБАутентификацияOpenID
И Не ПользовательИБАутентификацияOpenIDConnect
И Не ПользовательИБАутентификацияТокеномДоступа
И Не ПользовательИБАутентификацияСтандартная Тогда
ПользовательИБАутентификацияСтандартная = Истина;
Если ВходВПрограммуРазрешен Тогда
ВключитьНачальнуюАутентификацию();
КонецЕсли;
УстановитьДоступностьСвойств(ЭтотОбъект);
@@ -762,6 +744,7 @@
Процедура ПользовательИБАутентификацияOpenIDПриИзменении(Элемент)
АутентификацияПриИзменении();
ЗначенияПрямогоИзменения.АутентификацияOpenID = ПользовательИБАутентификацияOpenID;
КонецПроцедуры
@@ -769,6 +752,7 @@
Процедура ПользовательИБАутентификацияOpenIDConnectПриИзменении(Элемент)
АутентификацияПриИзменении();
ЗначенияПрямогоИзменения.АутентификацияOpenIDConnect = ПользовательИБАутентификацияOpenIDConnect;
КонецПроцедуры
@@ -776,6 +760,7 @@
Процедура ПользовательИБАутентификацияТокеномДоступаПриИзменении(Элемент)
АутентификацияПриИзменении();
ЗначенияПрямогоИзменения.АутентификацияТокеномДоступа = ПользовательИБАутентификацияТокеномДоступа;
КонецПроцедуры
@@ -1323,6 +1308,39 @@
КонецПроцедуры
&НаКлиенте
Процедура ВключитьНачальнуюАутентификацию()
Если Не ПользовательИБАутентификацияСтандартная
И Не ПользовательИБАутентификацияOpenID
И Не ПользовательИБАутентификацияOpenIDConnect
И Не ПользовательИБАутентификацияТокеномДоступа Тогда
ЗаполнитьЗначенияСвойств(ЭтотОбъект, АутентификацияДляНовогоПользователя);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтключитьНачальнуюАутентификацию()
Если (Не ПользовательИБАутентификацияСтандартная
Или Не ЗначенияПрямогоИзменения.АутентификацияСтандартная)
И (Не ПользовательИБАутентификацияOpenID
Или Не ЗначенияПрямогоИзменения.АутентификацияOpenID)
И (Не ПользовательИБАутентификацияOpenIDConnect
Или Не ЗначенияПрямогоИзменения.АутентификацияOpenIDConnect)
И (Не ПользовательИБАутентификацияТокеномДоступа
Или Не ЗначенияПрямогоИзменения.АутентификацияТокеномДоступа) Тогда
ПользовательИБАутентификацияСтандартная = Ложь;
ПользовательИБАутентификацияOpenID = Ложь;
ПользовательИБАутентификацияOpenIDConnect = Ложь;
ПользовательИБАутентификацияТокеномДоступа = Ложь;
КонецЕсли;
КонецПроцедуры
// Продолжение процедуры СменитьПароль.
&НаКлиенте
Процедура СменитьПарольПослеПолученияПароля(Результат, Контекст) Экспорт
@@ -1667,7 +1685,6 @@
// Сопоставление пользователя ИБ с пользователем в справочнике.
Если Пользователи.ВходВПрограммуРазрешен(ПрочитанныеСвойства) Тогда
ВходВПрограммуРазрешен = Истина;
ОписаниеПользователяИБ.АутентификацияСтандартная = Истина;
КонецЕсли;
// Копирование свойств и ролей пользователяИБ.
@@ -1769,6 +1786,8 @@
ПользовательИБАутентификацияOpenID = ХранимыеСвойства.АутентификацияOpenID;
ПользовательИБАутентификацияOpenIDConnect = ХранимыеСвойства.АутентификацияOpenIDConnect;
ПользовательИБАутентификацияТокеномДоступа = ХранимыеСвойства.АутентификацияТокеномДоступа;
ИначеЕсли Не ПользовательИБОсновной И ВходВПрограммуРазрешен Тогда
ЗаполнитьЗначенияСвойств(ЭтотОбъект, АутентификацияДляНовогоПользователя);
КонецЕсли;
ОбработатьИнтерфейсРолей("ЗаполнитьРоли", ОписаниеПользователяИБ.Роли);
@@ -1784,12 +1803,18 @@
ЗначенияПрямогоИзменения.Вставить("ВходВПрограммуРазрешен", ВходВПрограммуРазрешен);
ЗначенияПрямогоИзменения.Вставить("Имя", ПользовательИБИмя);
ЗначенияПрямогоИзменения.Вставить("АутентификацияСтандартная", ПользовательИБАутентификацияСтандартная);
ЗначенияПрямогоИзменения.Вставить("АутентификацияOpenID", ПользовательИБАутентификацияOpenID);
ЗначенияПрямогоИзменения.Вставить("АутентификацияOpenIDConnect", ПользовательИБАутентификацияOpenIDConnect);
ЗначенияПрямогоИзменения.Вставить("АутентификацияТокеномДоступа", ПользовательИБАутентификацияТокеномДоступа);
ЗначенияПрямогоИзменения.Вставить("ПотребоватьСменуПароляПриВходе", ПотребоватьСменуПароляПриВходе);
ЗначенияПрямогоИзменения.Вставить("ЗапрещеноИзменятьПароль", ПользовательИБЗапрещеноИзменятьПароль);
ЗначенияПрямогоИзменения.Вставить("ЗапрещеноВосстанавливатьПароль", ПользовательИБЗапрещеноВосстанавливатьПароль);
Если Не ПользовательИБСуществует Тогда
ЗначенияПрямогоИзменения.АутентификацияСтандартная = Ложь;
ЗначенияПрямогоИзменения.АутентификацияСтандартная = Ложь;
ЗначенияПрямогоИзменения.АутентификацияOpenID = Ложь;
ЗначенияПрямогоИзменения.АутентификацияOpenIDConnect = Ложь;
ЗначенияПрямогоИзменения.АутентификацияТокеномДоступа = Ложь;
КонецЕсли;
КонецПроцедуры
@@ -378,7 +378,7 @@
Попытка
Если ЭтоНовый() Тогда
ВнешнийОбъект = ВнешниеОтчеты.Создать(ИмяОбъекта);
ВнешнийОбъект = ВнешниеОтчеты.Создать(ИмяОбъекта); // Не нарушает безопасность информации, так как создается уже подключенный объект.
Иначе
ВнешнийОбъект = ДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(Ссылка);
КонецЕсли;
@@ -387,7 +387,7 @@
<Item id="32a49ef8-8de8-4204-bbc2-f91239810984">
<Name>ДрайверАТОЛККТ54ФЗ107X</Name>
<Code xsi:type="xs:decimal">0</Code>
<Description>АТОЛ:ККТ с передачей данных в ОФД 10.10.8.х</Description>
<Description>АТОЛ:ККТ с передачей данных в ОФД 10.10.9.х</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="6c1a3b02-3e48-4501-9f85-d7b6aea4b9c8">
@@ -630,6 +630,12 @@
<Description>Кассатка:ККТ с передачей данных Кассир-80Ф</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="6dd2ac7a-598b-461b-8210-02527491ec33">
<Name>ДрайверКАСТОМФ54ФЗx4</Name>
<Code xsi:type="xs:decimal">0</Code>
<Description>КАСТОМ:ККТ с передачей данных в ОФД</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="1f4a025b-1f74-4398-b8d9-5b22c74dad61">
<Name>ДрайверКАСТОМФ54ФЗ</Name>
<Code xsi:type="xs:decimal">0</Code>
@@ -7404,4 +7404,10 @@
<Description/>
<IsFolder>false</IsFolder>
</Item>
<Item id="19feb448-2abe-40a8-8fe3-ecfbf76afb29">
<Name>РегистрСведенийСведенияОФайлахСообщенийЭДО</Name>
<Code/>
<Description/>
<IsFolder>false</IsFolder>
</Item>
</PredefinedData>
@@ -202,16 +202,6 @@
<xr:Common>false</xr:Common>
</Visible>
</Item>
<Item>
<Command>DataProcessor.ЭлектронныеДокументыОтправкаКаталога.Command.ЗагрузкаДанныхКонтрагента</Command>
<Type>Auto</Type>
<CommandGroup>FormNavigationPanelSeeAlso</CommandGroup>
<Index>1</Index>
<DefaultVisible>false</DefaultVisible>
<Visible>
<xr:Common>false</xr:Common>
</Visible>
</Item>
<Item>
<Command>CommonCommand.Отчеты</Command>
<Type>Auto</Type>
@@ -1323,14 +1323,6 @@
<xr:Common>false</xr:Common>
</Visible>
</Item>
<Item>
<Command>DataProcessor.ЭлектронныеДокументыОтправкаКаталога.Command.ЗагрузкаДанныхКонтрагента</Command>
<Type>Auto</Type>
<DefaultVisible>false</DefaultVisible>
<Visible>
<xr:Common>false</xr:Common>
</Visible>
</Item>
<Item>
<Command>Catalog.НоменклатураПоставщиков.Command.ОткрытьНоменклатуруПоставщиковИзКонтрагента</Command>
<Type>Auto</Type>
@@ -743,7 +743,7 @@
ОшибкиЗаполнения = НовыйНаборОшибокЗаполненияОбъектаМЧД();
ЗаполнитьОбъектМЧДРекурсивно(Объект, ДанныеМЧД, "Доверенность", ОшибкиЗаполнения);
СброситьВзаимоисключающиеИНеподдерживаемыеСвойстваXDTOМЧД(Объект);
СброситьВзаимоисключающиеНеподдерживаемыеИПустыеСвойстваXDTOМЧД(Объект);
ПроверитьОбъектМЧДРекурсивно(Объект, "Доверенность", ОшибкиЗаполнения);
ПроверитьУсловныеПоляОбъектаМЧД(Объект, ОшибкиЗаполнения);
@@ -774,7 +774,7 @@
ОшибкиЗаполнения = НовыйНаборОшибокЗаполненияОбъектаМЧД();
ЗаполнитьОбъектМЧДРекурсивно(Объект, ДанныеМЧД, "Доверенность", ОшибкиЗаполнения);
СброситьВзаимоисключающиеИНеподдерживаемыеСвойстваXDTOМЧДПередоверия(Объект);
СброситьВзаимоисключающиеНеподдерживаемыеИПустыеСвойстваXDTOМЧДПередоверия(Объект);
ПроверитьОбъектМЧДРекурсивно(Объект, "Доверенность", ОшибкиЗаполнения);
ПроверитьУсловныеПоляОбъектаМЧДПередоверия(Объект, ОшибкиЗаполнения);
@@ -4204,7 +4204,7 @@
// Параметры:
// Доверенность - см. XDTOПакет.ON_EMCHD_1_928_00_01_01_01.Доверенность
//
Процедура СброситьВзаимоисключающиеИНеподдерживаемыеСвойстваXDTOМЧДПередоверия(Доверенность)
Процедура СброситьВзаимоисключающиеНеподдерживаемыеИПустыеСвойстваXDTOМЧДПередоверия(Доверенность)
СброситьНеподдерживаемыеСвойстваПередоверия(Доверенность);
@@ -4227,6 +4227,7 @@
Представители = Доверенность.Документ.Передов.СвПолучПолн; // СписокXDTO Из См. XDTOПакет.ON_EMCHD_1_928_00_01_01_01.СвУпПредТип
Для Каждого Представитель Из Представители Цикл
СброситьВзаимоисключающиеСвойстваПредставителяПередоверия(Представитель);
СброситьПустыеСвойстваПредставителя(Представитель);
КонецЦикла;
СброситьВзаимоисключающиеСвойстваПолномочийПередоверия(Доверенность);
@@ -4424,7 +4425,7 @@
// Параметры:
// Доверенность - см. XDTOПакет.ON_EMCHD_1_928_00_01_01_01.Доверенность
//
Процедура СброситьВзаимоисключающиеИНеподдерживаемыеСвойстваXDTOМЧД(Доверенность)
Процедура СброситьВзаимоисключающиеНеподдерживаемыеИПустыеСвойстваXDTOМЧД(Доверенность)
СброситьНеподдерживаемыеСвойства(Доверенность);
@@ -4444,6 +4445,7 @@
Для Каждого Представитель Из Представители Цикл
СброситьВзаимоисключающиеСвойстваПредставителя(Представитель);
СброситьПустыеСвойстваПредставителя(Представитель);
КонецЦикла;
@@ -4544,6 +4546,73 @@
КонецПроцедуры
// Сбрасывает пустые свойства представителя.
//
// Параметры:
// Представитель - см. XDTOПакет.ON_EMCHD_1_928_00_01_01_01.СвУпПредТип
Процедура СброситьПустыеСвойстваПредставителя(Представитель)
СброситьПустыеСвойстваПредставителяФизическогоЛица(Представитель);
СброситьПустыеСвойстваПредставителяИП(Представитель)
КонецПроцедуры
// Сбрасывает пустые свойства представителя - физического лица.
//
// Параметры:
// Представитель - см. XDTOПакет.ON_EMCHD_1_928_00_01_01_01.СвУпПредТип
Процедура СброситьПустыеСвойстваПредставителяФизическогоЛица(Представитель)
Если Представитель.ТипПред <> ТипыПредставителей().ФизическоеЛицо Тогда
Возврат;
КонецЕсли;
СведенияФизическогоЛица = Представитель.Пред.СведФизЛ.СведФЛ;
СброситьПустоеСвойствоДУЛПредставителяФизическогоЛица(СведенияФизическогоЛица);
КонецПроцедуры
// Сбрасывает пустые свойства представителя - ИП.
//
// Параметры:
// Представитель - см. XDTOПакет.ON_EMCHD_1_928_00_01_01_01.СвУпПредТип
Процедура СброситьПустыеСвойстваПредставителяИП(Представитель)
Если Представитель.ТипПред <> ТипыПредставителей().ИндивидуальныйПредприниматель Тогда
Возврат;
КонецЕсли;
СведенияФизическогоЛица = Представитель.Пред.СведИП.СведФЛ;
СброситьПустоеСвойствоДУЛПредставителяФизическогоЛица(СведенияФизическогоЛица);
КонецПроцедуры
// Сбрасывает свойство УдЛичнФЛ (документ, удостоверяющий личность физического лица), если одновременно не заполнены
// все свойства, входящие в его состав.
// Если этого не сделать, то при записи объекта XDTO будет записан пустой узел <УдЛичнФЛ/> и это приведет к ошибке
// регистрации доверенности.
//
// Параметры:
// СведенияФизическогоЛица - см. XDTOПакет.ON_EMCHD_1_928_00_01_01_01.СведФЛТип
Процедура СброситьПустоеСвойствоДУЛПредставителяФизическогоЛица(СведенияФизическогоЛица)
СвойстваЗаполнены = Ложь;
УдостоверениеЛичностиФизическогоЛица = СведенияФизическогоЛица.УдЛичнФЛ;
Для Каждого Свойство Из УдостоверениеЛичностиФизическогоЛица.Свойства() Цикл
Если УдостоверениеЛичностиФизическогоЛица.Установлено(Свойство.Имя) Тогда
СвойстваЗаполнены = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если Не СвойстваЗаполнены Тогда
СведенияФизическогоЛица.Сбросить("УдЛичнФЛ");
КонецЕсли;
КонецПроцедуры
// Сбросить взаимоисключающие свойства полномочий.
//
// Параметры:
@@ -612,7 +612,6 @@
ЗаполнитьЭлементСправочника(ОбъектСправочника, ДанныеИзФайлаОбмена, ДанныеДляЗагрузки,
ТребуетсяПроверкаМЧДНаКлиенте, РезультатПроверкиНаСервере);
Результат.ТребуетсяПроверкаМЧДНаКлиенте = ТребуетсяПроверкаМЧДНаКлиенте;
КонецЕсли;
@@ -692,6 +691,7 @@
СведенияМЧД.ПолномочияУказаныИзКлассификатора = МашиночитаемыеДоверенности.ПолномочияМЧДУказаныИзКлассификатора( ,
ОбъектСправочника.ВариантЗаполненияПолномочий);
Результат.Сведения = СведенияМЧД;
Результат.ТребуетсяПроверкаМЧДНаКлиенте = ТребуетсяПроверкаМЧДНаКлиенте;
Возврат Результат;
@@ -2545,6 +2545,100 @@
</Attribute>
</ChildObjects>
</TabularSection>
<TabularSection uuid="51f07b06-0a99-41e0-b201-f77a02949f69">
<InternalInfo>
<xr:GeneratedType name="CatalogTabularSection.НастройкиОбменСБанками.ДополнительныеБанки" category="TabularSection">
<xr:TypeId>09e148b5-a89c-4e42-87b6-5fb5cf515f91</xr:TypeId>
<xr:ValueId>c0e00546-e65f-4208-8a10-b5449158b9b6</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogTabularSectionRow.НастройкиОбменСБанками.ДополнительныеБанки" category="TabularSectionRow">
<xr:TypeId>7ba129ce-0818-4aab-b407-0d1315ec2e8f</xr:TypeId>
<xr:ValueId>1a350ce9-3617-4fd2-8986-1434c3225100</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ДополнительныеБанки</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дополнительные банки</v8:content>
</v8:item>
</Synonym>
<Comment/>
<ToolTip/>
<FillChecking>DontCheck</FillChecking>
<StandardAttributes>
<xr:StandardAttribute name="LineNumber">
<xr:LinkByType/>
<xr:FillChecking>DontCheck</xr:FillChecking>
<xr:MultiLine>false</xr:MultiLine>
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
<xr:CreateOnInput>Auto</xr:CreateOnInput>
<xr:TypeReductionMode>TransformValues</xr:TypeReductionMode>
<xr:MaxValue xsi:nil="true"/>
<xr:ToolTip/>
<xr:ExtendedEdit>false</xr:ExtendedEdit>
<xr:Format/>
<xr:ChoiceForm/>
<xr:QuickChoice>Auto</xr:QuickChoice>
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
<xr:EditFormat/>
<xr:PasswordMode>false</xr:PasswordMode>
<xr:DataHistory>Use</xr:DataHistory>
<xr:MarkNegatives>false</xr:MarkNegatives>
<xr:MinValue xsi:nil="true"/>
<xr:Synonym/>
<xr:Comment/>
<xr:FullTextSearch>Use</xr:FullTextSearch>
<xr:ChoiceParameterLinks/>
<xr:FillValue xsi:nil="true"/>
<xr:Mask/>
<xr:ChoiceParameters/>
</xr:StandardAttribute>
</StandardAttributes>
<Use>ForItem</Use>
<LineNumberLength>5</LineNumberLength>
</Properties>
<ChildObjects>
<Attribute uuid="f4f61b5e-00d5-4361-9cba-60890f428184">
<Properties>
<Name>Банк</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Банк</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:TypeSet>cfg:DefinedType.БанкОбменСБанками</v8:TypeSet>
</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"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
</ChildObjects>
</TabularSection>
<Form>АвтоматическоеПолучениеВыписки</Form>
<Form>АутентификацияСбербанк</Form>
<Form>ПомощникСозданияНастройкиОбмена</Form>
@@ -2552,6 +2646,7 @@
<Form>ФормаВыбора</Form>
<Form>ФормаСписка</Form>
<Form>ФормаЭлемента</Form>
<Form>ФормаВыбораДополнительногоБанка</Form>
<Template>СписокБанков</Template>
<Template>СписокБанковВТестовомРежиме</Template>
<Template>СписокБанковДополнительный</Template>
@@ -58,6 +58,32 @@
КонецЕсли;
КонецЕсли;
СтарыеДополнительныеБанки = Новый Массив;
Если Не ЭтоНовый() И ОбменСБанкамиСлужебный.ДоступнаЗагрузкаВыписокДругихБанков() Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеБанки.Банк КАК Банк
|ИЗ
| Справочник.НастройкиОбменСБанками.ДополнительныеБанки КАК ДополнительныеБанки
|ГДЕ
| ДополнительныеБанки.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
СтарыеДополнительныеБанки.Добавить(Выборка.Банк);
КонецЦикла;
ТекущиеДополнительныеБанки = ДополнительныеБанки.ВыгрузитьКолонку("Банк");
НовыеБанкиВыписки = ОбщегоНазначенияКлиентСервер.РазностьМассивов(ТекущиеДополнительныеБанки, СтарыеДополнительныеБанки);
Если НовыеБанкиВыписки.Количество()> 0 Тогда
ДополнительныеСвойства.Вставить("НовыеБанкиВыписки", НовыеБанкиВыписки);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
@@ -69,7 +95,7 @@
ЕстьПоддержкаПисем = ОбменСБанкамиСлужебный.ЕстьПоддержкаПисем();
Если Не ЕстьПоддержкаПисем Тогда
УстановитьПривилегированныйРежим(Истина);
УстановитьПривилегированныйРежим(Истина);
ЕстьИсторияПисем = ОбменСБанкамиСлужебный.ЕстьИсторияПисем();
ДоступностьПисем = ЕстьПоддержкаПисем Или ЕстьИсторияПисем;
Константы.ПисьмаОбменСБанками.Установить(ДоступностьПисем);
@@ -83,6 +109,32 @@
Параметры, , НаименованиеЗадания);
КонецЕсли;
Если Не Недействительна И Не ПометкаУдаления Тогда
УдалитьБанкИзНастройкиИнтегратора(Организация, Банк);
КонецЕсли;
НовыеБанкиВыписки = Неопределено;
Если ДополнительныеСвойства.Свойство("НовыеБанкиВыписки", НовыеБанкиВыписки) Тогда
Для Каждого ДополнительныйБанк Из НовыеБанкиВыписки Цикл
// Отключаем настройку для полного обмена
ПараметрыОтбора = ОбменСБанкамиКлиентСервер.НовыеПараметрыОтбораНастройкиОбмена();
ПараметрыОтбора.Организация = Организация;
ПараметрыОтбора.Банк = ДополнительныйБанк;
ПараметрыОтбора.ИсключаяНастройки.Добавить(Ссылка);
НастройкаПолногоОбмена = ОбменСБанкамиСлужебный.НастройкаОбменаПоОтбору(ПараметрыОтбора);
Если ЗначениеЗаполнено(НастройкаПолногоОбмена) Тогда
ОбъектПолногоОбмена = НастройкаПолногоОбмена.ПолучитьОбъект();
ОбъектПолногоОбмена.Недействительна = Истина;
ОбъектПолногоОбмена.Записать();
КонецЕсли;
// Удаляем из других настроек интеграторов
УдалитьБанкИзНастройкиИнтегратора(Организация, ДополнительныйБанк);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ПередУдалением(Отказ)
@@ -193,6 +245,36 @@
КонецФункции
Процедура УдалитьБанкИзНастройкиИнтегратора(Организация, Банк)
ПараметрыОтбора = ОбменСБанкамиКлиентСервер.НовыеПараметрыОтбораНастройкиОбмена();
ПараметрыОтбора.Организация = Организация;
ПараметрыОтбора.Банк = Банк;
ПараметрыОтбора.ТолькоДействительнаяДляДополнительныхБанков = Ложь;
ПараметрыОтбора.ОтборПоДополнительнымБанкам = Истина;
Если ЗначениеЗаполнено(Ссылка) Тогда
ПараметрыОтбора.ИсключаяНастройки.Добавить(Ссылка);
КонецЕсли;
НастройкаОбменаПредыдущая = ОбменСБанкамиСлужебный.НастройкаОбменаПоОтбору(ПараметрыОтбора);
Если ЗначениеЗаполнено(НастройкаОбменаПредыдущая) Тогда
ЭлементыКУдалению = Новый Массив;
ОбъектПредыдущейНастройки = НастройкаОбменаПредыдущая.ПолучитьОбъект();
Для Каждого СтрокаБанков Из ОбъектПредыдущейНастройки.ДополнительныеБанки Цикл
Если СтрокаБанков.Банк = Банк Тогда
ЭлементыКУдалению.Добавить(СтрокаБанков);
КонецЕсли;
КонецЦикла;
Если ЭлементыКУдалению.Количество() > 0 Тогда
Для Каждого СтрокаУдаления Из ЭлементыКУдалению Цикл
ОбъектПредыдущейНастройки.ДополнительныеБанки.Удалить(СтрокаУдаления);
КонецЦикла;
ОбъектПредыдущейНастройки.Записать();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Иначе
@@ -64,9 +64,17 @@
<DataPath>Пароль</DataPath>
<HorizontalStretch>false</HorizontalStretch>
<PasswordMode>true</PasswordMode>
<ChoiceButton>true</ChoiceButton>
<AutoMarkIncomplete>true</AutoMarkIncomplete>
<ChoiceButtonPicture>
<xr:Ref>CommonPicture.ВводимыеСимволыВидны</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</ChoiceButtonPicture>
<ContextMenu name="ПарольКонтекстноеМеню" id="13"/>
<ExtendedTooltip name="ПарольРасширеннаяПодсказка" id="14"/>
<Events>
<Event name="StartChoice">ПарольНачалоВыбора</Event>
</Events>
</InputField>
<Button name="ЗапуститьАвтоматическоеПолучениеВыписки" id="15">
<Type>UsualButton</Type>
@@ -1,7 +1,6 @@
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
@@ -15,6 +14,17 @@
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ПарольНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
ОбменСБанкамиСлужебныйКлиент.ОтобразитьСекретныеДанные(ЭтотОбъект, Элемент, "Пароль", СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
@@ -2610,6 +2610,211 @@
</UsualGroup>
</ChildItems>
</Page>
<Page name="СтраницаВыбораВариантаИнтеграцииБанка" id="1979">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выбор варианта обмена банка</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<ScrollOnCompress>false</ScrollOnCompress>
<ExtendedTooltip name="СтраницаВыбораВариантаИнтеграцииБанкаРасширеннаяПодсказка" id="1980"/>
<ChildItems>
<LabelDecoration name="ДекорацияЗаголовокСтраницаИнтеграции" id="1981">
<AutoMaxWidth>false</AutoMaxWidth>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Варианты обмена (можно будет изменить позже):</v8:content>
</v8:item>
</Title>
<ContextMenu name="ДекорацияЗаголовокСтраницаИнтеграцииКонтекстноеМеню" id="1982"/>
<ExtendedTooltip name="ДекорацияЗаголовокСтраницаИнтеграцииРасширеннаяПодсказка" id="1983"/>
</LabelDecoration>
<UsualGroup name="ГруппаПолныйОбмен" id="1984">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа полный обмен</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПолныйОбменРасширеннаяПодсказка" id="1985"/>
<ChildItems>
<UsualGroup name="ГруппаПолныйОбменЗаголовок" id="1986">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа полный обмен заголовок</v8:content>
</v8:item>
</Title>
<Group>HorizontalIfPossible</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПолныйОбменЗаголовокРасширеннаяПодсказка" id="1987"/>
<ChildItems>
<RadioButtonField name="ВариантИнтеграцииПолныйОбмен" id="1988">
<DataPath>ВариантИнтеграцииБанка</DataPath>
<TitleLocation>None</TitleLocation>
<GroupVerticalAlign>Center</GroupVerticalAlign>
<RadioButtonType>Auto</RadioButtonType>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Полный обмен</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:decimal">0</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ВариантИнтеграцииПолныйОбменКонтекстноеМеню" id="1989"/>
<ExtendedTooltip name="ВариантИнтеграцииПолныйОбменРасширеннаяПодсказка" id="1990"/>
</RadioButtonField>
<PictureDecoration name="ДекорацияКартинкаПолныйОбмен" id="1992">
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Декорация картинка полный обмен</v8:content>
</v8:item>
</Title>
<GroupHorizontalAlign>Center</GroupHorizontalAlign>
<Picture>
<xr:Ref>CommonPicture.ДиректБанкПолныйОбмен</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<ContextMenu name="ДекорацияКартинкаПолныйОбменКонтекстноеМеню" id="1993"/>
<ExtendedTooltip name="ДекорацияКартинкаПолныйОбменРасширеннаяПодсказка" id="1994"/>
</PictureDecoration>
</ChildItems>
</UsualGroup>
<LabelDecoration name="ДекорацияОписаниеПолныйОбмен" id="1995">
<AutoMaxWidth>false</AutoMaxWidth>
<Title formatted="true">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Прямой обмен документами с банком через 1С:ДиректБанк - со всеми доступными возможностями. Обратите внимание, что услуга может быть платной. Уточните &lt;link условия подключения&gt;условия подключения&lt;/&gt; для банка.</v8:content>
</v8:item>
</Title>
<ContextMenu name="ДекорацияОписаниеПолныйОбменКонтекстноеМеню" id="1996"/>
<ExtendedTooltip name="ДекорацияОписаниеПолныйОбменРасширеннаяПодсказка" id="1997"/>
<Events>
<Event name="URLProcessing">ДекорацияОписаниеПолныйОбменОбработкаНавигационнойСсылки</Event>
</Events>
</LabelDecoration>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаЗагрузкаВыпискиЧерезБанк" id="1998">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа загрузка выписки через банк</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаЗагрузкаВыпискиЧерезБанкРасширеннаяПодсказка" id="1999"/>
<ChildItems>
<UsualGroup name="ГруппаЗагрузкаВыпискиЧерезБанкЗаголовок" id="2000">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа загрузка выписки через банк заголовок</v8:content>
</v8:item>
</Title>
<Group>AlwaysHorizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаЗагрузкаВыпискиЧерезБанкЗаголовокРасширеннаяПодсказка" id="2001"/>
<ChildItems>
<RadioButtonField name="ВариантИнтеграцииЧерезБанк" id="2002">
<DataPath>ВариантИнтеграцииБанка</DataPath>
<TitleLocation>None</TitleLocation>
<RadioButtonType>Auto</RadioButtonType>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Загрузка банковской выписки через</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:decimal">1</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ВариантИнтеграцииЧерезБанкКонтекстноеМеню" id="2003"/>
<ExtendedTooltip name="ВариантИнтеграцииЧерезБанкРасширеннаяПодсказка" id="2004"/>
</RadioButtonField>
<LabelDecoration name="БанкИнтеграторНадпись" id="2006">
<ContextMenu name="БанкИнтеграторНадписьКонтекстноеМеню" id="2007"/>
<ExtendedTooltip name="БанкИнтеграторНадписьРасширеннаяПодсказка" id="2008"/>
</LabelDecoration>
<InputField name="БанкИнтеграторВыбор" id="2009">
<DataPath>БанкИнтегратор</DataPath>
<TitleLocation>None</TitleLocation>
<CreateButton>false</CreateButton>
<ListChoiceMode>true</ListChoiceMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="БанкИнтеграторВыборКонтекстноеМеню" id="2010"/>
<ExtendedTooltip name="БанкИнтеграторВыборРасширеннаяПодсказка" id="2011"/>
</InputField>
</ChildItems>
</UsualGroup>
<PictureDecoration name="ДекорацияКартинкаЗагрузкиЧерезБанк" id="2013">
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Декорация картинка загрузки через банк</v8:content>
</v8:item>
</Title>
<GroupHorizontalAlign>Center</GroupHorizontalAlign>
<Picture>
<xr:Ref>CommonPicture.ДиректБанкОбменЧерезБанкПосредник</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<ContextMenu name="ДекорацияКартинкаЗагрузкиЧерезБанкКонтекстноеМеню" id="2014"/>
<ExtendedTooltip name="ДекорацияКартинкаЗагрузкиЧерезБанкРасширеннаяПодсказка" id="2015"/>
</PictureDecoration>
<LabelDecoration name="ДекорацияОписаниеИнтеграцииЧерезБанк" id="2016">
<AutoMaxWidth>false</AutoMaxWidth>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Позволяет загружать только банковские выписки, без возможности отправки документов из 1С. При этом обмен происходит не напрямую, а через банк-посредник. Этот вариант выгодно использовать, если уже настроено подключение 1С:ДиректБанк к банку-посреднику и он предлагает более удобные условия для загрузки выписок, чем прямое подключение.</v8:content>
</v8:item>
</Title>
<ContextMenu name="ДекорацияОписаниеИнтеграцииЧерезБанкКонтекстноеМеню" id="2017"/>
<ExtendedTooltip name="ДекорацияОписаниеИнтеграцииЧерезБанкРасширеннаяПодсказка" id="2018"/>
</LabelDecoration>
</ChildItems>
</UsualGroup>
<LabelDecoration name="ДекорацияПодвалВыбораИнтеграции" id="2019">
<Visible>false</Visible>
<AutoMaxWidth>false</AutoMaxWidth>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>После завершения настройки вы сможете изменить выбранный вариант.</v8:content>
</v8:item>
</Title>
<ContextMenu name="ДекорацияПодвалВыбораИнтеграцииКонтекстноеМеню" id="2020"/>
<ExtendedTooltip name="ДекорацияПодвалВыбораИнтеграцииРасширеннаяПодсказка" id="2021"/>
</LabelDecoration>
</ChildItems>
</Page>
</ChildItems>
</Pages>
<LabelDecoration name="ИнформацияНаСайтеБанка" id="1071">
@@ -4207,6 +4412,44 @@
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="ВариантИнтеграцииБанка" id="91">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Вариант интеграции банка</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>10</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
</Attribute>
<Attribute name="БанкИнтегратор" id="92">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Банк интегратор</v8:content>
</v8:item>
</Title>
<Type>
<v8:TypeSet>cfg:DefinedType.БанкОбменСБанками</v8:TypeSet>
</Type>
</Attribute>
<Attribute name="ИспользуетсяСтраницаВыбораВариантаИнтеграцииБанка" id="93">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Используется страница выбора варианта интеграции банка</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="Далее" id="1">
@@ -78,6 +78,11 @@
ПараметрыФормыНаСервере.Вставить("УпрощенныйРежимНастройки", Параметры.УпрощенныйРежимНастройки);
КонецЕсли;
ПараметрыФормыНаСервере.Вставить("ТребуетсяПолныйОбмен", Ложь);
Если Параметры.Свойство("ТребуетсяПолныйОбмен") Тогда
ПараметрыФормыНаСервере.Вставить("ТребуетсяПолныйОбмен", Параметры.ТребуетсяПолныйОбмен);
КонецЕсли;
ЕстьПравоДобавленияНастройкиОбменСБанками = ПравоДоступа("Добавление", Метаданные.Справочники.НастройкиОбменСБанками);
Если Не ЕстьПравоДобавленияНастройкиОбменСБанками Тогда
@@ -144,7 +149,7 @@
НСтр("ru = 'Настройка 1С:ДиректБанк возможна только из расчетного счета.'");
КонецЕсли;
Возврат;
Иначе
@@ -442,10 +447,10 @@
&НаКлиенте
Процедура СпособАутентификацииПриИзменении(Элемент)
Если СпособАутентификации Тогда
Если СпособАутентификации = 1 Тогда // По логину
Элементы.СтраницаПользовательСмешанный.Видимость = Истина;
Элементы.СтраницаСертификатСмешанный.Видимость = Ложь;
Иначе
ИначеЕсли СпособАутентификации = 0 Тогда // По сертификату
Элементы.СтраницаПользовательСмешанный.Видимость = Ложь;
Элементы.СтраницаСертификатСмешанный.Видимость = Истина;
КонецЕсли;
@@ -517,21 +522,23 @@
&НаКлиенте
Процедура СертификатПодключенияПарольНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
ОтобразитьСекретныеДанные(Элемент, "СертификатПодключенияПароль");
ОбменСБанкамиСлужебныйКлиент.ОтобразитьСекретныеДанные(ЭтотОбъект, Элемент, "СертификатПодключенияПароль",
СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПарольСертификатаСмешанныйУННачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
ОтобразитьСекретныеДанные(Элемент, "ПарольСертификата");
ОбменСБанкамиСлужебныйКлиент.ОтобразитьСекретныеДанные(ЭтотОбъект, Элемент, "ПарольСертификата",
СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПарольСмешанныйУННачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
ОтобразитьСекретныеДанные(Элемент, "Пароль");
ОбменСБанкамиСлужебныйКлиент.ОтобразитьСекретныеДанные(ЭтотОбъект, Элемент, "Пароль", СтандартнаяОбработка);
КонецПроцедуры
@@ -681,10 +688,17 @@
#КонецОбласти
ДобавитьНовуюСтраницу(Элементы.СтраницаВыборОрганизацииИБанка);
НастройкаОбмена = ОбменСБанкамиСлужебныйВызовСервера.НастройкаОбмена(Организация, Банк, Ложь, Ложь);
ПереключитьШагПослеВыбораОрганизацииИБанка();
ЗаполнитьБанкИнтеграторЕслиДоступно();
Если ЗначениеЗаполнено(НастройкиОбменаСБанком) И ЗначениеЗаполнено(БанкИнтегратор) Тогда
Если ПустаяСтрока(НастройкиОбменаСБанком.АдресИнструкции) Тогда
ОчиститьОформлениеВДекорации(Элементы.ДекорацияОписаниеПолныйОбмен);
КонецЕсли;
СменитьСтраницуШаги(Элементы.СтраницаВыбораВариантаИнтеграцииБанка);
Иначе
НастройкаОбмена = ОбменСБанкамиСлужебныйВызовСервера.НастройкаОбмена(Организация, Банк, Ложь, Ложь);
ПереключитьШагПослеВыбораОрганизацииИБанка();
КонецЕсли;
ИначеЕсли (Элементы.Шаги.ТекущаяСтраница = Элементы.СтраницаSberAPI)
И ПрограммаБанка = ПредопределенноеЗначение("Перечисление.ПрограммыБанка.SberAPI") Тогда
@@ -977,6 +991,37 @@
СменитьСтраницуШаги(Элементы.СтраницаФинал);
ПодключитьОбработчикОжидания("НачатьПодключениеСервиса",0.1, Истина);
ИначеЕсли Элементы.Шаги.ТекущаяСтраница = Элементы.СтраницаВыбораВариантаИнтеграцииБанка Тогда
ДобавитьНовуюСтраницу(Элементы.СтраницаВыбораВариантаИнтеграцииБанка);
Если ВариантИнтеграцииБанка = 0 Тогда
НастройкаОбмена = ОбменСБанкамиСлужебныйВызовСервера.НастройкаОбмена(Организация, Банк, Ложь, Ложь);
ПереключитьШагПослеВыбораОрганизацииИБанка();
ИначеЕсли ВариантИнтеграцииБанка = 1 Тогда
НастройкиОбменаСБанком = ОбменСБанкамиСлужебныйВызовСервера.ПоставляемыеНастройкиОбмена(БанкИнтегратор, Истина);
НастройкаОбмена = ОбменСБанкамиСлужебныйВызовСервера.НастройкаОбмена(Организация, БанкИнтегратор, Ложь, Ложь);
Если ЗначениеЗаполнено(НастройкаОбмена) Тогда
СменитьСтраницуШаги(Элементы.СтраницаФинал);
ДополнительныеПараметры = Новый Структура;
Оповещение = Новый ОписаниеОповещения("ЗапроситьЭлектроннуюВыпискуБанкаЗавершение",
ЭтотОбъект, ДополнительныеПараметры);
ПараметрыВыписки = ОбменСБанкамиКлиентСервер.ПараметрыПолученияВыпискиБанка();
ПараметрыВыписки.НастройкаОбмена = НастройкаОбмена;
ПараметрыВыписки.Организация = Организация;
ПараметрыВыписки.БанкВладелец = Банк;
ДатаСеанса = ОбщегоНазначенияКлиент.ДатаСеанса();
ПараметрыВыписки.ДатаНачала = НачалоДня(ДатаСеанса);
ПараметрыВыписки.ДатаОкончания = КонецДня(ДатаСеанса);
ОбменСБанкамиКлиент.ПолучитьВыпискуПоПараметрам(Оповещение, ПараметрыВыписки);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
@@ -1295,21 +1340,30 @@
&НаКлиенте
Процедура ПарольНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
ОтобразитьСекретныеДанные(Элемент, "Пароль");
ОбменСБанкамиСлужебныйКлиент.ОтобразитьСекретныеДанные(ЭтотОбъект, Элемент, "Пароль", СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПарольСертификатаСмешанныйНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
ОтобразитьСекретныеДанные(Элемент, "ПарольСертификата");
ОбменСБанкамиСлужебныйКлиент.ОтобразитьСекретныеДанные(ЭтотОбъект, Элемент, "ПарольСертификата",
СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПарольСмешанныйНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
ОтобразитьСекретныеДанные(Элемент, "Пароль");
ОбменСБанкамиСлужебныйКлиент.ОтобразитьСекретныеДанные(ЭтотОбъект, Элемент, "Пароль", СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ДекорацияОписаниеПолныйОбменОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку(НастройкиОбменаСБанком.АдресИнструкции);
КонецПроцедуры
@@ -1589,24 +1643,32 @@
КонецЕсли;
Элементы.ТестированиеНастройкиОбменаКартинка.Картинка = Новый Картинка;
СинхронныйОбмен = ПредопределенноеЗначение("Перечисление.ПрограммыБанка.АльфаБанкОнлайн");
Элементы.ГруппаТестированиеНастройкиОбмена.Видимость = ПрограммаБанка <> СинхронныйОбмен;
Если СпособСозданияНастройки <> 0
И НЕ (ПрограммаБанка = ПредопределенноеЗначение("Перечисление.ПрограммыБанка.ОбменЧерезВК")
И СпособСозданияНастройки = 2)
И НЕ ПрограммаБанка = ПредопределенноеЗначение("Перечисление.ПрограммыБанка.СбербанкОнлайн") Тогда
Если ВариантИнтеграцииБанка = 0 Тогда // полный обмен
СинхронныйОбмен = ПредопределенноеЗначение("Перечисление.ПрограммыБанка.АльфаБанкОнлайн");
Элементы.ГруппаТестированиеНастройкиОбмена.Видимость = ПрограммаБанка <> СинхронныйОбмен;
Если СпособСозданияНастройки <> 0
И НЕ (ПрограммаБанка = ПредопределенноеЗначение("Перечисление.ПрограммыБанка.ОбменЧерезВК")
И СпособСозданияНастройки = 2)
И НЕ ПрограммаБанка = ПредопределенноеЗначение("Перечисление.ПрограммыБанка.СбербанкОнлайн") Тогда
Элементы.ГруппаПолучениеНастроекССервераБанка.Видимость = Ложь;
Иначе // Получение настроек с сервера банка
Элементы.ГруппаПолучениеНастроекССервераБанка.Видимость = Истина;
Элементы.ПолучениеНастроекОбменаКартинка.Картинка = БиблиотекаКартинок.ДлительнаяОперация48;
Элементы.СозданиеНастройкиОбменаКартинка.Картинка = Новый Картинка;
КонецЕсли;
Если СпособСозданияНастройки <> 0
И ПрограммаБанка = ПредопределенноеЗначение("Перечисление.ПрограммыБанка.SberAPI") Тогда
Элементы.СозданиеНастройкиОбменаКартинка.Картинка = БиблиотекаКартинок.ДлительнаяОперация48;
КонецЕсли;
ИначеЕсли ВариантИнтеграцииБанка = 1 Тогда // через банк интегратор
Элементы.ГруппаПолучениеНастроекССервераБанка.Видимость = Ложь;
Иначе // Получение настроек с сервера банка
Элементы.ГруппаПолучениеНастроекССервераБанка.Видимость = Истина;
Элементы.ПолучениеНастроекОбменаКартинка.Картинка = БиблиотекаКартинок.ДлительнаяОперация48;
Элементы.СозданиеНастройкиОбменаКартинка.Картинка = Новый Картинка;
КонецЕсли;
Если СпособСозданияНастройки <> 0
И ПрограммаБанка = ПредопределенноеЗначение("Перечисление.ПрограммыБанка.SberAPI") Тогда
Элементы.СозданиеНастройкиОбменаКартинка.Картинка = БиблиотекаКартинок.ДлительнаяОперация48;
Элементы.ГруппаСозданиеНастройкиОбмена.Видимость = Ложь;
Элементы.ГруппаТестированиеНастройкиОбмена.Видимость = Истина;
Элементы.ТестированиеНастройкиОбменаКартинка.Картинка = БиблиотекаКартинок.ДлительнаяОперация48;
КонецЕсли;
ИначеЕсли НоваяСтраница = Элементы.СтраницаАсинхронныйОбмен Тогда
@@ -1646,9 +1708,14 @@
ИначеЕсли НоваяСтраница = Элементы.СтраницаПолучениеССервера Тогда
Элементы.АдресСервераНастроек.КнопкаВыпадающегоСписка = Ложь;
Элементы.АдресСервераНастроек.Ширина = 33;
Элементы.АдресСервераНастроек.СписокВыбора.Очистить();
Если АдресаСерверовБанка.Количество() = 1 Тогда
Элементы.АдресСервераНастроек.Видимость = Ложь;
Иначе
Элементы.АдресСервераНастроек.Видимость = Истина;
Элементы.АдресСервераНастроек.КнопкаВыпадающегоСписка = Ложь;
Элементы.АдресСервераНастроек.Ширина = 33;
Элементы.АдресСервераНастроек.СписокВыбора.Очистить();
КонецЕсли;
Если АдресаСерверовБанка.Количество() > 1 Тогда
@@ -1868,6 +1935,7 @@
Если НастройкиОбменаСБанком.СпособАутентификации = "ИзФайла" Тогда
СменитьСтраницуШаги(Элементы.СтраницаВыборФайлаНастроек);
ИначеЕсли НастройкиОбменаСБанком.СпособАутентификации = "ПоЛогинуИлиСертификату" Тогда
УпрощенныйРежимНастройки = Ложь;
Оповещение = Новый ОписаниеОповещения(
"СменитьСтраницуПослеПолучениеССервераПослеЗаполненияПрограммКриптографии", ЭтотОбъект);
ЗаполнитьПрограммыКриптографии(Оповещение);
@@ -2140,7 +2208,31 @@
КонецЕсли;
Если ЗначениеЗаполнено(Организация) И ЗначениеЗаполнено(Банк) Тогда
НастройкаОбмена = ОбменСБанкамиСлужебныйВызовСервера.НастройкаОбмена(Организация, Банк, Ложь, Ложь);
ИспользуетсяСтраницаВыбораВариантаИнтеграцииБанка = Ложь;
ДанныеИнтеграции = ОбменСБанками.ИнтеграторыБанковскойВыписки(Организация, Банк);
Если ЗначениеЗаполнено(ДанныеИнтеграции) Тогда
ИспользуетсяСтраницаВыбораВариантаИнтеграцииБанка = Истина;
// получить текущий вариант
ПараметрыОтбора = ОбменСБанкамиКлиентСервер.НовыеПараметрыОтбораНастройкиОбмена();
ПараметрыОтбора.Организация = Организация;
ПараметрыОтбора.Банк = Банк;
ПараметрыОтбора.ОтборПоДополнительнымБанкам = ДоступенЗапросВыписки;
НастройкаОбмена = ОбменСБанкамиСлужебный.НастройкаОбменаПоОтбору(ПараметрыОтбора);
БанкНастройки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(НастройкаОбмена, "Банк");
ВариантИнтеграцииБанка = 0; // Полный обмен
Если ЗначениеЗаполнено(НастройкаОбмена) И БанкНастройки <> Банк
И Не ПараметрыФормыНаСервере.ТребуетсяПолныйОбмен Тогда
ВариантИнтеграцииБанка = 1; // Через банк интегратор
КонецЕсли;
Иначе
НастройкаОбмена = ОбменСБанкамиСлужебныйВызовСервера.НастройкаОбмена(Организация, Банк, Ложь, Ложь);
КонецЕсли;
Если ЗначениеЗаполнено(НастройкаОбмена) Тогда
@@ -2174,7 +2266,8 @@
Если УпрощенныйРежимНастройки
И (СпособыАутентификацииБанка.Количество() = 0
ИЛИ СпособыАутентификацииБанка.Количество() > 1) Тогда
ИЛИ СпособыАутентификацииБанка.Количество() > 1
ИЛИ ИспользуетсяСтраницаВыбораВариантаИнтеграцииБанка) Тогда
УпрощенныйРежимНастройки = Ложь;
@@ -2186,9 +2279,7 @@
Элементы.СтраницаУпрощенныйРежимНастройки.Видимость = Ложь;
КонецЕсли;
Если ЗначениеЗаполнено(Банк) Тогда
БанкНаименование = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Банк, "Наименование");
КонецЕсли;
БанкНаименование = ОбменСБанкамиСлужебный.НаименованиеБанка(Банк);
НастроитьЭлементыФормыПриОткрытии();
@@ -2247,7 +2338,13 @@
СпособАутентификацииПриИзменении(Неопределено);
Если НеПоказыватьСтраницуВыборОрганизацииИБанка Тогда
Если ИспользуетсяСтраницаВыбораВариантаИнтеграцииБанка Тогда
ЗаполнитьБанкИнтеграторЕслиДоступно();
Если ПустаяСтрока(НастройкиОбменаСБанком.АдресИнструкции) Тогда
ОчиститьОформлениеВДекорации(Элементы.ДекорацияОписаниеПолныйОбмен);
КонецЕсли;
СменитьСтраницуШаги(Элементы.СтраницаВыбораВариантаИнтеграцииБанка);
ИначеЕсли НеПоказыватьСтраницуВыборОрганизацииИБанка Тогда
ПереключитьШагПослеВыбораОрганизацииИБанка();
Иначе
Элементы.Шаги.ТекущаяСтраница = Элементы.СтраницаВыборОрганизацииИБанка;
@@ -2269,18 +2366,6 @@
КонецПроцедуры
&НаКлиенте
Процедура ОтобразитьСекретныеДанные(Элемент, ИмяРеквизита)
Элемент.РежимПароля = Не Элемент.РежимПароля;
Если Элемент.РежимПароля Тогда
Элемент.КартинкаКнопкиВыбора = БиблиотекаКартинок.ВводимыеСимволыВидны;
Иначе
Элемент.КартинкаКнопкиВыбора = БиблиотекаКартинок.ВводимыеСимволыСкрыты;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ДобавитьНовуюСтраницу(НоваяСтраница)
@@ -2724,6 +2809,7 @@
ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить("ИдентификаторСессии", Результат.ИдентификаторСессии);
ПараметрыФормы.Вставить("Телефон", Результат.МаскаТелефона);
ПараметрыФормы.Вставить("НастройкаОбмена", НастройкаОбмена);
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("ОповещениеПослеПолученияИдентификатораСессии", Оповещение);
ДополнительныеПараметры.Вставить("НеподтвержденныйИдентификаторСессии", Результат.ИдентификаторСессии);
@@ -3585,6 +3671,36 @@
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьБанкИнтеграторЕслиДоступно()
БанкИнтегратор = ОбменСБанкамиСлужебный.ПустаяСсылкаНаСправочникБанки();
ИспользуетсяСтраницаВыбораВариантаИнтеграцииБанка = Ложь;
БанкиИнтеграторы = ОбменСБанками.ИнтеграторыБанковскойВыписки(Организация, Банк);
Если БанкиИнтеграторы.Количество() = 0 Тогда
Возврат;
КонецЕсли;
ИспользуетсяСтраницаВыбораВариантаИнтеграцииБанка = Истина;
БанкИнтегратор = БанкиИнтеграторы[0].Банк;
Для Каждого СтрокаИнтегратора Из БанкиИнтеграторы Цикл
Элементы.БанкИнтеграторВыбор.СписокВыбора.Добавить(СтрокаИнтегратора.Банк, СтрокаИнтегратора.Наименование);
КонецЦикла;
Если БанкиИнтеграторы.Количество() = 1 Тогда
Элементы.БанкИнтеграторНадпись.Видимость = Истина;
Элементы.БанкИнтеграторНадпись.Заголовок = БанкиИнтеграторы[0].Наименование;
Элементы.БанкИнтеграторВыбор.Видимость = Ложь;
Иначе
Элементы.БанкИнтеграторНадпись.Видимость = Ложь;
Элементы.БанкИнтеграторВыбор.Видимость = Истина;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область Сбербанк
@@ -6405,21 +6521,49 @@
Объект = НастройкаОбмена.ПолучитьОбъект();
Объект.Прочитать();
НачатьТранзакцию();
Попытка
Объект.Недействительна = Ложь;
Объект.Записать();
Успех = Истина;
ЗафиксироватьТранзакцию();
Исключение
ТекстСообщения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ОтменитьТранзакцию();
ТекстСообщения = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
ТекстОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ВидОперации = НСтр("ru = 'Включение настройки.'");
ОбработкаНеисправностейБЭДВызовСервера.ОбработатьОшибку(ВидОперации,
ОбщегоНазначенияБЭДКлиентСервер.ПодсистемыБЭД().ОбменСБанками,
ТекстОшибки, ТекстСообщения, НастройкаОбмена);
ОбменСБанкамиСлужебный.ОбработатьОшибку(ВидОперации, ТекстОшибки, ТекстСообщения, НастройкаОбмена);
КонецПопытки;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ДобавитьДополнительныйБанкВНастройкуОбмена(Знач НастройкаОбмена, Знач Банк)
НастройкаОбъект = НастройкаОбмена.ПолучитьОбъект();
Если НастройкаОбъект = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
Если НастройкаОбъект.ДополнительныеБанки.Найти(Банк, "Банк") = Неопределено Тогда
НоваяСтрока = НастройкаОбъект.ДополнительныеБанки.Добавить();
НоваяСтрока.Банк = Банк;
КонецЕсли;
Попытка
НастройкаОбъект.Записать();
Успех = Истина;
Исключение
Успех = Ложь;
ТекстСообщения = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
ТекстОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
Операция = НСтр("ru = 'Добавление дополнительного банка в настройку.'");
ОбменСБанкамиСлужебный.ОбработатьОшибку(Операция, ТекстОшибки, ТекстСообщения, НастройкаОбмена);
КонецПопытки;
Возврат Успех;
КонецФункции
&НаСервереБезКонтекста
Процедура ПриЗакрытииНаСервере(Знач ИдентификаторЗадания)
@@ -6530,6 +6674,50 @@
КонецФункции
&НаКлиенте
Процедура ЗапроситьЭлектроннуюВыпискуБанкаЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Не ЗначениеЗаполнено(Результат)Тогда
Возврат;
КонецЕсли;
Если Не Результат.Успех Тогда
ТекстОшибки = НСтр("ru = 'Тест обмена завершен ошибкой.'");
Элементы.ТестированиеНастройкиОбменаКартинка.Картинка = БиблиотекаКартинок.Ошибка32;
Элементы.СтраницыРезультатПодключения.ТекущаяСтраница = Элементы.СтраницаНеПодключено;
Элементы.ДекорацияНеПодключено.Заголовок = ТекстОшибки;
СменитьСтраницуКомандНавигации(Элементы.НазадОтмена);
Возврат;
КонецЕсли;
НастройкаВключена = ДобавитьДополнительныйБанкВНастройкуОбмена(НастройкаОбмена, Банк);
ШаблонПодключения = НСтр("ru = 'Получение банковских выписок через %1 подключено.'");
ТекстПодключения = СтрШаблон(ШаблонПодключения, БанкИнтегратор);
Элементы.ДекорацияУспешноеПодключение.Заголовок = ТекстПодключения;
Если НастройкаВключена Тогда
ОповеститьОбИзменении(НастройкаОбмена);
Оповестить("ИзмененаНастройкаОбменСБанками", НастройкаОбмена);
РаботаПомощникаЗавершена = Истина;
Элементы.ТестированиеНастройкиОбменаКартинка.Картинка = БиблиотекаКартинок.Успешно32;
Элементы.СтраницыРезультатПодключения.ТекущаяСтраница = Элементы.СтраницаПодключено;
Элементы.ДекорацияУспешноеПодключение.Видимость = Истина;
Если Элементы.КомандыНавигации.ТекущаяСтраница = Элементы.Отмена Тогда
СменитьСтраницуКомандНавигации(Элементы.Готово);
Иначе
СменитьСтраницуКомандНавигации(Элементы.НазадГотово);
КонецЕсли;
Иначе
Элементы.ТестированиеНастройкиОбменаКартинка.Картинка = БиблиотекаКартинок.Ошибка32;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область УпрощенныйРежимНастройки
@@ -6567,7 +6755,8 @@
И НоваяСтраница <> Элементы.СтраницаПодождите
И НоваяСтраница <> Элементы.СтраницаВыборОрганизацииИБанка
И НоваяСтраница <> Элементы.СтраницаSberAPI
И НоваяСтраница <> Элементы.СтраницаФинал Тогда
И НоваяСтраница <> Элементы.СтраницаФинал
И НоваяСтраница <> Элементы.СтраницаВыбораВариантаИнтеграцииБанка Тогда
Если НоваяСтраница = Элементы.Шаги.ТекущаяСтраница Тогда
@@ -6880,6 +7069,20 @@
КонецПроцедуры
&НаКлиенте
Процедура ОчиститьОформлениеВДекорации(Декорация)
ЗаголовокДекорации = Декорация.Заголовок;
Если ТипЗнч(ЗаголовокДекорации) <> Тип("ФорматированнаяСтрока") Тогда
Возврат;
КонецЕсли;
ФорматированныйДокумент = Новый ФорматированныйДокумент;
ФорматированныйДокумент.УстановитьФорматированнуюСтроку(ЗаголовокДекорации);
Декорация.Заголовок = ФорматированныйДокумент.ПолучитьТекст();
КонецПроцедуры
#КонецОбласти
#Область Интерфейс85
@@ -0,0 +1,22 @@
<?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:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" 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.21">
<Form uuid="03af9604-8e51-46b2-a60a-28a38f245d32">
<Properties>
<Name>ФормаВыбораДополнительногоБанка</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Форма выбора дополнительного банка</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Managed</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
<UseInInterfaceCompatibilityMode>Any</UseInInterfaceCompatibilityMode>
</Properties>
</Form>
</MetaDataObject>
@@ -0,0 +1,162 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcssch="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" 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: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.21">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выберите банк</v8:content>
</v8:item>
</Title>
<WindowOpeningMode>DontBlock</WindowOpeningMode>
<AutoTitle>false</AutoTitle>
<Group>Vertical</Group>
<CommandBarLocation>Bottom</CommandBarLocation>
<ShowCommandBar>true</ShowCommandBar>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<HorizontalAlign>Right</HorizontalAlign>
<Autofill>false</Autofill>
<ChildItems>
<Button name="ФормаВыбратьБанк" id="28">
<Type>CommandBarButton</Type>
<DefaultButton>true</DefaultButton>
<CommandName>Form.Command.ВыбратьБанк</CommandName>
<ButtonImportance>Main</ButtonImportance>
<ExtendedTooltip name="ФормаВыбратьБанкРасширеннаяПодсказка" id="29"/>
</Button>
</ChildItems>
</AutoCommandBar>
<Events>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
<ChildItems>
<LabelDecoration name="ДекорацияПоясненияУсловияПодключения" id="1">
<AutoMaxWidth>false</AutoMaxWidth>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Перед добавлением дополнительного банка необходимо зарегистрировать его в личном кабинете %1.
После выбора банка для проверки связи будет выполнен тестовый запрос банковской выписки.</v8:content>
</v8:item>
</Title>
<ContextMenu name="ДекорацияПоясненияУсловияПодключенияКонтекстноеМеню" id="2"/>
<ExtendedTooltip name="ДекорацияПоясненияУсловияПодключенияРасширеннаяПодсказка" id="3"/>
</LabelDecoration>
<Table name="Банки" id="10">
<Representation>List</Representation>
<ReadOnly>true</ReadOnly>
<ChangeRowSet>false</ChangeRowSet>
<ChoiceMode>true</ChoiceMode>
<SelectionMode>SingleRow</SelectionMode>
<RowSelectionMode>Cell</RowSelectionMode>
<Header>false</Header>
<UseAlternationRowColorBWA>false</UseAlternationRowColorBWA>
<AutoInsertNewRow>true</AutoInsertNewRow>
<SearchOnInput>Use</SearchOnInput>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<DataPath>Банки</DataPath>
<CommandSet>
<ExcludedCommand>Change</ExcludedCommand>
<ExcludedCommand>Choose</ExcludedCommand>
<ExcludedCommand>MoveDown</ExcludedCommand>
<ExcludedCommand>MoveUp</ExcludedCommand>
</CommandSet>
<SearchStringLocation>Top</SearchStringLocation>
<RowFilter xsi:nil="true"/>
<ContextMenu name="БанкиКонтекстноеМеню" id="11"/>
<AutoCommandBar name="БанкиКоманднаяПанель" id="12">
<Autofill>false</Autofill>
</AutoCommandBar>
<ExtendedTooltip name="БанкиРасширеннаяПодсказка" id="13"/>
<SearchStringAddition name="БанкиСтрокаПоиска" id="14">
<AdditionSource>
<Item>Банки</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="БанкиСтрокаПоискаКонтекстноеМеню" id="15"/>
<ExtendedTooltip name="БанкиСтрокаПоискаРасширеннаяПодсказка" id="16"/>
</SearchStringAddition>
<ViewStatusAddition name="БанкиСостояниеПросмотра" id="17">
<AdditionSource>
<Item>Банки</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="БанкиСостояниеПросмотраКонтекстноеМеню" id="18"/>
<ExtendedTooltip name="БанкиСостояниеПросмотраРасширеннаяПодсказка" id="19"/>
</ViewStatusAddition>
<SearchControlAddition name="БанкиУправлениеПоиском" id="20">
<AdditionSource>
<Item>Банки</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="БанкиУправлениеПоискомКонтекстноеМеню" id="21"/>
<ExtendedTooltip name="БанкиУправлениеПоискомРасширеннаяПодсказка" id="22"/>
</SearchControlAddition>
<Events>
<Event name="Selection">БанкиВыбор</Event>
</Events>
<ChildItems>
<InputField name="БанкиБанк" id="23">
<DataPath>Банки.Банк</DataPath>
<TitleLocation>None</TitleLocation>
<EditMode>EnterOnInput</EditMode>
<ShowInHeader>false</ShowInHeader>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="БанкиБанкКонтекстноеМеню" id="24"/>
<ExtendedTooltip name="БанкиБанкРасширеннаяПодсказка" id="25"/>
</InputField>
</ChildItems>
</Table>
</ChildItems>
<Attributes>
<Attribute name="Банки" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Банки</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueTable</v8:Type>
</Type>
<Columns>
<Column name="Банк" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Банк</v8:content>
</v8:item>
</Title>
<Type>
<v8:TypeSet>cfg:DefinedType.БанкОбменСБанками</v8:TypeSet>
</Type>
</Column>
</Columns>
</Attribute>
</Attributes>
<Commands>
<Command name="ВыбратьБанк" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выбрать</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выбрать банк</v8:content>
</v8:item>
</ToolTip>
<Action>ВыбратьБанк</Action>
<ActionPurpose>Finish</ActionPurpose>
</Command>
</Commands>
<Parameters>
<Parameter name="ИнтегрируемыеБанки">
<Type>
<v8:Type>v8:ValueListType</v8:Type>
</Type>
</Parameter>
</Parameters>
</Form>
@@ -0,0 +1,57 @@
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("Интегратор") Тогда
ЗаголовокДекорации = Элементы.ДекорацияПоясненияУсловияПодключения.Заголовок;
НаименованиеБанка = ОбменСБанкамиСлужебный.НаименованиеБанка(Параметры.Интегратор);
Элементы.ДекорацияПоясненияУсловияПодключения.Заголовок = СтрШаблон(ЗаголовокДекорации, НаименованиеБанка);
Иначе
Элементы.ДекорацияПоясненияУсловияПодключения.Видимость = Ложь;
КонецЕсли;
Для Каждого ИнтегрируемыйБанк Из Параметры.ИнтегрируемыеБанки Цикл
НоваяСтрока = Банки.Добавить();
НоваяСтрока.Банк = ИнтегрируемыйБанк.Значение;
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыБанки
&НаКлиенте
Процедура БанкиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
ОбработатьВыборБанка();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ВыбратьБанк(Команда)
ОбработатьВыборБанка();
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ОбработатьВыборБанка()
ТекущиеДанные = Элементы.Банки.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Закрыть(ТекущиеДанные.Банк);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
@@ -187,6 +187,9 @@
<GroupHorizontalAlign>Right</GroupHorizontalAlign>
<ContextMenu name="ДействуетКонтекстноеМеню" id="949"/>
<ExtendedTooltip name="ДействуетРасширеннаяПодсказка" id="950"/>
<Events>
<Event name="OnChange">ДействуетПриИзменении</Event>
</Events>
</CheckBoxField>
</ChildItems>
</UsualGroup>
@@ -1488,6 +1491,100 @@
</Table>
</ChildItems>
</Page>
<Page name="СтраницаДополнительныеБанки" id="1416">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дополнительные банки</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<ScrollOnCompress>false</ScrollOnCompress>
<ExtendedTooltip name="СтраницаДополнительныеБанкиРасширеннаяПодсказка" id="1417"/>
<ChildItems>
<LabelDecoration name="ДекорацияОписаниеСпискаДополнительныхБанков" id="1418">
<AutoMaxWidth>false</AutoMaxWidth>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список банков, по которым доступна загрузка банковских выписок через текущую настройку</v8:content>
</v8:item>
</Title>
<ContextMenu name="ДекорацияОписаниеСпискаДополнительныхБанковКонтекстноеМеню" id="1419"/>
<ExtendedTooltip name="ДекорацияОписаниеСпискаДополнительныхБанковРасширеннаяПодсказка" id="1420"/>
</LabelDecoration>
<Table name="ДополнительныеБанки" id="1421">
<ReadOnly>true</ReadOnly>
<SelectionMode>SingleRow</SelectionMode>
<RowSelectionMode>Cell</RowSelectionMode>
<UseAlternationRowColorBWA>false</UseAlternationRowColorBWA>
<AutoInsertNewRow>true</AutoInsertNewRow>
<RowActionsShowType>DontShow</RowActionsShowType>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<DataPath>Объект.ДополнительныеБанки</DataPath>
<RowFilter xsi:nil="true"/>
<ContextMenu name="ДополнительныеБанкиКонтекстноеМеню" id="1422"/>
<AutoCommandBar name="ДополнительныеБанкиКоманднаяПанель" id="1423">
<Autofill>false</Autofill>
<ChildItems>
<Button name="ДополнительныеБанкиДобавитьБанк" id="1450">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ДобавитьБанк</CommandName>
<ExtendedTooltip name="ДополнительныеБанкиДобавитьБанкРасширеннаяПодсказка" id="1451"/>
</Button>
<Button name="ДополнительныеБанкиУдалитьБанк" id="1452">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.УдалитьБанк</CommandName>
<ExtendedTooltip name="ДополнительныеБанкиУдалитьБанкРасширеннаяПодсказка" id="1453"/>
</Button>
</ChildItems>
</AutoCommandBar>
<ExtendedTooltip name="ДополнительныеБанкиРасширеннаяПодсказка" id="1424"/>
<SearchStringAddition name="ДополнительныеБанкиСтрокаПоиска" id="1425">
<AdditionSource>
<Item>ДополнительныеБанки</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="ДополнительныеБанкиСтрокаПоискаКонтекстноеМеню" id="1426"/>
<ExtendedTooltip name="ДополнительныеБанкиСтрокаПоискаРасширеннаяПодсказка" id="1427"/>
</SearchStringAddition>
<ViewStatusAddition name="ДополнительныеБанкиСостояниеПросмотра" id="1428">
<AdditionSource>
<Item>ДополнительныеБанки</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="ДополнительныеБанкиСостояниеПросмотраКонтекстноеМеню" id="1429"/>
<ExtendedTooltip name="ДополнительныеБанкиСостояниеПросмотраРасширеннаяПодсказка" id="1430"/>
</ViewStatusAddition>
<SearchControlAddition name="ДополнительныеБанкиУправлениеПоиском" id="1431">
<AdditionSource>
<Item>ДополнительныеБанки</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="ДополнительныеБанкиУправлениеПоискомКонтекстноеМеню" id="1432"/>
<ExtendedTooltip name="ДополнительныеБанкиУправлениеПоискомРасширеннаяПодсказка" id="1433"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="ДополнительныеБанкиНомерСтроки" id="1442">
<DataPath>Объект.ДополнительныеБанки.LineNumber</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ДополнительныеБанкиНомерСтрокиКонтекстноеМеню" id="1443"/>
<ExtendedTooltip name="ДополнительныеБанкиНомерСтрокиРасширеннаяПодсказка" id="1444"/>
</LabelField>
<InputField name="ДополнительныеБанкиБанк" id="1446">
<DataPath>Объект.ДополнительныеБанки.Банк</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДополнительныеБанкиБанкКонтекстноеМеню" id="1447"/>
<ExtendedTooltip name="ДополнительныеБанкиБанкРасширеннаяПодсказка" id="1448"/>
</InputField>
</ChildItems>
</Table>
</ChildItems>
</Page>
</ChildItems>
</Pages>
<InputField name="Комментарий" id="136">
@@ -1778,6 +1875,29 @@
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ДоступноПолучениеВыписокИзДругихБанков" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Доступно получение выписок из других банков</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="БанкиДляЗагрузкиВыписки" id="7">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Банки для загрузки выписки</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueListType</v8:Type>
</Type>
<Settings xsi:type="v8:TypeDescription"/>
</Attribute>
</Attributes>
<Commands>
<Command name="ЗагрузитьСертификат" id="3">
@@ -1889,5 +2009,29 @@
</Title>
<Action>УдалитьСохраненныйПароль</Action>
</Command>
<Command name="ДобавитьБанк" id="7">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Добавить</v8:content>
</v8:item>
</Title>
<Action>ДобавитьБанк</Action>
</Command>
<Command name="УдалитьБанк" id="9">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить банк</v8:content>
</v8:item>
</ToolTip>
<Action>УдалитьБанк</Action>
</Command>
</Commands>
</Form>
@@ -80,6 +80,19 @@
ЕстьПодтверждаемыйДокумент = ЕстьПодтверждаемыйДокумент(Объект);
ДоступноПолучениеВыписокИзДругихБанков = Ложь;
Если ЗначениеЗаполнено(ТекущийОбъект.Банк) Тогда
НастройкиИнтегратора = ОбменСБанкамиСлужебный.НастройкиИнтеграторов(ТекущийОбъект.Банк, ТекущийОбъект.Организация);
Если НастройкиИнтегратора.ДоступноПолучениеВыписокИзДругихБанков Тогда
ДоступноПолучениеВыписокИзДругихБанков = Истина;
БанкиДляЗагрузкиВыписки.Очистить();
Для Каждого БанкВыписки Из НастройкиИнтегратора.Банки Цикл
БанкиДляЗагрузкиВыписки.Добавить(БанкВыписки.Ссылка, БанкВыписки.Наименование);
КонецЦикла;
КонецЕсли;
КонецЕсли;
НастроитьЭлементы(ЭтотОбъект, Объект.ПрограммаБанка, Объект.ИспользуетсяКриптография,
Объект.АутентификацияПоСертификату, Объект.ДоступноАвтоматическоеПолучениеВыписки, Объект.Ссылка);
@@ -326,6 +339,20 @@
КонецПроцедуры
&НаКлиенте
Асинх Процедура ДействуетПриИзменении(Элемент)
Если Объект.Недействительна Тогда
Возврат;
КонецЕсли;
РезультатУточнения = Ждать УточнениеДобавленияБанка(Объект.Банк, Истина);
Если РезультатУточнения Тогда
Объект.Недействительна = Истина;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыИсходящиеДокументы
@@ -498,6 +525,33 @@
КонецПроцедуры
&НаКлиенте
Процедура ДобавитьБанк(Команда)
ОповещениеОЗакрытии = Новый ОписаниеОповещения("ДобавитьБанкПослеВыбора", ЭтотОбъект);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ИнтегрируемыеБанки", БанкиДляЗагрузкиВыписки);
ПараметрыФормы.Вставить("Интегратор", Объект.Банк);
ОткрытьФорму("Справочник.НастройкиОбменСБанками.Форма.ФормаВыбораДополнительногоБанка", ПараметрыФормы,
, , , , ОповещениеОЗакрытии, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура УдалитьБанк(Команда)
ТекущиеДанные = Элементы.ДополнительныеБанки.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
НаименованиеБанка = НаименованиеБанка(ТекущиеДанные.Банк);
ТекстВопроса = СтрШаблон(НСтр("ru = 'Удалить %1 из списка дополнительных банков?'"), НаименованиеБанка);
ОписаниеОповещения = Новый ОписаниеОповещения("ОтветНаВопросОбУдаленииБанка", ЭтотОбъект);
ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -1099,6 +1153,7 @@
Форма.Элементы.СтраницыРазделов.Видимость = Истина;
Форма.Элементы.ГруппаАвтоматическоеПолучениеВыписки.Видимость = Ложь;
Форма.Элементы.СертификатПодключенияДатаОкончания.Видимость = Ложь;
Форма.Элементы.СтраницаДополнительныеБанки.Видимость = Ложь;
ЭтоСбербанк = ПрограммаБанка = ПредопределенноеЗначение("Перечисление.ПрограммыБанка.СбербанкОнлайн");
ЭтоОбменЧерезДопОбработку = ПрограммаБанка = ПредопределенноеЗначение(
@@ -1221,6 +1276,8 @@
Ссылка)
Форма.Элементы.СтраницыВидыБанковскихСистем.ТекущаяСтраница = Форма.Элементы.СтраницаАсинхронный;
Форма.Элементы.СтраницаДополнительныеБанки.Видимость = Форма.ДоступноПолучениеВыписокИзДругихБанков;
Если ИспользуетсяКриптография Тогда
Если АутентификацияПоСертификату Тогда
Форма.Элементы.ЛогинАсинхронныйОбмен.Видимость = Ложь;
@@ -1299,8 +1356,6 @@
Возврат;
КонецЕсли;
ИзменитьОбъектФормы(НастройкаОбмена);
Прочитать();
НастроитьЭлементы(ЭтотОбъект, Объект.ПрограммаБанка, Объект.ИспользуетсяКриптография,
@@ -1314,14 +1369,6 @@
КонецПроцедуры
&НаСервере
Процедура ИзменитьОбъектФормы(НастройкаОбмена)
НастройкаОбменаОбъект = НастройкаОбмена.ПолучитьОбъект();
ЗначениеВРеквизитФормы(НастройкаОбменаОбъект, "Объект");
КонецПроцедуры
&НаСервере
Процедура УстановитьУсловноеОформление()
@@ -1557,6 +1604,35 @@
КонецПроцедуры
&НаСервереБезКонтекста
Функция НаименованиеБанка(Банк)
Возврат ОбменСБанкамиСлужебный.НаименованиеБанка(Банк);
КонецФункции
&НаСервереБезКонтекста
Функция НаименованияБанков(Банки)
Результат = Новый Соответствие;
Для Каждого Банк Из Банки Цикл
Результат.Вставить(Банк, "");
КонецЦикла;
ИмяРеквизитаНаименование = ОбменСБанкамиСлужебный.ИмяПрикладногоРеквизита("Банк.Наименование");
НаименованияПоСсылкам = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(Банки, ИмяРеквизитаНаименование);
Для Каждого НаименованиеПоБанку Из НаименованияПоСсылкам Цикл
Результат[НаименованиеПоБанку.Ключ] = НаименованиеПоБанку.Значение.Наименование;
КонецЦикла;
Возврат Результат;
КонецФункции
&НаСервереБезКонтекста
Функция БанкНастройки(НастройкаОбмена)
Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(НастройкаОбмена, "Банк");
КонецФункции
#КонецОбласти
#Область АсинхронныйОбмен
@@ -1671,6 +1747,158 @@
#КонецОбласти
#Область ДополнительныеБанки
&НаКлиенте
Асинх Процедура ДобавитьБанкПослеВыбора(ВыбранныйБанк, ДополнительныеПараметры) Экспорт
Если ВыбранныйБанк = Неопределено Тогда
Возврат;
КонецЕсли;
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Банк", ВыбранныйБанк);
НайденныеСтроки = Объект.ДополнительныеБанки.НайтиСтроки(ПараметрыОтбора);
Если НайденныеСтроки.Количество() > 0 Тогда
Ответ = Ждать ВопросАсинх(НСтр("ru = 'Выбранный банк уже добавлен в список, хотите проверить связь с ним?'"),
РежимДиалогаВопрос.ДаНет);
Если Ответ <> КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
КонецЕсли;
РезультатУточнения = Ждать УточнениеДобавленияБанка(ВыбранныйБанк);
Если РезультатУточнения Тогда
Возврат;
КонецЕсли;
ПараметрыЗавершения = Новый Структура;
ПараметрыЗавершения.Вставить("Банк", ВыбранныйБанк);
Оповещение = Новый ОписаниеОповещения("ЗапроситьЭлектроннуюВыпискуБанкаЗавершение", ЭтотОбъект, ПараметрыЗавершения);
ПараметрыВыписки = ОбменСБанкамиКлиентСервер.ПараметрыПолученияВыпискиБанка();
ПараметрыВыписки.НастройкаОбмена = Объект.Ссылка;
ПараметрыВыписки.Организация = Объект.Организация;
ПараметрыВыписки.БанкВладелец = ВыбранныйБанк;
ДатаСеанса = ОбщегоНазначенияКлиент.ДатаСеанса();
ПараметрыВыписки.ДатаНачала = НачалоДня(ДатаСеанса);
ПараметрыВыписки.ДатаОкончания = КонецДня(ДатаСеанса);
ОбменСБанкамиКлиент.ПолучитьВыпискуПоПараметрам(Оповещение, ПараметрыВыписки);
КонецПроцедуры
&НаКлиенте
Процедура ЗапроситьЭлектроннуюВыпискуБанкаЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Не ЗначениеЗаполнено(Результат)Тогда
Возврат;
КонецЕсли;
Если Не Результат.Успех Тогда
Возврат;
КонецЕсли;
ДобавитьДополнительныйБанкНаСервере(ДополнительныеПараметры.Банк);
КонецПроцедуры
&НаСервере
Процедура ДобавитьДополнительныйБанкНаСервере(ДополнительныйБанк)
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Банк", ДополнительныйБанк);
НайденныеСтроки = Объект.ДополнительныеБанки.НайтиСтроки(ПараметрыОтбора);
Если НайденныеСтроки.Количество() = 0 Тогда
НоваяСтрока = Объект.ДополнительныеБанки.Добавить();
НоваяСтрока.Банк = ДополнительныйБанк;
Модифицированность = Истина;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтветНаВопросОбУдаленииБанка(РезультатВопроса, ДополнительныеПараметры) Экспорт
Если РезультатВопроса = КодВозвратаДиалога.Да Тогда
ТекущаяСтрока = Элементы.ДополнительныеБанки.ТекущиеДанные;
Если ТекущаяСтрока <> Неопределено Тогда
Объект.ДополнительныеБанки.Удалить(ТекущаяСтрока);
Модифицированность = Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Асинх Функция УточнениеДобавленияБанка(БанкПроверки, ЭтоПолныйОбмен = Ложь)
Результат = Ложь;
ПараметрыОтбора = ОбменСБанкамиКлиентСервер.НовыеПараметрыОтбораНастройкиОбмена();
ПараметрыОтбора.Организация = Объект.Организация;
ПараметрыОтбора.Банк = БанкПроверки;
ПараметрыОтбора.ТолькоДействительнаяДляДополнительныхБанков = Ложь;
ПараметрыОтбора.ОтборПоДополнительнымБанкам = Истина;
Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
ПараметрыОтбора.ИсключаяНастройки.Добавить(Объект.Ссылка);
КонецЕсли;
НастройкаВыбранногоБанка = ОбменСБанкамиСлужебныйВызовСервера.НастройкаОбменаПоОтбору(ПараметрыОтбора);
Если ЗначениеЗаполнено(НастройкаВыбранногоБанка) Тогда
БанкНастройки = БанкНастройки(НастройкаВыбранногоБанка);
БанкиДляНаименований = Новый Массив;
БанкиДляНаименований.Добавить(БанкПроверки);
Если ЭтоПолныйОбмен Тогда
ШаблонВопроса = НСтр("ru = 'Загрузка выписки из %1 в настоящее время осуществляется через %2.
|
|После включения настройки с %1, будут доступны все возможности обмена.
|%1 будет исключен из настройки с %2.
|Продолжить?'");
БанкиДляНаименований.Добавить(БанкНастройки);
НаименованияБанков = НаименованияБанков(БанкиДляНаименований);
ТекстВопроса = СтрШаблон(ШаблонВопроса, НаименованияБанков[БанкПроверки], НаименованияБанков[БанкНастройки]);
ИначеЕсли БанкНастройки = БанкПроверки Тогда
ШаблонВопроса = НСтр("ru = 'Для %1 с %2 существует действующая настройка со всеми доступными возможностями.
|
|После добавления %2 в настройку с %3, для него будет доступна только загрузка банковской выписки без отправки документов.
|Продолжить?'");
БанкиДляНаименований.Добавить(Объект.Банк);
НаименованияБанков = НаименованияБанков(БанкиДляНаименований);
ТекстВопроса = СтрШаблон(ШаблонВопроса, Объект.Организация, НаименованияБанков[БанкПроверки],
НаименованияБанков[Объект.Банк]);
Иначе
ШаблонВопроса = НСтр("ru = 'Загрузка выписки из %1 в настоящее время осуществляется через %2.
|
|После добавления %1 в настройку с %3, он будет исключен из настройки с %2.
|Продолжить?'");
БанкиДляНаименований.Добавить(БанкНастройки);
БанкиДляНаименований.Добавить(Объект.Банк);
НаименованияБанков = НаименованияБанков(БанкиДляНаименований);
ТекстВопроса = СтрШаблон(ШаблонВопроса, НаименованияБанков[БанкПроверки], НаименованияБанков[БанкНастройки],
НаименованияБанков[Объект.Банк]);
КонецЕсли;
Ответ = Ждать ВопросАсинх(ТекстВопроса, РежимДиалогаВопрос.ДаНет);
Если Ответ <> КодВозвратаДиалога.Да Тогда
Результат = Истина;
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
#КонецОбласти
&НаКлиенте
Процедура УдалитьСохраненныйПароль(Команда)
@@ -640,7 +640,7 @@
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция КонтекстФормы(ЭтотОбъект)
Функция КонтекстФормы(ЭтотОбъект)
Контекст = Новый Структура;
Контекст.Вставить("Форма", ЭтотОбъект);
@@ -1445,11 +1445,7 @@
// Шаблоны сообщений.
Если СоздатьШаблоныПисемАвтоматически Или СоздатьШаблоныSMSАвтоматически Тогда
ИнтернетПоддержкаПользователей.УстановитьИспользованиеШаблоновСообщений();
ИнтернетПоддержкаПользователей.УстановитьИспользованиеЭлектроннойПочты();
ИнтернетПоддержкаПользователей.УстановитьИспользованиеSMS();
ИнтернетПоддержкаПользователей.УстановитьОтправкуПисемВФорматеHTML();
ОнлайнОплатыСлужебный.УстановитьИспользованиеШаблоновСообщений();
ПредопределенныеШаблоныСообщений = ОнлайнОплатыСлужебный.СоздатьПредопределенныеШаблоныСообщений(
СоздатьШаблоныПисемАвтоматически,
@@ -295,11 +295,19 @@
<DataPath>Логин</DataPath>
<ContextMenu name="ЛогинКонтекстноеМеню" id="121"/>
<ExtendedTooltip name="ЛогинРасширеннаяПодсказка" id="122"/>
<Events>
<Event name="OnChange">ЛогинПриИзменении</Event>
</Events>
</InputField>
<InputField name="Пароль" id="123">
<DataPath>Пароль</DataPath>
<PasswordMode>true</PasswordMode>
<ContextMenu name="ПарольКонтекстноеМеню" id="124"/>
<ExtendedTooltip name="ПарольРасширеннаяПодсказка" id="125"/>
<Events>
<Event name="OnChange">ПарольПриИзменении</Event>
<Event name="StartChoice">ПарольНачалоВыбора</Event>
</Events>
</InputField>
<Button name="ПроверитьПодключениеBasic" id="203">
<Type>UsualButton</Type>
@@ -323,6 +331,10 @@
<PasswordMode>true</PasswordMode>
<ContextMenu name="ТокенКонтекстноеМеню" id="118"/>
<ExtendedTooltip name="ТокенРасширеннаяПодсказка" id="119"/>
<Events>
<Event name="OnChange">ТокенПриИзменении</Event>
<Event name="StartChoice">ТокенНачалоВыбора</Event>
</Events>
</InputField>
<Button name="ПроверитьПодключениеBearer" id="205">
<Type>UsualButton</Type>
@@ -346,6 +358,9 @@
<AutoMarkIncomplete>true</AutoMarkIncomplete>
<ContextMenu name="ИдентификаторМагазинаКонтекстноеМеню" id="12"/>
<ExtendedTooltip name="ИдентификаторМагазинаРасширеннаяПодсказка" id="13"/>
<Events>
<Event name="OnChange">ИдентификаторМагазинаПриИзменении</Event>
</Events>
</InputField>
<InputField name="СекретныйКлючМагазина" id="8">
<DataPath>СекретныйКлючМагазина</DataPath>
@@ -353,12 +368,19 @@
<AutoMarkIncomplete>true</AutoMarkIncomplete>
<ContextMenu name="СекретныйКлючМагазинаКонтекстноеМеню" id="9"/>
<ExtendedTooltip name="СекретныйКлючМагазинаРасширеннаяПодсказка" id="10"/>
<Events>
<Event name="OnChange">СекретныйКлючМагазинаПриИзменении</Event>
<Event name="StartChoice">СекретныйКлючМагазинаНачалоВыбора</Event>
</Events>
</InputField>
<InputField name="ИдентификаторГруппыКасс" id="14">
<DataPath>ИдентификаторГруппыКасс</DataPath>
<AutoMarkIncomplete>true</AutoMarkIncomplete>
<ContextMenu name="ИдентификаторГруппыКассКонтекстноеМеню" id="15"/>
<ExtendedTooltip name="ИдентификаторГруппыКассРасширеннаяПодсказка" id="16"/>
<Events>
<Event name="OnChange">ИдентификаторГруппыКассПриИзменении</Event>
</Events>
</InputField>
<Button name="ПроверитьПодключениеSalesRegisterGroup" id="207">
<Type>UsualButton</Type>
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2025, ООО 1С-Софт
// Copyright (c) 2026, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -214,6 +214,72 @@
КонецПроцедуры
&НаКлиенте
Процедура ЛогинПриИзменении(Элемент)
Логин = ОблачныеКассыКлиентСервер.УдалитьНечитаемыеСимволы(Логин);
КонецПроцедуры
&НаКлиенте
Процедура ПарольПриИзменении(Элемент)
Пароль = ОблачныеКассыКлиентСервер.УдалитьНечитаемыеСимволы(Пароль);
ИнтернетПоддержкаПользователейКлиент.ПриИзмененииСекретныхДанных(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ПарольНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
ИнтернетПоддержкаПользователейКлиент.ОтобразитьСекретныеДанные(ЭтотОбъект, Элемент, "Пароль");
КонецПроцедуры
&НаКлиенте
Процедура ТокенПриИзменении(Элемент)
Токен = ОблачныеКассыКлиентСервер.УдалитьНечитаемыеСимволы(Токен);
ИнтернетПоддержкаПользователейКлиент.ПриИзмененииСекретныхДанных(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ТокенНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
ИнтернетПоддержкаПользователейКлиент.ОтобразитьСекретныеДанные(ЭтотОбъект, Элемент, "Токен");
КонецПроцедуры
&НаКлиенте
Процедура ИдентификаторМагазинаПриИзменении(Элемент)
ИдентификаторМагазина = ОблачныеКассыКлиентСервер.УдалитьНечитаемыеСимволы(ИдентификаторМагазина);
КонецПроцедуры
&НаКлиенте
Процедура ИдентификаторГруппыКассПриИзменении(Элемент)
ИдентификаторГруппыКасс = ОблачныеКассыКлиентСервер.УдалитьНечитаемыеСимволы(ИдентификаторГруппыКасс);
КонецПроцедуры
&НаКлиенте
Процедура СекретныйКлючМагазинаПриИзменении(Элемент)
СекретныйКлючМагазина = ОблачныеКассыКлиентСервер.УдалитьНечитаемыеСимволы(СекретныйКлючМагазина);
ИнтернетПоддержкаПользователейКлиент.ПриИзмененииСекретныхДанных(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура СекретныйКлючМагазинаНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
ИнтернетПоддержкаПользователейКлиент.ОтобразитьСекретныеДанные(ЭтотОбъект, Элемент, "СекретныйКлючМагазина");
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@@ -321,6 +387,14 @@
РезультатПоиска.Представление = ОблачнаяКасса.Представление;
КонецЕсли;
КонецЦикла;
Если Не ПустаяСтрока(Объект.Идентификатор)
И Элементы.Идентификатор.СписокВыбора.НайтиПоЗначению(Объект.Идентификатор) = Неопределено Тогда
Элементы.Идентификатор.СписокВыбора.Добавить(Объект.Идентификатор, Объект.Наименование);
КонецЕсли;
ДоступныеОблачныеКассы.Сортировать("Представление");
Элементы.Идентификатор.СписокВыбора.СортироватьПоПредставлению();
@@ -368,11 +442,10 @@
ОбщегоНазначения.СообщитьПользователю(
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Облачная касса с идентификатором ""%1"" больше не доступна для фискализации.'"),
Объект.Идентификатор),
НСтр("ru = 'Облачная касса ""%1"" больше не доступна для фискализации.'"),
Объект.Наименование),
Объект.Ссылка,
"Идентификатор",
"Объект");
"Объект.Идентификатор");
Иначе
@@ -872,7 +872,7 @@
&НаСервереБезКонтекста
Функция СоздатьПредопределенныеШаблоныСообщений()
ОнлайнЗаказыСлужебный.УстановитьИспользованиеШаблоновСообщенийПроверкаПодсистем();
ОнлайнЗаказыСлужебный.УстановитьИспользованиеШаблоновСообщений();
Возврат ОнлайнЗаказыСлужебный.СоздатьПредопределенныеШаблоныСообщенийПроверкаПодсистем();
КонецФункции
@@ -37,13 +37,12 @@
Попытка
Если ЭлементНастройки.Ключ = "Константа_ПрефиксШтрихкодаВесовогоТовара" Тогда
Константы.ПрефиксыШтрихкодаВесовогоТовара.Установить(ЭлементНастройки.Значение);
Константы["ПрефиксыШтрихкодаВесовогоТовара"].Установить(ЭлементНастройки.Значение);
Продолжить;
ИначеЕсли ЭлементНастройки.Ключ = "Константа_ПрефиксШтрихкодаШтучногоФасованногоТовара" Тогда
Константы.ПрефиксыШтрихкодаШтучногоФасованногоТовара.Установить(ЭлементНастройки.Значение);
Константы["ПрефиксыШтрихкодаШтучногоФасованногоТовара"].Установить(ЭлементНастройки.Значение);
Продолжить;
КонецЕсли;
Если Лев(ЭлементНастройки.Ключ, 9) = "Константа" Тогда
@@ -2199,6 +2199,37 @@
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</Command>
<Command uuid="5d0b96a8-e6da-4897-8e57-e3710deda347">
<Properties>
<Name>КомандаСписокНовостейПоЛентеНовостей</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Новости по ленте</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>FormNavigationPanelGoTo</Group>
<CommandParameterType>
<v8:Type>cfg:CatalogRef.ЛентыНовостей</v8:Type>
</CommandParameterType>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<Representation>PictureAndText</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Открыть список новостей по ленте новостей</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.Новости</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<Shortcut/>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</Command>
<Command uuid="33edb274-8ad6-458e-849c-b87dd8ada251">
<Properties>
<Name>КомандаСписокНовостейПрочитатьПозже</Name>
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2025, ООО 1С-Софт
// Copyright (c) 2026, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -25,6 +25,15 @@
ПараметрыВыполненияКоманды,
"e1cib/command/Справочник.Новости.Команда.КомандаСписокНовостей");
// Если команда - параметризуемая (настраивается в метаданных, реквизит "Группа"),
// то можно передать ей УИН (ссылку строкой, как это реализовано в ПолучитьНавигационнуюСсылку()) параметра команды.
// Если ссылку на параметр команды получить через Ссылка.УникальныйИдентификатор(),
// то вместо ссылки (36 символов, 5 блоков букв и цифр через минус) вида А-Б-В-Г-Д,
// надо будет передать без минусов, блоки в таком порядке: ГДВБА.
// https://its.1c.ru/db/v851doc#bookmark:dev:TI000001231
// e1cib/command/Справочник.Новости.Команда.КомандаСписокНовостей?cmdprm={УИНСсылкиПараметраКоманды}
// e1cib/command/Справочник.Новости.Команда.КомандаСписокНовостей?cmdprm={УИНСсылкиПараметраКоманды}&extdata={extdata}
КонецПроцедуры
#КонецОбласти
@@ -0,0 +1,39 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2026, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Работает только если подсистема ИПП выключена из командного интерфейса.
// e1cib/command/Справочник.Новости.Команда.КомандаСписокНовостейПоЛентеНовостей.
// Важно, что подсистема ИнтернетПоддержкаПользователей должна быть включена в командный интерфейс (хотя может быть и не видна).
// Иначе будет ошибка при вызове этой команды.
// При изменении наименования подсистемы ИнтернетПоддержкаПользователей, необходимо изменить ссылки и здесь.
// НЕ работает, если подсистема ИПП выключена из командного интерфейса.
// e1cib/navigationpoint/ИнтернетПоддержкаПользователей/Справочник.Новости.Команда.КомандаСписокНовостейПоЛентеНовостей.
#Область ОбработчикиСобытий
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ОбработкаНовостейКлиент.ОткрытьСписокНовостейПоЛентеНовостей(
ПараметрКоманды,
ПараметрыВыполненияКоманды,
"e1cib/command/Справочник.Новости.Команда.ОткрытьСписокНовостейПоЛентеНовостей");
// Если команда - параметризуемая (настраивается в метаданных, реквизит "Группа"),
// то можно передать ей УИН (ссылку строкой, как это реализовано в ПолучитьНавигационнуюСсылку()) параметра команды.
// Если ссылку на параметр команды получить через Ссылка.УникальныйИдентификатор(),
// то вместо ссылки (36 символов, 5 блоков букв и цифр через минус) вида А-Б-В-Г-Д,
// надо будет передать без минусов, блоки в таком порядке: ГДВБА.
// https://its.1c.ru/db/v851doc#bookmark:dev:TI000001231
// e1cib/command/Справочник.Новости.Команда.КомандаСписокНовостейПоЛентеНовостей?cmdprm={УИНСсылкиПараметраКоманды}
// e1cib/command/Справочник.Новости.Команда.КомандаСписокНовостейПоЛентеНовостей?cmdprm={УИНСсылкиПараметраКоманды}&extdata={extdata}
КонецПроцедуры
#КонецОбласти
@@ -113,6 +113,18 @@
</Page>
</ChildItems>
</Pages>
<LabelField name="ЛентаНовостей" id="188">
<DataPath>Объект.ЛентаНовостей</DataPath>
<TitleLocation>None</TitleLocation>
<HorizontalAlign>Right</HorizontalAlign>
<GroupHorizontalAlign>Right</GroupHorizontalAlign>
<Hiperlink>true</Hiperlink>
<ContextMenu name="ЛентаНовостейКонтекстноеМеню" id="189"/>
<ExtendedTooltip name="ЛентаНовостейРасширеннаяПодсказка" id="190"/>
<Events>
<Event name="Click">ЛентаНовостейНажатие</Event>
</Events>
</LabelField>
<PictureField name="ПрочитатьПозже" id="149">
<DataPath>ПрочитатьПозже</DataPath>
<TitleLocation>None</TitleLocation>
@@ -611,6 +611,23 @@
КонецПроцедуры
&НаКлиенте
Процедура ЛентаНовостейНажатие(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПараметрыОткрытияФормы = Новый Структура;
ПараметрыОткрытияФормы.Вставить("АктивироватьПапку_ВариантОтбора" , 1); // По ленте новостей
ПараметрыОткрытияФормы.Вставить("АктивироватьПапку_ЗначениеОтбора", Объект.ЛентаНовостей);
ОбработкаНовостейКлиент.ОткрытьСписокНовостей(
Неопределено, // ПараметрКоманды,
Новый Структура("Источник, Уникальность", ЭтотОбъект, ЭтотОбъект.УникальныйИдентификатор), // ПараметрыВыполненияКоманды,
ПараметрыОткрытияФормы,
Истина); // ОткрыватьВсегда
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@@ -267,6 +267,30 @@
ЭтотОбъект.ЭтоПовторноеОткрытие = Истина;
// Повторное открытие возможно из формы элемента Новости (когда нажали на гиперссылку "ЛентаНовостей").
// Если это так, то проверить - не переместились ли в другую папку с другой лентой новостей, и восстановить правильную ленту новостей (из владельца).
Если (ТипЗнч(ЭтотОбъект.ВладелецФормы) = Тип("ФормаКлиентскогоПриложения"))
И (ЭтотОбъект.ВладелецФормы.ИмяФормы = "Справочник.Новости.Форма.ФормаНовости") Тогда
// Да, открыли из формы новости по гиперссылке
Если (ЭтотОбъект.ТекущаяСтрокаПапки_ВариантОтбора <> 1) // Отбор по ленте новостей
ИЛИ (ЭтотОбъект.ТекущаяСтрокаПапки_ЗначениеОтбора <> ЭтотОбъект.ВладелецФормы.Объект.ЛентаНовостей) Тогда
// Найдём и активируем нужную папку
Для Каждого ТекущаяСтрокаУровня1 Из ЭтотОбъект.Папки.ПолучитьЭлементы() Цикл
Если ТекущаяСтрокаУровня1.ВариантОтбора = 0 Тогда // "Все новости", внутри нее - папки с лентами новостей
СтрокиУровня2 = ТекущаяСтрокаУровня1.ПолучитьЭлементы();
Для Каждого ТекущаяСтрокаУровня2 Из СтрокиУровня2 Цикл
Если (ТекущаяСтрокаУровня2.ВариантОтбора = 1)
И (ТекущаяСтрокаУровня2.ЗначениеОтбора = ЭтотОбъект.ВладелецФормы.Объект.ЛентаНовостей) Тогда
Элементы.Папки.ТекущаяСтрока = ТекущаяСтрокаУровня2.ПолучитьИдентификатор();
Прервать;
КонецЕсли;
КонецЦикла;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
@@ -2760,6 +2760,12 @@
// +УОП
//ПроверитьИЗагрузитьШтрихкод(ЭлементСправочника, СтрокаТаблицы, ИспользоватьХарактеристики);
Если НастройкиЗагрузкиДанных.Свойство("УОП_ПодразделениеЦен")
И ЗначениеЗаполнено(НастройкиЗагрузкиДанных.УОП_ПодразделениеЦен) Тогда
ПодразделениеЦен = НастройкиЗагрузкиДанных.УОП_ПодразделениеЦен;
Иначе
ПодразделениеЦен = СкладОстатков;
КонецЕсли;
// -УОП
Если НЕ НастройкиЗагрузкиДанных.Свойство("ЗагрузкаИзФайлаOzon")
@@ -2768,7 +2774,7 @@
ПроверитьИЗагрузитьЦену(ЭлементСправочника, СтрокаТаблицы, ВидЦен, ИспользоватьХарактеристики,
ЭтоЗагрузкаТабличнойЧасти, НастройкиЗагрузкиДанных.ДатаОбработки, Валюта
// +УОП
,СкладОстатков);
,ПодразделениеЦен);
// -УОП
ПроверитьИЗагрузитьВводНачальныхОстатков(ЭлементСправочника, СтрокаТаблицы, ВременныеДанныеЗагрузки,
@@ -22691,15 +22691,15 @@
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПолноеРазузлованиеРецептур.КлючАналитики КАК КлючАналитики,
| ПолноеРазузлованиеРецептур.Спецификация КАК Спецификация,
| ПолноеРазузлованиеРецептур.Спецификация.Владелец КАК Номенклатура,
| ПолноеРазузлованиеРецептур.Спецификация.ХарактеристикаПродукции КАК Характеристика,
| СУММА(ПолноеРазузлованиеРецептур.КоличествоБрутто) КАК Количество,
| СУММА(ПолноеРазузлованиеРецептур.КоличествоНетто) КАК УОП_КоличествоНетто,
| СУММА(ПолноеРазузлованиеРецептур.КоличествоВыход) КАК УОП_КоличествоВыход,
| МАКСИМУМ(ПолноеРазузлованиеРецептур.ПроцентПотерьПриХолоднойОбработке) КАК УОП_ПроцентПотерьПриХолоднойОбработке,
| МАКСИМУМ(ПолноеРазузлованиеРецептур.ПроцентПотерьПриГорячейОбработке) КАК УОП_ПроцентПотерьПриГорячейОбработке,
| ПолноеРазузлованиеРецептур.ЕдиницаИзмеренияИнгредиента КАК ЕдиницаИзмерения
| СУММА(ПолноеРазузлованиеРецептур.КоличествоБрутто) КАК КоличествоБрутто,
| СУММА(ПолноеРазузлованиеРецептур.КоличествоНетто) КАК КоличествоНетто,
| СУММА(ПолноеРазузлованиеРецептур.КоличествоВыход) КАК КоличествоВыход,
| МАКСИМУМ(ПолноеРазузлованиеРецептур.ПроцентПотерьПриХолоднойОбработке) КАК ПроцентПотерьПриХолоднойОбработке,
| МАКСИМУМ(ПолноеРазузлованиеРецептур.ПроцентПотерьПриГорячейОбработке) КАК ПроцентПотерьПриГорячейОбработке,
| ПолноеРазузлованиеРецептур.ЕдиницаИзмеренияИнгредиента КАК ЕдиницаИзмеренияИнгредиента
|ПОМЕСТИТЬ ВТ_ПолноеРазузлование
|ИЗ
| РегистрСведений.УОП_ПолноеРазузлованиеРецептур КАК ПолноеРазузлованиеРецептур
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_КлючиАналитики КАК ВТ_КлючиАналитики
@@ -22709,9 +22709,49 @@
|
|СГРУППИРОВАТЬ ПО
| ПолноеРазузлованиеРецептур.Спецификация,
| ПолноеРазузлованиеРецептур.Спецификация.Владелец,
| ПолноеРазузлованиеРецептур.Спецификация.ХарактеристикаПродукции,
| ПолноеРазузлованиеРецептур.ЕдиницаИзмеренияИнгредиента";
| ПолноеРазузлованиеРецептур.КлючАналитики,
| ПолноеРазузлованиеРецептур.ЕдиницаИзмеренияИнгредиента
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_ПолноеРазузлование.Спецификация КАК Спецификация,
| ПолноеРазузлованиеРецептур.СпецификацияИнгредиента КАК СпецификацияИнгредиента
|ПОМЕСТИТЬ ВТ_ДанныеПоБлюдам
|ИЗ
| ВТ_ПолноеРазузлование КАК ВТ_ПолноеРазузлование
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.УОП_ПолноеРазузлованиеРецептур КАК ПолноеРазузлованиеРецептур
| ПО ВТ_ПолноеРазузлование.Спецификация = ПолноеРазузлованиеРецептур.Спецификация
| И ВТ_ПолноеРазузлование.КлючАналитики = ПолноеРазузлованиеРецептур.КлючАналитики
|ГДЕ
| НЕ ПолноеРазузлованиеРецептур.СпецификацияБлюда = ЗНАЧЕНИЕ(Справочник.Спецификации.ПустаяСсылка)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_ПолноеРазузлование.Спецификация КАК Спецификация,
| ВТ_ПолноеРазузлование.Спецификация.Владелец КАК Номенклатура,
| ВТ_ПолноеРазузлование.Спецификация.ХарактеристикаПродукции КАК Характеристика,
| СУММА(ВТ_ПолноеРазузлование.КоличествоБрутто) КАК Количество,
| СУММА(ВТ_ПолноеРазузлование.КоличествоНетто) КАК УОП_КоличествоНетто,
| СУММА(ВТ_ПолноеРазузлование.КоличествоВыход) КАК УОП_КоличествоВыход,
| МАКСИМУМ(ВТ_ПолноеРазузлование.ПроцентПотерьПриХолоднойОбработке) КАК УОП_ПроцентПотерьПриХолоднойОбработке,
| МАКСИМУМ(ВТ_ПолноеРазузлование.ПроцентПотерьПриГорячейОбработке) КАК УОП_ПроцентПотерьПриГорячейОбработке,
| ВТ_ПолноеРазузлование.ЕдиницаИзмеренияИнгредиента КАК ЕдиницаИзмерения
|ИЗ
| ВТ_ПолноеРазузлование КАК ВТ_ПолноеРазузлование
|ГДЕ
| НЕ ВТ_ПолноеРазузлование.Спецификация В
| (ВЫБРАТЬ
| ВТ_ДанныеПоБлюдам.СпецификацияИнгредиента КАК Спецификация
| ИЗ
| ВТ_ДанныеПоБлюдам КАК ВТ_ДанныеПоБлюдам)
|
|СГРУППИРОВАТЬ ПО
| ВТ_ПолноеРазузлование.Спецификация,
| ВТ_ПолноеРазузлование.Спецификация.Владелец,
| ВТ_ПолноеРазузлование.Спецификация.ХарактеристикаПродукции,
| ВТ_ПолноеРазузлование.ЕдиницаИзмеренияИнгредиента";
Иначе
ТекстЗапроса =
"ВЫБРАТЬ
@@ -6240,42 +6240,42 @@
<d4p1:isRandomizedNewValues>true</d4p1:isRandomizedNewValues>
<d4p1:realDataItems>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">16.69</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">1.83</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">14.16</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">7.29</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">12</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">2.95</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">14.94</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">3.32</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">5.05</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">19.77</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">2.89</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">8.91</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">0.03</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">2.38</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">1.22</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">0.09</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
@@ -6572,22 +6572,22 @@
<d4p1:isRandomizedNewValues>true</d4p1:isRandomizedNewValues>
<d4p1:realDataItems>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">8.73</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">17.52</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">4.65</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">14.53</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">11.56</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">19.12</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">10.65</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">18.51</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
@@ -6930,42 +6930,42 @@
<d4p1:isRandomizedNewValues>true</d4p1:isRandomizedNewValues>
<d4p1:realDataItems>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">18.63</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">7.52</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">0.97</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">1.85</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">17.89</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">13.54</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">5.8</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">1.12</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">4.55</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">0.18</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">15.38</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">18.38</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">8.21</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">5.52</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
<d4p1:item>
<d4p1:valData xsi:type="xs:decimal">4.04</d4p1:valData>
<d4p1:valData xsi:type="xs:decimal">5.46</d4p1:valData>
<d4p1:valInfo xsi:nil="true"/>
<d4p1:toolTip/>
</d4p1:item>
@@ -1725,6 +1725,15 @@
СтрокаТабличнойЧасти = АктуальныеЦены.НайтиПоИдентификатору(ВыбраннаяСтрока);
Если Объект.СпособРасчетаЦеныНабора = ОбщегоНазначенияКлиент.ПредопределенныйЭлемент(
"Перечисление.СпособыРасчетаЦеныНабора.СкладыватьИзЦенКомплектующих") Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю("Для номенклатуры набор с типом расчета 'Складывать из цен комплектующих' нельзя вручную изменять цены набора.
|Редактирование цен комплектующих выполняется из карточки комплектующих номенклатур.");
Возврат;
КонецЕсли;
ПараметрыОткрытия = ЗаголовокЗначенияЦенОбработкаНавигационнойСсылкиНаСервере(СтрокаТабличнойЧасти.ВидЦен, СтрокаТабличнойЧасти.Период, СтрокаТабличнойЧасти.Цена);
ОткрытьФорму("РегистрСведений.ЦеныНоменклатуры.Форма.ФормаЗаписи", ПараметрыОткрытия);
@@ -10440,17 +10449,20 @@
&НаСервере
Процедура УОП_ОбновитьАлкогольныеРеквизитыНоменклатуры()
Если НЕ ЭтоАдресВременногоХранилища(АдресДанныхНастроекПараметровНоменклатурыИС) Тогда
Возврат;
НовыеДанныеНастроек = ИнтеграцияИС.ДанныеНастроекПараметровНоменклатуры(Объект.Ссылка);
Если ЭтоАдресВременногоХранилища(АдресДанныхНастроекПараметровНоменклатурыИС) Тогда
ДанныеНастроек = ПолучитьИзВременногоХранилища(АдресДанныхНастроекПараметровНоменклатурыИС);
Иначе
ДанныеНастроек = ИнтеграцияИС.ДанныеНастроекПараметровНоменклатуры();
ДанныеНастроек.ОписаниеНоменклатурыИС.Номенклатура = Объект.Ссылка;
КонецЕсли;
ДанныеНастроек = ПолучитьИзВременногоХранилища(АдресДанныхНастроекПараметровНоменклатурыИС);
Если ДанныеНастроек = Неопределено
ИЛИ НЕ ДанныеНастроек.Свойство("НаборСвязанныхИнгредиентов") Тогда
Возврат;
КонецЕсли;
НовыеДанныеНастроек = ИнтеграцияИС.ДанныеНастроекПараметровНоменклатуры(Объект.Ссылка);
ДанныеНастроек.НаборСвязанныхИнгредиентов = НовыеДанныеНастроек.НаборСвязанныхИнгредиентов;
Если ЗначениеЗаполнено(ДанныеНастроек.НаборСвязанныхИнгредиентов) Тогда
@@ -3661,6 +3661,13 @@
<Event name="OnChange">РегистрационныйНомерПФРПриИзменении</Event>
</Events>
</InputField>
<LabelField name="ПредставлениеПроверкиРегистрационногоНомераПФР" id="1995">
<DataPath>ПредставлениеПроверкиРегистрационногоНомераПФР</DataPath>
<TitleLocation>None</TitleLocation>
<VerticalStretch>false</VerticalStretch>
<ContextMenu name="ПредставлениеПроверкиРегистрационногоНомераПФРКонтекстноеМеню" id="1996"/>
<ExtendedTooltip name="ПредставлениеПроверкиРегистрационногоНомераПФРРасширеннаяПодсказка" id="1997"/>
</LabelField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаКодПФР" id="325">
@@ -6225,6 +6232,17 @@
</v8:NumberQualifiers>
</Type>
</Attribute>
<Attribute name="ПредставлениеПроверкиРегистрационногоНомераПФР" id="100">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Представление проверки регистрационного номера ПФР</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8ui:FormattedString</v8:Type>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="ДобавитьИзображениеЛоготипа" id="1">
@@ -1295,6 +1295,9 @@
&НаКлиенте
Процедура РегистрационныйНомерПФРПриИзменении(Элемент)
СформироватьПредставлениеПроверкиРегистрационногоНомераПФР(ЭтотОбъект);
СформироватьПредставлениеПроверкиДанных(ЭтотОбъект);
КодОрганаПФР = ПолучитьКодОрганаПФР(Объект.РегистрационныйНомерПФР);
Если Не ПустаяСтрока(КодОрганаПФР) Тогда
Объект.КодОрганаПФР = КодОрганаПФР;
@@ -5178,6 +5181,7 @@
СформироватьПредставлениеПроверкиОГРН(Форма);
СформироватьПредставлениеПроверкиОКВЭД(Форма);
СформироватьПредставлениеПроверкиСтраховогоНомераПФР(Форма);
СформироватьПредставлениеПроверкиРегистрационногоНомераПФР(Форма);
СформироватьПредставлениеПроверкиДанных(Форма);
@@ -5226,6 +5230,10 @@
Форма.ПредставлениеПроверкиСтраховогоНомераПФР);
Форма.Элементы.ПредставлениеПроверкиСтраховогоНомераПФР.Высота = СтрЧислоСтрок(
Форма.ПредставлениеПроверкиСтраховогоНомераПФР) + 1;
Форма.Элементы.ПредставлениеПроверкиРегистрационногоНомераПФР.Видимость = Не ПустаяСтрока(
Форма.ПредставлениеПроверкиРегистрационногоНомераПФР);
Форма.Элементы.ПредставлениеПроверкиРегистрационногоНомераПФР.Высота = СтрЧислоСтрок(
Форма.ПредставлениеПроверкиРегистрационногоНомераПФР) + 1;
Форма.Элементы.ПредставлениеПроверкиРегистрационногоНомераСФР.Видимость = Не ПустаяСтрока(
Форма.ПредставлениеПроверкиРегистрационногоНомераСФР);
Форма.Элементы.ПредставлениеПроверкиРегистрационногоНомераСФР.Высота = СтрЧислоСтрок(
@@ -5318,6 +5326,20 @@
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура СформироватьПредставлениеПроверкиРегистрационногоНомераПФР(Форма)
Объект = Форма.Объект;
ОписаниеОшибки = "";
Если Не ПустаяСтрока(СтрЗаменить(Объект.РегистрационныйНомерПФР, "-", "")) Тогда
ПроверкаДанныхКлиентСервер.РегНомерПФРСоответствуетТребованиям(
СокрЛП(Объект.РегистрационныйНомерПФР), ОписаниеОшибки);
КонецЕсли;
Форма.ПредставлениеПроверкиРегистрационногоНомераПФР = Новый ФорматированнаяСтрока(ОписаниеОшибки, ,
Форма.ЦветТекстаНекорректногоЗаполнения);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ОписаниеОшибкиЗаполненияРегистрационногоНомераСФР(Знач РегистрационныйНомерСФР)
@@ -225,6 +225,7 @@
<v8:content>Дополнительно</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаДополнительноРасширеннаяПодсказка" id="112"/>
<ChildItems>
@@ -1877,6 +1877,9 @@
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="АутентификацияДляНовогоПользователя" id="62">
<Type/>
</Attribute>
</Attributes>
<Commands>
<Command name="РолиПоказатьТолькоВыбранные" id="1">
@@ -54,15 +54,16 @@
Элементы.НадписьНаличиеПароля.Видимость = Ложь;
Элементы.СменитьПароль.Видимость = Ложь;
КонецЕсли;
Элементы.ПользовательИБАутентификацияOpenID.Видимость = Ложь;
Элементы.ПользовательИБАутентификацияOpenIDConnect.Видимость = Ложь;
Элементы.ПользовательИБАутентификацияТокеномДоступа.Видимость = Ложь;
Элементы.ПользовательИБАутентификацияСтандартная.Видимость = Ложь;
Элементы.ПотребоватьСменуПароляПриВходе.Видимость = Ложь;
Элементы.ПользовательИБЗапрещеноИзменятьПароль.Видимость = Ложь;
Элементы.ПользовательИБЗапрещеноВосстанавливатьПароль.Видимость = Ложь;
Элементы.СвойстваАутентификацииОС.Видимость = Ложь;
Элементы.ПользовательИБРежимЗапуска.Видимость = Ложь;
ОтключитьДоступность = Пользователи.ЭтоПолноправныйПользователь(, Истина);
ОтключитьЭлемент(Элементы.ПользовательИБАутентификацияOpenID, ОтключитьДоступность);
ОтключитьЭлемент(Элементы.ПользовательИБАутентификацияOpenIDConnect, ОтключитьДоступность);
ОтключитьЭлемент(Элементы.ПользовательИБАутентификацияТокеномДоступа, ОтключитьДоступность);
ОтключитьЭлемент(Элементы.ПользовательИБАутентификацияСтандартная, ОтключитьДоступность);
ОтключитьЭлемент(Элементы.ПотребоватьСменуПароляПриВходе, ОтключитьДоступность);
ОтключитьЭлемент(Элементы.ПользовательИБЗапрещеноИзменятьПароль, ОтключитьДоступность);
ОтключитьЭлемент(Элементы.ПользовательИБЗапрещеноВосстанавливатьПароль, ОтключитьДоступность);
ОтключитьЭлемент(Элементы.СвойстваАутентификацииОС, ОтключитьДоступность);
ОтключитьЭлемент(Элементы.ПользовательИБРежимЗапуска, ОтключитьДоступность);
КонецЕсли;
Если СтандартныеПодсистемыСервер.ЭтоУчебнаяПлатформа() Тогда
@@ -89,6 +90,9 @@
КонецЦикла;
КонецЕсли;
АутентификацияДляНовогоПользователя =
ПользователиСлужебный.АутентификацияДляНовогоПользователя(РазделениеВключено);
УровеньДоступа = ПользователиСлужебный.УровеньДоступаКСвойствамПользователя(Объект);
// Подготовка к интерактивным действиям с учетом сценариев открытия формы.
@@ -761,23 +765,10 @@
Если Объект.Недействителен Тогда
ВходВПрограммуРазрешен = Ложь;
Если Не ПользовательИБАутентификацияOpenID
И Не ПользовательИБАутентификацияOpenIDConnect
И Не ПользовательИБАутентификацияТокеномДоступа
И Не ПользовательИБАутентификацияОС
И Не ЗначенияПрямогоИзменения.АутентификацияСтандартная
И ПользовательИБАутентификацияСтандартная Тогда
ПользовательИБАутентификацияСтандартная = Ложь;
КонецЕсли;
ОтключитьНачальнуюАутентификацию();
ИначеЕсли ЗначенияПрямогоИзменения.ВходВПрограммуРазрешен Тогда
Если Не ПользовательИБАутентификацияСтандартная
И Не ПользовательИБАутентификацияOpenID
И Не ПользовательИБАутентификацияOpenIDConnect
И Не ПользовательИБАутентификацияТокеномДоступа
И Не ПользовательИБАутентификацияОС Тогда
ПользовательИБАутентификацияСтандартная = Истина;
КонецЕсли;
ВключитьНачальнуюАутентификацию();
ВходВПрограммуРазрешен = Истина;
КонецЕсли;
@@ -810,27 +801,14 @@
Возврат;
КонецЕсли;
Если Не ВходВПрограммуРазрешен
И Не ПользовательИБАутентификацияOpenID
И Не ПользовательИБАутентификацияOpenIDConnect
И Не ПользовательИБАутентификацияТокеномДоступа
И Не ПользовательИБАутентификацияОС
И Не ЗначенияПрямогоИзменения.АутентификацияСтандартная
И ПользовательИБАутентификацияСтандартная Тогда
ПользовательИБАутентификацияСтандартная = Ложь;
Если Не ВходВПрограммуРазрешен Тогда
ОтключитьНачальнуюАутентификацию();
КонецЕсли;
ОбновитьИмяДляВхода(ЭтотОбъект);
Если ВходВПрограммуРазрешен
И Не ПользовательИБАутентификацияOpenID
И Не ПользовательИБАутентификацияOpenIDConnect
И Не ПользовательИБАутентификацияТокеномДоступа
И Не ПользовательИБАутентификацияОС
И Не ПользовательИБАутентификацияСтандартная Тогда
ПользовательИБАутентификацияСтандартная = Истина;
Если ВходВПрограммуРазрешен Тогда
ВключитьНачальнуюАутентификацию();
КонецЕсли;
ОбновитьСвойствоПоказыватьВСпискеВыбора();
@@ -929,6 +907,7 @@
Процедура ПользовательИБАутентификацияOpenIDПриИзменении(Элемент)
АутентификацияПриИзменении();
ЗначенияПрямогоИзменения.АутентификацияOpenID = ПользовательИБАутентификацияOpenID;
КонецПроцедуры
@@ -936,6 +915,7 @@
Процедура ПользовательИБАутентификацияOpenIDConnectПриИзменении(Элемент)
АутентификацияПриИзменении();
ЗначенияПрямогоИзменения.АутентификацияOpenIDConnect = ПользовательИБАутентификацияOpenIDConnect;
КонецПроцедуры
@@ -943,6 +923,7 @@
Процедура ПользовательИБАутентификацияТокеномДоступаПриИзменении(Элемент)
АутентификацияПриИзменении();
ЗначенияПрямогоИзменения.АутентификацияТокеномДоступа = ПользовательИБАутентификацияТокеномДоступа;
КонецПроцедуры
@@ -950,6 +931,7 @@
Процедура ПользовательИБАутентификацияОСПриИзменении(Элемент)
АутентификацияПриИзменении();
ЗначенияПрямогоИзменения.АутентификацияОС = ПользовательИБАутентификацияОС;
КонецПроцедуры
@@ -1428,6 +1410,17 @@
КонецПроцедуры
&НаСервере
Процедура ОтключитьЭлемент(Элемент, ОтключитьДоступность)
Если ОтключитьДоступность Тогда
Элемент.Доступность = Ложь;
Иначе
Элемент.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПриИзмененияИспользованияВнешнихПользователей()
@@ -1918,6 +1911,43 @@
КонецПроцедуры
&НаКлиенте
Процедура ВключитьНачальнуюАутентификацию()
Если Не ПользовательИБАутентификацияСтандартная
И Не ПользовательИБАутентификацияOpenID
И Не ПользовательИБАутентификацияOpenIDConnect
И Не ПользовательИБАутентификацияТокеномДоступа
И Не ПользовательИБАутентификацияОС Тогда
ЗаполнитьЗначенияСвойств(ЭтотОбъект, АутентификацияДляНовогоПользователя);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтключитьНачальнуюАутентификацию()
Если (Не ПользовательИБАутентификацияСтандартная
Или Не ЗначенияПрямогоИзменения.АутентификацияСтандартная)
И (Не ПользовательИБАутентификацияOpenID
Или Не ЗначенияПрямогоИзменения.АутентификацияOpenID)
И (Не ПользовательИБАутентификацияOpenIDConnect
Или Не ЗначенияПрямогоИзменения.АутентификацияOpenIDConnect)
И (Не ПользовательИБАутентификацияТокеномДоступа
Или Не ЗначенияПрямогоИзменения.АутентификацияТокеномДоступа)
И (Не ПользовательИБАутентификацияОС
Или Не ЗначенияПрямогоИзменения.АутентификацияОС) Тогда
ПользовательИБАутентификацияСтандартная = Ложь;
ПользовательИБАутентификацияOpenID = Ложь;
ПользовательИБАутентификацияOpenIDConnect = Ложь;
ПользовательИБАутентификацияТокеномДоступа = Ложь;
ПользовательИБАутентификацияОС = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьСвойствоПоказыватьВСпискеВыбора()
@@ -2486,7 +2516,6 @@
// Сопоставление пользователя ИБ с пользователем в справочнике.
Если Пользователи.ВходВПрограммуРазрешен(ПрочитанныеСвойства) Тогда
ВходВПрограммуРазрешен = Истина;
ОписаниеПользователяИБ.АутентификацияСтандартная = Истина;
КонецЕсли;
// Копирование свойств и ролей пользователяИБ.
@@ -2579,6 +2608,8 @@
ПользовательИБАутентификацияOpenIDConnect = ХранимыеСвойства.АутентификацияOpenIDConnect;
ПользовательИБАутентификацияТокеномДоступа = ХранимыеСвойства.АутентификацияТокеномДоступа;
ПользовательИБАутентификацияОС = ХранимыеСвойства.АутентификацияОС;
ИначеЕсли Не ПользовательИБОсновной И ВходВПрограммуРазрешен Тогда
ЗаполнитьЗначенияСвойств(ЭтотОбъект, АутентификацияДляНовогоПользователя);
КонецЕсли;
ОбработатьИнтерфейсРолей("ЗаполнитьРоли", ОписаниеПользователяИБ.Роли);
@@ -2594,12 +2625,20 @@
ЗначенияПрямогоИзменения.Вставить("ВходВПрограммуРазрешен", ВходВПрограммуРазрешен);
ЗначенияПрямогоИзменения.Вставить("Имя", ПользовательИБИмя);
ЗначенияПрямогоИзменения.Вставить("АутентификацияСтандартная", ПользовательИБАутентификацияСтандартная);
ЗначенияПрямогоИзменения.Вставить("АутентификацияOpenID", ПользовательИБАутентификацияOpenID);
ЗначенияПрямогоИзменения.Вставить("АутентификацияOpenIDConnect", ПользовательИБАутентификацияOpenIDConnect);
ЗначенияПрямогоИзменения.Вставить("АутентификацияТокеномДоступа", ПользовательИБАутентификацияТокеномДоступа);
ЗначенияПрямогоИзменения.Вставить("АутентификацияОС", ПользовательИБАутентификацияОС);
ЗначенияПрямогоИзменения.Вставить("ПотребоватьСменуПароляПриВходе", ПотребоватьСменуПароляПриВходе);
ЗначенияПрямогоИзменения.Вставить("ЗапрещеноИзменятьПароль", ПользовательИБЗапрещеноИзменятьПароль);
ЗначенияПрямогоИзменения.Вставить("ЗапрещеноВосстанавливатьПароль", ПользовательИБЗапрещеноВосстанавливатьПароль);
Если Не ПользовательИБСуществует Тогда
ЗначенияПрямогоИзменения.АутентификацияСтандартная = Ложь;
ЗначенияПрямогоИзменения.АутентификацияСтандартная = Ложь;
ЗначенияПрямогоИзменения.АутентификацияOpenID = Ложь;
ЗначенияПрямогоИзменения.АутентификацияOpenIDConnect = Ложь;
ЗначенияПрямогоИзменения.АутентификацияТокеномДоступа = Ложь;
ЗначенияПрямогоИзменения.АутентификацияОС = Ложь;
КонецЕсли;
КонецПроцедуры
@@ -2835,7 +2874,8 @@
Элементы.ПользовательИБЗапрещеноВосстанавливатьПароль.Доступность =
Не Форма.ПользовательИБЗапрещеноИзменятьПароль
И ЗначениеЗаполнено(Форма.ИмяРеквизитаСПочтойДляВосстановленияПароля)
И ЗначениеЗаполнено(Форма[Форма.ИмяРеквизитаСПочтойДляВосстановленияПароля]);
И ЗначениеЗаполнено(Форма[Форма.ИмяРеквизитаСПочтойДляВосстановленияПароля])
И Элементы.ПользовательИБАутентификацияСтандартная.Доступность;
// Уточнение настроек в модели сервиса.
Если ДействияСПользователемСервиса <> Неопределено Тогда
@@ -21,7 +21,7 @@
Процедура ЗагрузитьПрофильКлючевыхОпераций(Команда)
Если ЕстьБазоваяФункциональность Тогда
МодульФайловаяСистемаКлиент = Вычислить("ФайловаяСистемаКлиент");
МодульФайловаяСистемаКлиент = Вычислить("ФайловаяСистемаКлиент"); // Не нарушает безопасность информации, так как вычисляется фиксированная строка, содержащая только имя общего модуля.
Если ТипЗнч(МодульФайловаяСистемаКлиент) = Тип("ОбщийМодуль") Тогда
ПараметрыЗагрузки = МодульФайловаяСистемаКлиент.ПараметрыЗагрузкиФайла();
ПараметрыЗагрузки.Диалог.Заголовок = НСтр("ru = 'Выберите файл профиля ключевых операций'");
@@ -50,7 +50,7 @@
Процедура СохранитьПрофильКлючевыхОпераций(Команда)
Если ЕстьБазоваяФункциональность Тогда
МодульФайловаяСистемаКлиент = Вычислить("ФайловаяСистемаКлиент");
МодульФайловаяСистемаКлиент = Вычислить("ФайловаяСистемаКлиент"); // Не нарушает безопасность информации, так как вычисляется фиксированная строка, содержащая только имя общего модуля.
Если ТипЗнч(МодульФайловаяСистемаКлиент) = Тип("ОбщийМодуль") Тогда
ПараметрыСохранения = МодульФайловаяСистемаКлиент.ПараметрыСохраненияФайла();
ПараметрыСохранения.Диалог.Заголовок = НСтр("ru = 'Сохранить профиль ключевых операций в файл'");
@@ -285,6 +285,28 @@
ПорядокСостояний.Загрузить(Запрос.Выполнить().Выгрузить());
// +УОП
ЗанятыеНомераСтрок = Новый Соответствие;
Для Каждого ТекСтрока Из ПорядокСостояний Цикл
ДанныеПоНомеру = ЗанятыеНомераСтрок[ТекСтрока.НомерСтроки];
Если ДанныеПоНомеру = Неопределено Тогда
ЗанятыеНомераСтрок[ТекСтрока.НомерСтроки] = Истина;
Продолжить;
КонецЕсли;
ТекНомер = ТекСтрока.НомерСтроки;
Пока Истина Цикл
ДанныеПоНомеру = ЗанятыеНомераСтрок[ТекНомер];
Если ДанныеПоНомеру = Неопределено Тогда
ТекСтрока.НомерСтроки = ТекНомер;
ЗанятыеНомераСтрок[ТекСтрока.НомерСтроки] = Истина;
Прервать;
КонецЕсли;
ТекНомер = ТекНомер + 1;
КонецЦикла;
КонецЦикла;
// -УОП
КонецПроцедуры
&НаСервере
@@ -320,7 +342,10 @@
КонецЕсли;
НовоеПоле = Новый РеквизитФормы(
"ИспользуетсяДляСостояния_" + ДанныеСостояния.НомерСтроки,
// +УОП
"ИспользуетсяДляСостояния_" +
Формат(ДанныеСостояния.НомерСтроки, "ЧГ="),
// -УОП
Новый ОписаниеТипов("Булево"),
"Процессы",
ДанныеСостояния.НаименованиеСостояния);
@@ -361,8 +386,10 @@
Продолжить;
КонецЕсли;
ПутьКДанным = "ИспользуетсяДляСостояния_" + ДанныеСостояния.НомерСтроки;
ПутьКДанным = "ИспользуетсяДляСостояния_"
// +УОП
+ Формат(ДанныеСостояния.НомерСтроки, "ЧГ=");
// -УОП
КолонкаТаблицы = Элементы.Добавить("Процессы" + ПутьКДанным, Тип("ПолеФормы"), Элементы.Процессы);
КолонкаТаблицы.Вид = ВидПоляФормы.ПолеФлажка;
КолонкаТаблицы.ПутьКДанным = СтрШаблон("Процессы.%1", ПутьКДанным);
@@ -1246,8 +1273,9 @@
КонецЕсли;
КонецЕсли;
Возврат СтрШаблон("ИспользуетсяДляСостояния_%1", НомерСтроки);
// +УОП
Возврат СтрШаблон("ИспользуетсяДляСостояния_%1", Формат(НомерСтроки, "ЧГ="));
// -УОП
КонецФункции
@@ -1301,7 +1329,9 @@
Возврат;
КонецЕсли;
ИмяКолонки = "ПроцессыИспользуетсяДляСостояния_" + НомерСтроки;
// +УОП
ИмяКолонки = "ПроцессыИспользуетсяДляСостояния_" + Формат(НомерСтроки, "ЧГ=");
// -УОП
КонецЕсли;
@@ -2766,13 +2766,14 @@
| СпецификацииСостав.Характеристика КАК Характеристика,
| СпецификацииСостав.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| СпецификацииСостав.Спецификация КАК Спецификация,
| СпецификацииСостав.Количество * РазворачиваемыеСпецификации.Количество КАК Количество,
| СпецификацииСостав.Количество * РазворачиваемыеСпецификации.Количество / СпецификацииСостав.КоличествоПродукции КАК
| Количество,
| ВЫБОР
| КОГДА СпецификацииСостав.ЕдиницаИзмерения ССЫЛКА Справочник.ЕдиницыИзмерения
| ТОГДА СпецификацииСостав.ЕдиницаИзмерения.Коэффициент
| ИНАЧЕ 1
| КОНЕЦ КАК Коэффициент,
| СпецификацииСостав.КоличествоПродукции КАК КоличествоПродукции,
| РазворачиваемыеСпецификации.Количество КАК КоличествоПродукции,
| СпецификацииСостав.ФормулаНоменклатура КАК ФормулаНоменклатура,
| СпецификацииСостав.ФормулаКоличество КАК ФормулаКоличество,
| СпецификацииСостав.ИспользуетсяСопоставление КАК ИспользуетсяСопоставление,
@@ -2799,8 +2800,9 @@
| СпецификацииОперации.Операция.Артикул КАК Артикул,
| СпецификацииОперации.Операция.Штрихкод КАК Штрихкод,
| СпецификацииОперации.НормаВремени КАК НормаВремени,
| СпецификацииОперации.Количество * РазворачиваемыеСпецификации.Количество КАК Количество,
| СпецификацииОперации.КоличествоПродукции КАК КоличествоПродукции,
| СпецификацииОперации.Количество * РазворачиваемыеСпецификации.Количество /
| СпецификацииОперации.КоличествоПродукции КАК Количество,
| РазворачиваемыеСпецификации.Количество КАК КоличествоПродукции,
| СпецификацииОперации.ФормулаОперация КАК ФормулаОперация,
| СпецификацииОперации.ФормулаКоличество КАК ФормулаКоличество,
| СпецификацииОперации.ФормулаНормаВремени КАК ФормулаНормаВремени,
@@ -294,7 +294,6 @@
КонецФункции
#Область ДляВызоваИзДругихПодсистем
// СтандартныеПодсистемы.УправлениеДоступом
@@ -333,6 +332,153 @@
#КонецОбласти
Функция ДанныеКонтрагентаПлатформаЦифровогоРубля(Создавать = Ложь) Экспорт
Результат = Новый Структура("Ссылка", Неопределено);
ДанныеЦБ = ЦифровойРубль.РеквизитыОператораПлатформыЦифровогоРубля();
ДанныеЦБ.Вставить("НаименованиеПолное", ДанныеЦБ.Наименование);
Запрос = Новый Запрос("ВЫБРАТЬ
| Контрагенты.Ссылка КАК Ссылка
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.ИНН = &ИНН
| И Контрагенты.КПП = &КПП
| И НЕ Контрагенты.ПометкаУдаления");
Запрос.УстановитьПараметр("ИНН", ДанныеЦБ.ИНН);
Запрос.УстановитьПараметр("КПП", ДанныеЦБ.КПП);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Результат.Ссылка = Выборка.Ссылка;
Иначе
Если Создавать Тогда
УстановитьПривилегированныйРежим(Истина);
ДанныеЦБ.Вставить("ПрочиеОтношения", Истина);
КонтрагентЦБ = Справочники.Контрагенты.СоздатьКонтрагента(ДанныеЦБ);
УстановитьПривилегированныйРежим(Ложь);
Результат.Ссылка = КонтрагентЦБ;
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
Функция ДоговорКонтрагентаПлатформаЦифровогоРубля(Организация, Контрагент, Создавать = Ложь) Экспорт
Результат = Неопределено;
Запрос = Новый Запрос("ВЫБРАТЬ
| ДоговорыКонтрагентов.Ссылка КАК Ссылка
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
|ГДЕ
| ДоговорыКонтрагентов.Владелец = &Владелец
| И ДоговорыКонтрагентов.Организация = &Организация
| И ДоговорыКонтрагентов.ВидДоговора = &ВидДоговора
| И ДоговорыКонтрагентов.ЭтоДоговорЭквайринга
| И НЕ ДоговорыКонтрагентов.ПометкаУдаления");
Запрос.УстановитьПараметр("Владелец", Контрагент);
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("ВидДоговора", Перечисления.ВидыДоговоров.Прочее);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Результат = Выборка.Ссылка;
Иначе
Если Создавать Тогда
УстановитьПривилегированныйРежим(Истина);
ДоговорПоУмолчанию = Справочники.ДоговорыКонтрагентов.ПоКонтрагентуПоОрганизации(
Контрагент, Организация, Перечисления.ВидыДоговоров.Прочее);
Если ЗначениеЗаполнено(ДоговорПоУмолчанию) Тогда
Договор = ДоговорПоУмолчанию.ПолучитьОбъект();
Иначе
Договор = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
Договор.Наименование = НСтр("ru = 'Основной договор'");
Договор.Владелец = Контрагент;
Договор.Организация = Организация;
Договор.ВалютаРасчетов = УправлениеНебольшойФирмойПовтИсп.ПолучитьНациональнуюВалюту();
Договор.ВидДоговора = Перечисления.ВидыДоговоров.Прочее;
Договор.СпособЗачетаПредоплатыПоУмолчанию = Контрагент.СпособЗачетаПредоплатыПоУмолчанию;
Договор.СпособРазнесенияОплатыПоУмолчанию = Контрагент.СпособРазнесенияОплатыПоУмолчанию;
КонецЕсли;
Договор.ЭтоДоговорЭквайринга = Истина;
Договор.КонтрольВзаиморасчетовЭквайринг = Истина;
Договор.Записать();
УстановитьПривилегированныйРежим(Ложь);
Результат = Договор.Ссылка;
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
Функция СпособыОплатыПоДоговоруИТипуОплаты(Организация, Контрагент, Договор, ТипОплаты) Экспорт
ВидОплаты = Справочники.СпособыОплаты.ПустаяСсылка();
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("Договор", Договор);
Запрос.УстановитьПараметр("ТипОплаты", ТипОплаты);
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| СпособыОплаты.Ссылка КАК Ссылка
|ИЗ
| Справочник.СпособыОплаты КАК СпособыОплаты
|ГДЕ
| СпособыОплаты.Организация = &Организация
| И СпособыОплаты.Эквайрер = &Контрагент
| И СпособыОплаты.Договор = &Договор
| И СпособыОплаты.Тип = &ТипОплаты
| И НЕ СпособыОплаты.ПометкаУдаления
|
|УПОРЯДОЧИТЬ ПО
| Ссылка УБЫВ";
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ВидОплаты = Выборка.Ссылка;
КонецЕсли;
Возврат ВидОплаты;
КонецФункции
Функция СпособыОплатыЦР(Организация) Экспорт
ВидОплаты = Справочники.СпособыОплаты.ПустаяСсылка();
ДанныеБанка = ДанныеКонтрагентаПлатформаЦифровогоРубля();
Контрагент = ДанныеБанка.Ссылка;
ДоговорКонтрагента = Неопределено;
Если ЗначениеЗаполнено(Контрагент) Тогда
Договор = ДоговорКонтрагентаПлатформаЦифровогоРубля(Организация, Контрагент);
КонецЕсли;
Если ЗначениеЗаполнено(Договор) Тогда
Тип = Перечисления.ТипыСпособовОплат.ЦифровойРубль;
ВидОплаты = СпособыОплатыПоДоговоруИТипуОплаты(Организация, Контрагент, Договор, Тип);
КонецЕсли;
Возврат ВидОплаты;
КонецФункции
#КонецОбласти
#КонецЕсли
@@ -33,6 +33,16 @@
ПроверитьДоговор(Отказ);
МассивНепроверяемыхРеквизитов = Новый Массив;
Если Тип = Перечисления.ТипыСпособовОплат.ЦифровойРубль Тогда // будут созданы при записи
МассивНепроверяемыхРеквизитов.Добавить("Эквайрер");
МассивНепроверяемыхРеквизитов.Добавить("Договор");
КонецЕсли;
// Удаляем из проверяемых реквизитов все, по которым автоматическая проверка не нужна:
ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, МассивНепроверяемыхРеквизитов);
КонецПроцедуры // ОбработкаПроверкиЗаполнения()
// Процедура - обработчик события "ПередЗаписью".
@@ -47,6 +57,61 @@
ПодключаемоеОборудование = Неопределено;
КонецЕсли;
ЦифровойСчет = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(БанковскийСчетЭквайринг, "ЦифровойСчет");
Если Тип = Перечисления.ТипыСпособовОплат.ЦифровойРубль Тогда
ДанныеБанка = Справочники.СпособыОплаты.ДанныеКонтрагентаПлатформаЦифровогоРубля(Истина);
Если ЗначениеЗаполнено(Организация) И ЗначениеЗаполнено(Эквайрер) Тогда
Если Эквайрер <> ДанныеБанка.Ссылка Тогда
РеквизитыЦБ = ЦифровойРубль.РеквизитыОператораПлатформыЦифровогоРубля();
ШаблонСообщения = СтрШаблон(
НСтр("ru = 'Для способа оплаты ""Цифровой рубль"" банком должен быть %1'"),
РеквизитыЦБ.Наименование);
ТекстСообщения = ОбщегоНазначенияКлиентСервер.ТекстОшибкиЗаполнения(, "Корректность",
НСтр("ru = 'Банк'"),,, ШаблонСообщения);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, Ссылка, "Эквайрер", "Объект", Отказ);
Возврат;
КонецЕсли;
Если ЗначениеЗаполнено(Договор) Тогда
ВидОплаты = Справочники.СпособыОплаты.СпособыОплатыПоДоговоруИТипуОплаты(
Организация, Эквайрер, Договор, Перечисления.ТипыСпособовОплат.ЦифровойРубль);
Если ЗначениеЗаполнено(ВидОплаты) И (ЭтоНовый() Или ВидОплаты <> Ссылка) Тогда
ШаблонСообщения = НСтр("ru = 'Способ оплаты с такими реквизитами уже существует'");
ТекстСообщения = ОбщегоНазначенияКлиентСервер.ТекстОшибкиЗаполнения(, "Корректность",
НСтр("ru = 'Банк'"),,, ШаблонСообщения);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, Ссылка, "Эквайрер", "Объект", Отказ);
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(Эквайрер) Тогда
Эквайрер = ДанныеБанка.Ссылка;
КонецЕсли;
Если Не ЗначениеЗаполнено(Договор) Тогда
Договор = Справочники.СпособыОплаты.ДоговорКонтрагентаПлатформаЦифровогоРубля(Организация, Эквайрер, Истина);
КонецЕсли;
Если Не ЦифровойСчет Тогда
ШаблонСообщения = НСтр("ru = 'Необходимо выбрать кошелек цифрового рубля'");
ТекстСообщения = ОбщегоНазначенияКлиентСервер.ТекстОшибкиЗаполнения(, "Корректность",
НСтр("ru = 'Банковский счет'"),,, ШаблонСообщения);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, Ссылка, "БанковскийСчетЭквайринг", "Объект", Отказ);
КонецЕсли;
Иначе
Если ЦифровойСчет Тогда
ШаблонСообщения = НСтр("ru = 'Необходимо выбрать банковский счет'");
ТекстСообщения = ОбщегоНазначенияКлиентСервер.ТекстОшибкиЗаполнения(, "Корректность",
НСтр("ru = 'Банковский счет'"),,, ШаблонСообщения);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, Ссылка, "БанковскийСчетЭквайринг", "Объект", Отказ);
КонецЕсли;
КонецЕсли;
КонецПроцедуры // ПередЗаписью()
// Процедура - обработчик события ПриЗаписи объекта.
@@ -156,7 +221,8 @@
//
Процедура ПроверитьДоговор(Отказ)
ДоговорПодходит = Договор.ЭтоДоговорЭквайринга Или Договор.ЭтоДоговорКредита;
ДоговорПодходит = Договор.ЭтоДоговорЭквайринга Или Договор.ЭтоДоговорКредита
Или Тип = Перечисления.ТипыСпособовОплат.ЦифровойРубль;
Если НЕ ДоговорПодходит Тогда
@@ -283,6 +283,37 @@
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ИдентификаторQRОперации" id="15">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Идентификатор QRОперации</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>100</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="КодСпособаОплатыЭТ" id="16">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Код способа оплаты ЭТ</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>2</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="ОК" id="1">
@@ -102,6 +102,8 @@
ПараметрыЗакрытия.Вставить("Сумма", Сумма);
ПараметрыЗакрытия.Вставить("СуммаКомиссии", ПосчитатьКомиссию(Сумма, ЭквайринговыйТерминал, ВидПлатежнойКарты));
ПараметрыЗакрытия.Вставить("ВидОплаты", ПредопределенноеЗначение("Перечисление.ВидыБезналичныхОплат.БанковскаяКарта"));
ПараметрыЗакрытия.Вставить("ИдентификаторQRОперации", ИдентификаторQRОперации);
ПараметрыЗакрытия.Вставить("КодСпособаОплатыЭТ", КодСпособаОплатыЭТ);
Если ВозвратОплаты Тогда
ПараметрыЗакрытия.Вставить("ОплатаОтменена", Истина);
КонецЕсли;
@@ -212,6 +214,8 @@
Сумма = РезультатВыполнения.СуммаОперации;
СсылочныйНомер = РезультатВыполнения.СсылочныйНомер;
НомерЧекаЭТ = РезультатВыполнения.НомерЧекаЭТ;
ИдентификаторQRОперации = РезультатВыполнения.ИдентификаторQRОперации;
КодСпособаОплатыЭТ = Число(РезультатВыполнения.ВидОплатыНаТерминалеКод);
ОК(Неопределено);
@@ -78,6 +78,8 @@
АдаптацияТакси();
УправлениеФормой();
КонецПроцедуры // ПриСозданииНаСервере()
&НаКлиенте
@@ -164,7 +166,7 @@
// Проверим валюты договора и банковского счета.
ВалютаДоговора = ТекущийОбъект.Договор.ВалютаРасчетов;
ВалютаСчета = ТекущийОбъект.БанковскийСчетЭквайринг.ВалютаДенежныхСредств;
Если ВалютаДоговора <> ВалютаСчета Тогда
Если ВалютаДоговора <> ВалютаСчета И Объект.Тип <> Перечисления.ТипыСпособовОплат.ЦифровойРубль Тогда
Отказ = Истина;
Сообщение = Новый СообщениеПользователю;
@@ -205,6 +207,8 @@
УправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
// Конец СтандартныеПодсистемы.УправлениеДоступом
Элементы.ДоговорПлатежнаяСистема.Видимость = ЗначениеЗаполнено(Объект.Эквайрер);
КонецПроцедуры
#КонецОбласти
@@ -327,6 +331,7 @@
ПриИзмененииТипа();
СформироватьАвтоНаименование();
ОбработатьЦифровойРубль();
КонецПроцедуры
@@ -334,6 +339,7 @@
Процедура ТипПриИзменении(Элемент)
ПриИзмененииТипа();
ОбработатьЦифровойРубль();
КонецПроцедуры
@@ -730,6 +736,7 @@
Элементы.Тип.СписокВыбора.Добавить(Перечисления.ТипыСпособовОплат.СБП);
Элементы.Тип.СписокВыбора.Добавить(Перечисления.ТипыСпособовОплат.ЯндексПэй);
Элементы.Тип.СписокВыбора.Добавить(Перечисления.ТипыСпособовОплат.ЦифровойРубль);
Элементы.Тип.СписокВыбора.Добавить(Перечисления.ТипыСпособовОплат.ДругаяПлатежнаяСистема);
Элементы.ТипПлатежнаяСистема.СписокВыбора.Очистить();
@@ -754,6 +761,87 @@
КонецФункции
Процедура УстановитьПараметрыВыбораБанковскихСчетов()
НовыйМассивПараметров = Новый Массив;
Если Объект.Тип = Перечисления.ТипыСпособовОплат.ЦифровойРубль Тогда
НовыйМассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.ЦифровойСчет", Истина));
Иначе
НовыйМассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.ЦифровойСчет", Ложь));
КонецЕсли;
Элементы.БанковскийСчетЭквайринг.ПараметрыВыбора = Новый ФиксированныйМассив(НовыйМассивПараметров);
Элементы.БанковскийСчетПлатежнаяСистема.ПараметрыВыбора = Новый ФиксированныйМассив(НовыйМассивПараметров);
КонецПроцедуры
&НаСервере
Процедура УправлениеФормой()
// Видимость по умолчанию
ЭтоЦифровойРубль = Ложь;
Если Объект.Тип = Перечисления.ТипыСпособовОплат.ЦифровойРубль Тогда
Элементы.ЭквайрерПлатежнаяСистема.ПодсказкаВвода = НСтр("ru = 'БАНК РОССИИ (Оператор платформы цифрового рубля)'");
ЭтоЦифровойРубль = Истина;
Иначе
Элементы.ДоговорПлатежнаяСистема.ПодсказкаВвода = "";
КонецЕсли;
Элементы.ДоговорПлатежнаяСистема.Видимость =
ЗначениеЗаполнено(Объект.Эквайрер) Или Объект.Тип = Перечисления.ТипыСпособовОплат.ЦифровойРубль;
ДоступностьРеквизитовЦР = ЭтоЦифровойРубль И Не ЗначениеЗаполнено(Объект.Ссылка); // ограничиваем только для нового элемента
Элементы.ЭквайрерПлатежнаяСистема.ТолькоПросмотр = ДоступностьРеквизитовЦР;
Элементы.ДоговорПлатежнаяСистема.ТолькоПросмотр = ДоступностьРеквизитовЦР;
//Элементы.ДоговорПлатежнаяСистема.Доступность = ЗначениеЗаполнено(Объект.Организация)
// И ЗначениеЗаполнено(Объект.Эквайрер) И Не ДоступностьРеквизитовЦР;
УстановитьПараметрыВыбораБанковскихСчетов();
КонецПроцедуры
&НаСервере
Процедура ОбработатьЦифровойРубль()
ЦифровойСчет =
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.БанковскийСчетЭквайринг, "ЦифровойСчет") = Истина;
Если Объект.Тип = Перечисления.ТипыСпособовОплат.ЦифровойРубль Тогда
ДанныеБанка = Справочники.СпособыОплаты.ДанныеКонтрагентаПлатформаЦифровогоРубля();
Если Объект.Эквайрер <> ДанныеБанка.Ссылка Тогда
Объект.Эквайрер = ДанныеБанка.Ссылка;
КонецЕсли;
Если ЗначениеЗаполнено(Объект.Эквайрер) Тогда
Объект.Договор =
Справочники.СпособыОплаты.ДоговорКонтрагентаПлатформаЦифровогоРубля(Объект.Организация, Объект.Эквайрер);
КонецЕсли;
Если Не ЦифровойСчет Тогда
Объект.БанковскийСчетЭквайринг = Неопределено;
КонецЕсли;
БанковскиеСчетаОрганизации = Справочники.БанковскиеСчета.БанковскиеСчетаОрганизации(
Объект.Организация,
УправлениеНебольшойФирмойПовтИсп.ПолучитьНациональнуюВалюту(),
,
Истина);
Если БанковскиеСчетаОрганизации.Количество() > 0 Тогда
Объект.БанковскийСчетЭквайринг = БанковскиеСчетаОрганизации[0].Ссылка;
КонецЕсли;
Иначе
Если ЦифровойСчет Тогда
Объект.БанковскийСчетЭквайринг = Неопределено;
КонецЕсли;
КонецЕсли;
УправлениеФормой();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиБиблиотек
@@ -162,6 +162,7 @@
Возврат;
КонецЕсли;
ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());
РаботаСХранилищамиДвоичныхДанныхСервер.ИзменитьСоставХранимыхДанных(ВидТомаХраненияФайлов, СпособХраненияФайлов, ИмяХранилищаДвоичныхДанных)
КонецПроцедуры
@@ -181,6 +182,10 @@
КонецЕсли;
КонецЕсли;
Если НЕ ДополнительныеСвойства.ЭтоНовый Тогда
ОбновитьПовторноИспользуемыеЗначения();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
@@ -320,7 +325,6 @@
КонецФункции
#КонецОбласти
#Иначе
@@ -553,7 +553,8 @@
ТекстЗапроса = "ВЫБРАТЬ
| ТаблицаДокумента.Номенклатура КАК Номенклатура,
| ТаблицаДокумента.Характеристика КАК Характеристика,
| &МенюПустаяСсылка КАК Меню
| &МенюПустаяСсылка КАК Меню,
| ТаблицаДокумента.ЕдиницаИзмерения КАК ЕдиницаИзмерения
|ПОМЕСТИТЬ ВТ_Номенклатура
|ИЗ
| Документ.ЗаказНаПроизводство.Продукция КАК ТаблицаДокумента
@@ -562,7 +563,9 @@
| И &Отборы
|
|СГРУППИРОВАТЬ ПО
| ТаблицаДокумента.Номенклатура, ТаблицаДокумента.Характеристика";
| ТаблицаДокумента.Номенклатура,
| ТаблицаДокумента.Характеристика,
| ТаблицаДокумента.ЕдиницаИзмерения";
Если СпособЗаполнения = СпособЗаполненияМеню_ПоПланированиюПроизводством()
ИЛИ СпособЗаполнения = СпособЗаполненияМеню_ПоУправлениюАссортиментом() Тогда
@@ -860,7 +863,22 @@
|ИТОГИ ПО
| Номенклатура ТОЛЬКО ИЕРАРХИЯ");
КонецЕсли;
ТекстЗапроса = СтрСоединить(МассивПакетов, ОбщегоНазначения.РазделительПакетаЗапросов());
Если НЕ Запрос.МенеджерВременныхТаблиц.Таблицы.Найти("ВТ_Номенклатура").Колонки.Найти("ЕдиницаИзмерения") = Неопределено Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "СпрНоменклатура.УОП_ОсновнаяЕдиницаИзмерения",
"ВЫБОР
| КОГДА НЕ ВТ_Номенклатура.ЕдиницаИзмерения В(&ПустыеЕдиницыИзмерения)
| ТОГДА ВТ_Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ СпрНоменклатура.УОП_ОсновнаяЕдиницаИзмерения
| КОНЕЦ");
КонецЕсли;
ПустыеЕдиницыИзмерения = Новый Массив;
ПустыеЕдиницыИзмерения.Добавить(Неопределено);
ПустыеЕдиницыИзмерения.Добавить(Справочники.ЕдиницыИзмерения.ПустаяСсылка());
ПустыеЕдиницыИзмерения.Добавить(Справочники.КлассификаторЕдиницИзмерения.ПустаяСсылка());
Запрос.УстановитьПараметр("ПустыеЕдиницыИзмерения", ПустыеЕдиницыИзмерения);
Запрос.Текст = ТекстЗапроса;
РезультатЗапроса = Запрос.ВыполнитьПакет();
ИндексКрайнегоПакета = РезультатЗапроса.ВГраница();
@@ -341,6 +341,10 @@
Результат = Новый Массив;
Если Не ОбщегоНазначения.ДоменноеИмяКорректное(Домен) Тогда
Возврат Результат;
КонецЕсли;
ПараметрыЗапускаПрограммы = ФайловаяСистема.ПараметрыЗапускаПрограммы();
ПараметрыЗапускаПрограммы.ДождатьсяЗавершения = Истина;
ПараметрыЗапускаПрограммы.ПолучитьПотокВывода = Истина;
@@ -1807,6 +1807,16 @@
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Результат);
ЗаполнитьЗаголовокПомощника();
Протокол = Результат.ПротоколВходящейПочты;
НазваниеУчетнойЗаписи = Результат.Наименование;
ИмяОтправителяПисем = Результат.ИмяПользователя;
ДлительностьОжиданияСервера = Результат.ВремяОжидания;
ИмяПользователяДляПолученияПисем = Результат.Пользователь;
ИмяПользователяДляОтправкиПисем = Результат.ПользовательSMTP;
ОставлятьКопииПисемНаСервере = Результат.ОставлятьКопииСообщенийНаСервере;
УдалятьПисьмаССервера = Результат.ПериодХраненияСообщенийНаСервере > 0;
ВидУчетнойЗаписи = ?(ЗначениеЗаполнено(Результат.ВладелецУчетнойЗаписи), "Персональная", "Общая");
ПарольДляПолученияПисем = Результат.Пароль;
ПарольДляОтправкиПисем = ПарольДляПолученияПисем;
@@ -813,17 +813,6 @@
<CommandName>Form.Item.Список.StandardCommand.SetDeletionMark</CommandName>
<ExtendedTooltip name="СписокКонтекстноеМенюУстановитьПометкуУдаленияРасширеннаяПодсказка" id="247"/>
</Button>
<Button name="СписокКонтекстноеМенюУдалить" id="444">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.Удалить</CommandName>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="СписокКонтекстноеМенюУдалитьРасширеннаяПодсказка" id="445"/>
</Button>
<Button name="СписокКонтекстноеМенюСохранитьКак" id="72">
<Type>CommandBarButton</Type>
<SkipOnInput>false</SkipOnInput>
@@ -1273,18 +1262,6 @@
<CommandName>Form.Item.Список.StandardCommand.SetDeletionMark</CommandName>
<ExtendedTooltip name="ФормаУстановитьПометкуУдаленияРасширеннаяПодсказка" id="241"/>
</Button>
<Button name="ФормаУдалить" id="440">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.Удалить</CommandName>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить</v8:content>
</v8:item>
</Title>
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ФормаУдалитьРасширеннаяПодсказка" id="441"/>
</Button>
</ChildItems>
</ButtonGroup>
</ChildItems>
@@ -2246,11 +2223,7 @@
</Attribute>
<Attribute name="УправлениеПравами" id="4">
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ДоступнаКомандаНастройкиПрав" id="20">
@@ -2865,27 +2838,6 @@
</ToolTip>
<Action>ПоказыватьПомеченныеФайлы</Action>
</Command>
<Command name="Удалить" id="32">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить данные файла</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>StdPicture.DeleteDirectly</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>Удалить</Action>
<CurrentRowUse>Use</CurrentRowUse>
<AssociatedTableElementId xsi:type="xs:string">Список</AssociatedTableElementId>
</Command>
<Command name="ПечатьСоШтампом" id="33">
<Title>
<v8:item>
@@ -121,7 +121,9 @@
Элементы.Папки.ПоложениеСтрокиПоиска = ПоложениеСтрокиПоиска.Верх;
Элементы.Папки.КоманднаяПанель.Видимость = Ложь;
Элементы.ПапкиСоздать.Отображение = ОтображениеКнопки.Картинка;
Если ЭлементФормыСуществует(ЭтотОбъект, "ПапкиСоздать") Тогда
Элементы.ПапкиСоздать.Отображение = ОтображениеКнопки.Картинка;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
@@ -235,6 +237,12 @@
Возврат;
КонецЕсли;
ДоступностьКомандыРедактировать = Элементы.ФормаРедактировать.Видимость И Элементы.ФормаРедактировать.Доступность;
Если НЕ ДоступностьКомандыРедактировать Тогда
ОткрытьФайлВыполнить();
Возврат;
КонецЕсли;
СтандартнаяОбработка = Ложь;
КакОткрывать = РаботаСФайламиСлужебныйКлиент.ПерсональныеНастройкиРаботыСФайлами().ДействиеПоДвойномуЩелчкуМыши;
@@ -247,16 +255,16 @@
ТекущиеДанные = Элемент.ТекущиеДанные;
ПараметрыПолученияФайла = РаботаСФайламиКлиент.ПараметрыАсинхронногоПолученияФайла("ВыбратьРежимИРедактироватьФайл");
ПараметрыПолученияФайла.ПрисоединенныйФайл = ВыбраннаяСтрока;
ПараметрыПолученияФайла.ФормаВладелец = ЭтотОбъект;
ПараметрыПолученияФайла.ПрисоединенныйФайл = ВыбраннаяСтрока;
ПараметрыПолученияФайла.ФормаВладелец = ЭтотОбъект;
ПараметрыПолученияФайла.ПроверятьНаличиеФайлаВАрхиве = Ложь;
ПараметрыПолученияФайла.ФайлВАрхиве = ТекущиеДанные.НомерКартинкиЭтоАрхив = 0;
ПараметрыПолученияФайла.ФайлВАрхиве = ТекущиеДанные.НомерКартинкиЭтоАрхив = 0;
ПараметрыПолученияФайла.ПараметрыМетода.ПредыдущийАдресФайла = ПредыдущийАдресФайла;
ПараметрыДействия = ПараметрыПолученияФайла.ПараметрыДействия;
ПараметрыДействия.ФормаВладелец = ЭтотОбъект;
ПараметрыДействия.ДоступностьКомандыРедактировать = Элементы.ФормаРедактировать.Доступность;
ПараметрыДействия.ФормаВладелец = ЭтотОбъект;
ПараметрыДействия.ДоступностьКомандыРедактировать = ДоступностьКомандыРедактировать;
РаботаСФайламиКлиент.ОткрытьФайл(ПараметрыПолученияФайла);
@@ -890,8 +898,8 @@
Возврат;
КонецЕсли;
ВыделенныеСтроки = Элементы.Список.ПолучитьСтрокиДляОбработки();
Если ВыделенныеСтроки.Количество() > 0 Тогда
ВыделенныеСтроки = ВыделенныеСтроки();
Если ЗначениеЗаполнено(ВыделенныеСтроки) Тогда
РаботаСФайламиКлиент.НапечататьФайлы(ВыделенныеСтроки, УникальныйИдентификатор);
КонецЕсли;
@@ -968,16 +976,6 @@
КонецПроцедуры
&НаКлиенте
Процедура Удалить(Команда)
ВыделенныеСтроки = ВыделенныеСтроки();
ОписаниеОповещения = Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект);
РаботаСФайламиСлужебныйКлиент.УдалитьДанныеФайлов(ОписаниеОповещения, ВыделенныеСтроки, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПомеченныеФайлы(Команда)
@@ -1224,13 +1222,6 @@
КонецПроцедуры
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Элементы.Список.Обновить();
КонецПроцедуры
&НаСервере
Процедура ЗашифроватьСервер(Знач МассивДанныхДляЗанесенияВБазу, Знач МассивОтпечатков,
Знач МассивФайловВРабочемКаталогеДляУдаления, Знач ИмяРабочегоКаталога, Знач ОбъектСсылка)
@@ -1292,86 +1283,94 @@
&НаКлиенте
Процедура УстановитьДоступностьКомандПриИзмененииПапки()
Если Элементы.Папки.ТекущаяСтрока = Неопределено Или Элементы.Папки.ТекущаяСтрока.Пустая() Тогда
Элементы.ФормаПодменюСоздать.Доступность = Ложь;
Элементы.ФормаСоздатьИзФайла.Доступность = Ложь;
Элементы.ФормаСоздатьИзШаблона.Доступность = Ложь;
Элементы.ФормаСоздатьСоСканера.Доступность = Ложь;
Элементы.ФормаСкопировать.Доступность = Ложь;
Элементы.СписокКонтекстноеМенюСкопировать.Доступность = Ложь;
Элементы.ФормаУстановитьПометкуУдаления.Доступность = Ложь;
Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаления.Доступность = Ложь;
Элементы.СписокКонтекстноеМенюСоздать.Доступность = Ложь;
Элементы.ФормаИмпортФайлов.Доступность = Ложь;
Элементы.СписокКонтекстноеМенюИмпортФайлов.Доступность = Ложь;
Элементы.ПапкиКонтекстноеМенюИмпортПапки.Доступность = Ложь;
Элементы.ПапкиКонтекстноеМенюСкопировать.Доступность = Ложь;
Элементы.ПапкиКонтекстноеМенюУровеньВверх.Доступность = Ложь;
Элементы.ПапкиКонтекстноеМенюПеренестиЭлемент.Доступность = Ложь;
Элементы.ПапкиКонтекстноеМенюЭкспортПапки.Доступность = Ложь;
Элементы.ПапкиКонтекстноеМенюНастроитьСинхронизацию.Доступность = Ложь;
Если ДоступнаКомандаНастройкиПрав Тогда
Элементы.ПапкиКонтекстноеМенюНастроитьПрава.Доступность = Ложь;
КонецЕсли;
Иначе
ЕстьТекущаяСтрока = ЗначениеЗаполнено(Элементы.Папки.ТекущаяСтрока);
Если ЕстьТекущаяСтрока Тогда
Если Элементы.Папки.ТекущаяСтрока <> ТекущаяПапка Тогда
ТекущаяПапка = Элементы.Папки.ТекущаяСтрока;
ЗаполнитьЗначенияСвойств(ЭтотОбъект, НастройкиПравПапки(Элементы.Папки.ТекущаяСтрока));
Элементы.ПапкиСоздать.Доступность = ИзменениеПапок;
Элементы.ПапкиКонтекстноеМенюСоздать.Доступность = ИзменениеПапок;
Элементы.ПапкиКонтекстноеМенюСкопировать.Доступность = ИзменениеПапок;
Элементы.ПапкиКонтекстноеМенюУстановитьПометкуУдаления.Доступность = ИзменениеПапок;
Элементы.ПапкиКонтекстноеМенюПеренестиЭлемент.Доступность = ИзменениеПапок;
Если ДоступнаКомандаНастройкиПрав Тогда
Элементы.ПапкиКонтекстноеМенюНастроитьПрава.Доступность = УправлениеПравами;
КонецЕсли;
НастройкиПравПапки = НастройкиПравПапки(Элементы.Папки.ТекущаяСтрока);
ЗаполнитьЗначенияСвойств(ЭтотОбъект, НастройкиПравПапки);
КонецЕсли;
Элементы.ФормаПодменюСоздать.Доступность = ДобавлениеФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ФормаСоздатьИзФайла.Доступность = ДобавлениеФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ФормаСоздатьИзШаблона.Доступность = ДобавлениеФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ФормаСоздатьСоСканера.Доступность = ДобавлениеФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.СписокКонтекстноеМенюСоздать.Доступность = ДобавлениеФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ПапкиСоздать.Доступность = Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ФормаИмпортПапки.Доступность = Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ФормаПеренестиВПапку.Доступность = Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ФормаОсвободить.Доступность = Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.СписокКонтекстноеМенюПеренестиВПапку.Доступность = Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.СписокКонтекстноеМенюОсвободить.Доступность = Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ФормаСкопировать.Доступность = ДобавлениеФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ПапкиКонтекстноеМенюСкопировать.Доступность = Элементы.ФормаСкопировать.Доступность;
Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаления.Доступность = ДобавлениеФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ФормаУстановитьПометкуУдаления.Доступность = ДобавлениеФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ФормаСкопировать.Доступность = ДобавлениеФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.СписокКонтекстноеМенюСкопировать.Доступность = ДобавлениеФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ФормаУстановитьПометкуУдаления.Доступность = ПометкаУдаленияФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаления.Доступность = ПометкаУдаленияФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ФормаИмпортФайлов.Доступность = ДобавлениеФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.СписокКонтекстноеМенюИмпортФайлов.Доступность = ДобавлениеФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ПапкиКонтекстноеМенюИмпортПапки.Доступность = ДобавлениеФайлов И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.ПапкиКонтекстноеМенюУровеньВверх.Доступность = Истина;
Элементы.ПапкиКонтекстноеМенюЭкспортПапки.Доступность = Истина;
Элементы.ПапкиКонтекстноеМенюНастроитьСинхронизацию.Доступность = Истина;
КонецЕсли;
УстановитьДоступностьКомандПапокПриИзмененииПапки();
УстановитьДоступностьКомандСпискаПриИзмененииПапки();
Если Элементы.Папки.ТекущаяСтрока <> Неопределено Тогда
ПодключитьОбработчикОжидания("ОбработкаОжиданияПапкиПриАктивизацииСтроки", 0.2, Истина);
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ЭлементФормыСуществует(Форма, ИмяЭлемента)
Результат = Форма.Элементы.Найти(ИмяЭлемента) <> Неопределено;
Возврат Результат;
КонецФункции
&НаКлиенте
Процедура УстановитьДоступностьКомандПапокПриИзмененииПапки()
ЕстьТекущаяСтрока = ЗначениеЗаполнено(Элементы.Папки.ТекущаяСтрока);
РазрешеноРедактирование = ЕстьТекущаяСтрока И Не ФайлыРедактируютсяВОблачномСервисе;
РазрешеноДобавление = РазрешеноРедактирование И ДобавлениеФайлов;
Элементы.ФормаИмпортПапки.Доступность = РазрешеноДобавление;
Элементы.ПапкиКонтекстноеМенюИмпортПапки.Доступность = Элементы.ФормаИмпортПапки.Доступность;
Элементы.ПапкиКонтекстноеМенюУровеньВверх.Доступность = ЕстьТекущаяСтрока;
Элементы.ПапкиКонтекстноеМенюЭкспортПапки.Доступность = ЕстьТекущаяСтрока;
Элементы.ПапкиКонтекстноеМенюНастроитьСинхронизацию.Доступность = ЕстьТекущаяСтрока;
Если ЭлементФормыСуществует(ЭтотОбъект, "ПапкиСоздать") Тогда
Элементы.ПапкиСоздать.Доступность = ИзменениеПапок И РазрешеноРедактирование;
Элементы.ПапкиКонтекстноеМенюСоздать.Доступность = Элементы.ПапкиСоздать.Доступность;
КонецЕсли;
Если ЭлементФормыСуществует(ЭтотОбъект, "ПапкиКонтекстноеМенюУстановитьПометкуУдаления") Тогда
Элементы.ПапкиКонтекстноеМенюУстановитьПометкуУдаления.Доступность = ИзменениеПапок;
КонецЕсли;
Если ЭлементФормыСуществует(ЭтотОбъект, "ПапкиКонтекстноеМенюПеренестиЭлемент") Тогда
Элементы.ПапкиКонтекстноеМенюПеренестиЭлемент.Доступность = ИзменениеПапок;
КонецЕсли;
Если ЭлементФормыСуществует(ЭтотОбъект, "ПапкиКонтекстноеМенюСкопировать") Тогда
Элементы.ПапкиКонтекстноеМенюСкопировать.Доступность = РазрешеноДобавление;
КонецЕсли;
Если ДоступнаКомандаНастройкиПрав Тогда
Элементы.ПапкиКонтекстноеМенюНастроитьПрава.Доступность = УправлениеПравами;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьДоступностьКомандСпискаПриИзмененииПапки()
ЕстьТекущаяСтрока = ЗначениеЗаполнено(Элементы.Папки.ТекущаяСтрока);
РазрешеноРедактирование = ЕстьТекущаяСтрока И Не ФайлыРедактируютсяВОблачномСервисе;
РазрешеноДобавление = РазрешеноРедактирование И ДобавлениеФайлов;
Элементы.ФормаПодменюСоздать.Доступность = РазрешеноДобавление;
Элементы.ФормаСоздатьИзФайла.Доступность = РазрешеноДобавление;
Элементы.ФормаСоздатьИзШаблона.Доступность = РазрешеноДобавление;
Элементы.ФормаСоздатьСоСканера.Доступность = РазрешеноДобавление;
Элементы.ФормаПеренестиВПапку.Доступность = РазрешеноРедактирование;
Элементы.ФормаОсвободить.Доступность = РазрешеноРедактирование;
Элементы.ФормаИмпортФайлов.Доступность = РазрешеноДобавление;
Элементы.СписокКонтекстноеМенюПеренестиВПапку.Доступность = Элементы.ФормаПеренестиВПапку.Доступность;
Элементы.СписокКонтекстноеМенюОсвободить.Доступность = Элементы.ФормаОсвободить.Доступность;
Элементы.СписокКонтекстноеМенюИмпортФайлов.Доступность = Элементы.ФормаИмпортФайлов.Доступность;
Если ЭлементФормыСуществует(ЭтотОбъект, "ФормаСкопировать") Тогда
Элементы.ФормаСкопировать.Доступность = РазрешеноДобавление;
Элементы.СписокКонтекстноеМенюСкопировать.Доступность = Элементы.ФормаСкопировать.Доступность;
КонецЕсли;
Если ЭлементФормыСуществует(ЭтотОбъект, "СписокСоздать") Тогда
Элементы.СписокСоздать.Доступность = РазрешеноДобавление;
Элементы.СписокКонтекстноеМенюСоздать.Доступность = Элементы.СписокСоздать.Доступность;
КонецЕсли;
Если ЭлементФормыСуществует(ЭтотОбъект, "ФормаУстановитьПометкуУдаления") Тогда
Элементы.ФормаУстановитьПометкуУдаления.Доступность = РазрешеноРедактирование И ПометкаУдаленияФайлов;
Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаления.Доступность = Элементы.ФормаУстановитьПометкуУдаления.Доступность;
КонецЕсли;
КонецПроцедуры
@@ -1608,9 +1607,6 @@
Элементы.ФормаУстановитьПометкуУдаления.Доступность = Ложь;
Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаления.Доступность = Ложь;
Элементы.ФормаУдалить.Доступность = Ложь;
Элементы.СписокКонтекстноеМенюУдалить.Доступность = Ложь;
Элементы.СписокКонтекстноеМенюСравнить.Видимость = Ложь;
КонецПроцедуры
@@ -1691,18 +1687,10 @@
Элементы.Отправить.Доступность = Не ФайлПеремещенВАрхив;
Элементы.СписокКонтекстноеМенюОтправить.Доступность = Не ФайлПеремещенВАрхив;
Элементы.ФормаУстановитьПометкуУдаления.Доступность = ИзменениеФайлов;
Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаления.Доступность = ИзменениеФайлов;
Элементы.ФормаУдалить.Доступность = ИзменениеФайлов
И АвторТекущийПользователь
И Не ЗначениеЗаполнено(Редактирует)
И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.СписокКонтекстноеМенюУдалить.Доступность = ИзменениеФайлов
И АвторТекущийПользователь
И Не ЗначениеЗаполнено(Редактирует)
И Не ФайлыРедактируютсяВОблачномСервисе;
Если ЭлементФормыСуществует(ЭтотОбъект, "ФормаУстановитьПометкуУдаления") Тогда
Элементы.ФормаУстановитьПометкуУдаления.Доступность = ИзменениеФайлов;
Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаления.Доступность = ИзменениеФайлов;
КонецЕсли;
Элементы.СписокКонтекстноеМенюСравнить.Видимость = ВыделеноНесколькоСтрок;
@@ -1908,15 +1896,15 @@
&НаКлиенте
Функция ВыделенныеСтроки()
ВыделенныеСтроки = Новый Массив;
Результат = Новый Массив;
Для Каждого ВыделеннаяСтрока Из Элементы.Список.ПолучитьСтрокиДляОбработки() Цикл
Если ТипЗнч(ВыделеннаяСтрока) <> Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
ВыделенныеСтроки.Добавить(ВыделеннаяСтрока);
Результат.Добавить(ВыделеннаяСтрока);
КонецЕсли;
КонецЦикла;
Возврат ВыделенныеСтроки
Возврат Результат
КонецФункции
@@ -108,6 +108,7 @@
<HorizontalLinesBWA>false</HorizontalLinesBWA>
<VerticalLinesBWA>false</VerticalLinesBWA>
<UseAlternationRowColorBWA>false</UseAlternationRowColorBWA>
<InitialRowActivation>Activate</InitialRowActivation>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<FileDragMode>AsFile</FileDragMode>
@@ -261,18 +261,6 @@
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ФормаСтандартныеУстановитьПометкуУдаленияРасширеннаяПодсказка" id="61"/>
</Button>
<Button name="ФормаУдалить" id="287">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.Удалить</CommandName>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить</v8:content>
</v8:item>
</Title>
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ФормаУдалитьРасширеннаяПодсказка" id="288"/>
</Button>
</ChildItems>
</ButtonGroup>
<ButtonGroup name="ФормаГруппаДополнительныеКоманды" id="100" DisplayImportance="VeryHigh">
@@ -2469,25 +2457,6 @@
<ModifiesSavedData>true</ModifiesSavedData>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="Удалить" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Удалить данные файла</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>StdPicture.DeleteDirectly</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>Удалить</Action>
</Command>
<Command name="ПродлитьДействиеПодписей" id="29">
<Title>
<v8:item>
@@ -42,8 +42,6 @@
Элементы.Печать.Заголовок = НСтр("ru = 'Печать'");
КонецЕсли;
Элементы.ФормаУдалить.Видимость = (Объект.Автор = Пользователи.АвторизованныйПользователь());
ОбновитьЗаголовок();
ОбновитьПолныйПуть();
ОбновитьПояснениеОблачногоСервиса(Объект.Ссылка);
@@ -1065,15 +1063,6 @@
КонецПроцедуры
&НаКлиенте
Процедура Удалить(Команда)
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект),
Объект.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -1190,13 +1179,6 @@
КонецПроцедуры
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Закрыть();
КонецПроцедуры
&НаСервере
Процедура УдалитьИзСпискаПодписейИЗаписатьФайл(СтрокиДляОбработки)
@@ -5,7 +5,6 @@
<AutoTitle>false</AutoTitle>
<Group>Vertical</Group>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<Autofill>false</Autofill>
<ChildItems>
<Button name="ФормаВыбрать" id="23">
<Type>CommandBarButton</Type>
@@ -4,107 +4,11 @@
#Область ОбновлениеВерсииИБ
// Определяет настройки начального заполнения элементов.
//
// Параметры:
// Настройки - Структура - настройки заполнения
// * ПриНачальномЗаполненииЭлемента - Булево - Если Истина, то для каждого элемента будет
// вызвана процедура индивидуального заполнения ПриНачальномЗаполненииЭлемента.
Процедура ПриНастройкеНачальногоЗаполненияЭлементов(Настройки) Экспорт
Настройки.ПриНачальномЗаполненииЭлемента = Истина;
КонецПроцедуры
// Смотри также ОбновлениеИнформационнойБазыПереопределяемый.ПриНастройкеНачальногоЗаполненияЭлемента
//
// Параметры:
// Объект - СправочникОбъект.ВидыКонтактнойИнформации - заполняемый объект.
// Данные - СтрокаТаблицыЗначений - данные заполнения объекта.
// ДополнительныеПараметры - Структура:
// * ПредопределенныеДанные - ТаблицаЗначений - данные заполненные в процедуре ПриНачальномЗаполненииЭлементов.
//
Процедура ПриНачальномЗаполненииЭлемента(Объект, Данные, ДополнительныеПараметры) Экспорт
Объект.УстановитьНовыйКод();
КонецПроцедуры
// Смотри также ОбновлениеИнформационнойБазыПереопределяемый.ПриНачальномЗаполненииЭлементов
//
// Параметры:
// КодыЯзыков - см. ОбновлениеИнформационнойБазыПереопределяемый.ПриНачальномЗаполненииЭлементов.КодыЯзыков
// Элементы - см. ОбновлениеИнформационнойБазыПереопределяемый.ПриНачальномЗаполненииЭлементов.Элементы
// ТабличныеЧасти - см. ОбновлениеИнформационнойБазыПереопределяемый.ПриНачальномЗаполненииЭлементов.ТабличныеЧасти
//
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
Если Не ВозможностиПриложения.ЭтоБизнесПриложение() Тогда
Возврат;
КонецЕсли;
Если НачальноеЗаполнениеВыполнено() Тогда
Возврат;
КонецЕсли;
ПолноеИмяЗаказаПокупателя = Метаданные.Документы.ЗаказПокупателя.ПолноеИмя();
ТипСтрока = Новый ОписаниеТипов("Строка");
ТипДата = Новый ОписаниеТипов("Дата", , , Новый КвалификаторыДаты(ЧастиДаты.Дата));
Элемент = Элементы.Добавить();
Элемент.Имя = "НомерДоговора";
Элемент.Наименование = НСтр("ru = '№ договора'");
Элемент.ТипЗначения = ТипСтрока;
Элемент.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
Элемент = Элементы.Добавить();
Элемент.Имя = "ДатаДоговора";
Элемент.Наименование = НСтр("ru = 'Дата договора'");
Элемент.ТипЗначения = ТипДата;
Элемент.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
Элемент = Элементы.Добавить();
Элемент.Имя = "РеквизитБизнесПриложение1";
Элемент.Наименование = НСтр("ru = 'Стройка'");
Элемент.ТипЗначения = ТипСтрока;
Элемент.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
Элемент = Элементы.Добавить();
Элемент.Имя = "РеквизитБизнесПриложение2";
Элемент.Наименование = НСтр("ru = 'Объект строительства'");
Элемент.ТипЗначения = ТипСтрока;
Элемент.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
Элемент = Элементы.Добавить();
Элемент.Имя = "НомерПлатежноРасчетногоДокумента";
Элемент.Наименование = НСтр("ru = '№ платежно-расчетного документа'");
Элемент.ТипЗначения = ТипСтрока;
Элемент.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
Элемент = Элементы.Добавить();
Элемент.Имя = "ДатаПлатежноРасчетногоДокумента";
Элемент.Наименование = НСтр("ru = 'Дата платежно-расчетного документа'");
Элемент.ТипЗначения = ТипДата;
Элемент.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
Элемент = Элементы.Добавить();
Элемент.Имя = "НомерСчетаФактурыНаАванс";
Элемент.Наименование = НСтр("ru = '№ авансовой счет-фактуры'");
Элемент.ТипЗначения = ТипСтрока;
Элемент.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
Элемент = Элементы.Добавить();
Элемент.Имя = "ДатаСчетаФактурыНаАванс";
Элемент.Наименование = НСтр("ru = 'Дата авансовой счет-фактуры'");
Элемент.ТипЗначения = ТипДата;
Элемент.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("НачальноеЗаполнениеСвойств1");
Методы.Вставить("НачальноеЗаполнениеСвойств2");
КонецПроцедуры
@@ -221,8 +125,250 @@
КонецПроцедуры
// Начальное заполнение свойств 2
// Исправление ошибки в версии 3.0.14
//
// Параметры:
// Параметры - См. ОбновлениеИнформационнойБазыУНФ.ПриДобавленииОбработчиковОбновления
//
Процедура НачальноеЗаполнениеСвойств2(Параметры) Экспорт
Если Не ВозможностиПриложения.ЭтоБизнесПриложение() Тогда
ТекстСообщения = НСтр(
"ru='Процедура НачальноеЗаполнениеСвойств2 успешно отработала - это не бизнес-приложение'",
ОбщегоНазначения.КодОсновногоЯзыка());
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Информация,
Метаданные.ПланыВидовХарактеристик.ДополнительныеРеквизитыБизнесПриложение, ,
ТекстСообщения);
Параметры.ОбработкаЗавершена = Истина;
Возврат;
КонецЕсли;
Если НачальноеЗаполнениеВыполнено() Тогда
ТекстСообщения = НСтр(
"ru='Процедура НачальноеЗаполнениеСвойств2 успешно отработала - данные заполнены'",
ОбщегоНазначения.КодОсновногоЯзыка());
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Информация,
Метаданные.ПланыВидовХарактеристик.ДополнительныеРеквизитыБизнесПриложение, ,
ТекстСообщения);
Параметры.ОбработкаЗавершена = Истина;
Возврат;
КонецЕсли;
ПолноеИмяЗаказаПокупателя = Метаданные.Документы.ЗаказПокупателя.ПолноеИмя();
ТипСтрока = Новый ОписаниеТипов("Строка");
ТипДата = Новый ОписаниеТипов("Дата", , , Новый КвалификаторыДаты(ЧастиДаты.Дата));
НачатьТранзакцию();
Попытка
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "НомерДоговора";
НовоеСвойство.Наименование = НСтр("ru = '№ договора'");
НовоеСвойство.ТипЗначения = ТипСтрока;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(НовоеСвойство);
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "ДатаДоговора";
НовоеСвойство.Наименование = НСтр("ru = 'Дата договора'");
НовоеСвойство.ТипЗначения = ТипДата;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(НовоеСвойство);
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "РеквизитБизнесПриложение1";
НовоеСвойство.Наименование = НСтр("ru = 'Стройка'");
НовоеСвойство.ТипЗначения = ТипСтрока;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(НовоеСвойство);
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "РеквизитБизнесПриложение2";
НовоеСвойство.Наименование = НСтр("ru = 'Объект строительства'");
НовоеСвойство.ТипЗначения = ТипСтрока;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(НовоеСвойство);
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "НомерПлатежноРасчетногоДокумента";
НовоеСвойство.Наименование = НСтр("ru = '№ платежно-расчетного документа'");
НовоеСвойство.ТипЗначения = ТипСтрока;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(НовоеСвойство);
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "ДатаПлатежноРасчетногоДокумента";
НовоеСвойство.Наименование = НСтр("ru = 'Дата платежно-расчетного документа'");
НовоеСвойство.ТипЗначения = ТипДата;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(НовоеСвойство);
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "НомерСчетаФактурыНаАванс";
НовоеСвойство.Наименование = НСтр("ru = '№ авансовой счет-фактуры'");
НовоеСвойство.ТипЗначения = ТипСтрока;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(НовоеСвойство);
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "ДатаСчетаФактурыНаАванс";
НовоеСвойство.Наименование = НСтр("ru = 'Дата авансовой счет-фактуры'");
НовоеСвойство.ТипЗначения = ТипДата;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(НовоеСвойство);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ТекстОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ТекстСообщения = НСтр("ru='Процедура НачальноеЗаполнениеСвойств2 неуспешно отработала по причине:
|%1'", ОбщегоНазначения.КодОсновногоЯзыка());
ТекстСообщения = СтрШаблон(ТекстСообщения, ТекстОшибки);
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Ошибка,
Метаданные.ПланыВидовХарактеристик.ДополнительныеРеквизитыБизнесПриложение, ,
ТекстСообщения);
Параметры.ОбработкаЗавершена = Ложь;
КонецПопытки;
ТекстСообщения = НСтр(
"ru='Процедура НачальноеЗаполнениеСвойств2 успешно отработала'",
ОбщегоНазначения.КодОсновногоЯзыка());
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Информация,
Метаданные.ПланыВидовХарактеристик.ДополнительныеРеквизитыБизнесПриложение, ,
ТекстСообщения);
Параметры.ОбработкаЗавершена = Истина;
КонецПроцедуры
#КонецОбласти
// Обработчик, выполняющий заполнение свойств при переходе на вид приложения "Бизнес-приложение".
//
Процедура ПослеУстановкиВидаПриложения() Экспорт
Если Не ВозможностиПриложения.ЭтоБизнесПриложение() Тогда
Возврат;
КонецЕсли;
Если НачальноеЗаполнениеВыполнено() Тогда
Возврат;
КонецЕсли;
ПолноеИмяЗаказаПокупателя = Метаданные.Документы.ЗаказПокупателя.ПолноеИмя();
ТипСтрока = Новый ОписаниеТипов("Строка");
ТипДата = Новый ОписаниеТипов("Дата", , , Новый КвалификаторыДаты(ЧастиДаты.Дата));
НачатьТранзакцию();
Попытка
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "НомерДоговора";
НовоеСвойство.Наименование = НСтр("ru = '№ договора'");
НовоеСвойство.ТипЗначения = ТипСтрока;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
НовоеСвойство.Записать();
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "ДатаДоговора";
НовоеСвойство.Наименование = НСтр("ru = 'Дата договора'");
НовоеСвойство.ТипЗначения = ТипДата;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
НовоеСвойство.Записать();
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "РеквизитБизнесПриложение1";
НовоеСвойство.Наименование = НСтр("ru = 'Стройка'");
НовоеСвойство.ТипЗначения = ТипСтрока;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
НовоеСвойство.Записать();
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "РеквизитБизнесПриложение2";
НовоеСвойство.Наименование = НСтр("ru = 'Объект строительства'");
НовоеСвойство.ТипЗначения = ТипСтрока;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
НовоеСвойство.Записать();
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "НомерПлатежноРасчетногоДокумента";
НовоеСвойство.Наименование = НСтр("ru = '№ платежно-расчетного документа'");
НовоеСвойство.ТипЗначения = ТипСтрока;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
НовоеСвойство.Записать();
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "ДатаПлатежноРасчетногоДокумента";
НовоеСвойство.Наименование = НСтр("ru = 'Дата платежно-расчетного документа'");
НовоеСвойство.ТипЗначения = ТипДата;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
НовоеСвойство.Записать();
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "НомерСчетаФактурыНаАванс";
НовоеСвойство.Наименование = НСтр("ru = '№ авансовой счет-фактуры'");
НовоеСвойство.ТипЗначения = ТипСтрока;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
НовоеСвойство.Записать();
НовоеСвойство = СоздатьЭлемент();
НовоеСвойство.Имя = "ДатаСчетаФактурыНаАванс";
НовоеСвойство.Наименование = НСтр("ru = 'Дата авансовой счет-фактуры'");
НовоеСвойство.ТипЗначения = ТипДата;
НовоеСвойство.ИмяВладельца = ПолноеИмяЗаказаПокупателя;
НовоеСвойство.Записать();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ТекстОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ТекстСообщения = НСтр("ru='Процедура ПослеУстановкиВидаПриложения неуспешно отработала по причине:
|%1'", ОбщегоНазначения.КодОсновногоЯзыка());
ТекстСообщения = СтрШаблон(ТекстСообщения, ТекстОшибки);
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Ошибка,
Метаданные.ПланыВидовХарактеристик.ДополнительныеРеквизитыБизнесПриложение, ,
ТекстСообщения);
КонецПопытки;
ТекстСообщения = НСтр(
"ru='Процедура ПослеУстановкиВидаПриложения успешно отработала'",
ОбщегоНазначения.КодОсновногоЯзыка());
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Информация,
Метаданные.ПланыВидовХарактеристик.ДополнительныеРеквизитыБизнесПриложение, ,
ТекстСообщения);
КонецПроцедуры
// Функция - Список всех доступных реквизитов
//
// Возвращаемое значение:
@@ -60,6 +60,7 @@
<v8:Type>cfg:CatalogRef.Подписи</v8:Type>
<v8:Type>cfg:EnumRef.РежимыРаботыСОплатой</v8:Type>
<v8:Type>cfg:CatalogRef.СостоянияЗаказовПоставщикам</v8:Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
<v8:Type>cfg:CatalogRef.ФизическиеЛица</v8:Type>
<v8:Type>cfg:CatalogRef.КатегорииНоменклатуры</v8:Type>
<v8:Type>cfg:CatalogRef.ТранспортныеСредства</v8:Type>
@@ -318,17 +318,76 @@
Процедура ЗаполнитьЭлементыГруппыВидимостьПредпросмотраВДокументах(Элементы, КодыЯзыков)
ДобавитьГруппу(Элементы, КодыЯзыков, "ВидимостьПредпросмотраВДокументах",
"ru = 'Видимость предпросмотра в документах'"); // @НСтр-1
ДобавитьГруппу(Элементы, КодыЯзыков, "ПоложениеТаблицыДокументаВСписках",
"ru = 'Положение таблицы документа в списках'"); // @НСтр-1
ТипБулево = Новый ОписаниеТипов("Булево");
ТипПеречислениеСсылка = Новый ОписаниеТипов("ПеречислениеСсылка.ПоложениеТаблицыДетали");
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоказыватьПредпросмотрЗаказовПокупателей",
ВидимостьПредпросмотраВДокументах, ТипБулево, "ru = 'Показывать предпросмотр заказов покупателей'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоказыватьПредпросмотрЗаказНарядов", ВидимостьПредпросмотраВДокументах,
ТипБулево, "ru = 'Показывать предпросмотр заказ-нарядов'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "УдалитьПоказыватьПредпросмотрЗаказовПокупателей",
ПоложениеТаблицыДокументаВСписках, ТипБулево,
"ru = '(Не используется) Показывать предпросмотр заказов покупателей'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "УдалитьПоказыватьПредпросмотрЗаказНарядов",
ПоложениеТаблицыДокументаВСписках, ТипБулево,
"ru = '(Не используется) Показывать предпросмотр заказ-нарядов'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоложениеТаблицыДеталиВЗаказахПокупателей",
ПоложениеТаблицыДокументаВСписках, ТипПеречислениеСсылка,
"ru = 'Положение таблицы ""Товары, услуги"" в заказах покупателей'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоложениеТаблицыДеталиВЗаказНарядах",
ПоложениеТаблицыДокументаВСписках, ТипПеречислениеСсылка,
"ru = 'Положение таблицы ""Работы, услуги"" в заказ-нарядах'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоложениеТаблицыДеталиВСчетахНаОплату",
ПоложениеТаблицыДокументаВСписках, ТипПеречислениеСсылка,
"ru = 'Положение таблицы ""Товары, услуги"" в счетах на оплату'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоложениеТаблицыДеталиВРасходныхНакладных",
ПоложениеТаблицыДокументаВСписках, ТипПеречислениеСсылка,
"ru = 'Положение таблицы ""Товары, услуги"" в расходных накладных'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоложениеТаблицыДеталиВПриходныхНакладных",
ПоложениеТаблицыДокументаВСписках, ТипПеречислениеСсылка,
"ru = 'Положение таблицы ""Товары"" в приходных накладных'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоложениеТаблицыДеталиВЗаказахПоставщикам",
ПоложениеТаблицыДокументаВСписках, ТипПеречислениеСсылка,
"ru = 'Положение таблицы ""Товары, услуги"" в заказах поставщикам'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоложениеТаблицыДеталиВДополнительныхРасходах",
ПоложениеТаблицыДокументаВСписках, ТипПеречислениеСсылка,
"ru = 'Положение таблицы ""Услуги"" в дополнительных расходах'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоложениеТаблицыДеталиВИнвентаризацияхЗапасов",
ПоложениеТаблицыДокументаВСписках, ТипПеречислениеСсылка,
"ru = 'Положение таблицы ""Запасы"" в инвентаризациях запасов'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоложениеТаблицыДеталиВСчетахНаОплатуПолученных",
ПоложениеТаблицыДокументаВСписках, ТипПеречислениеСсылка,
"ru = 'Положение таблицы ""Товары, услуги"" в счетах на оплату полученных'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоложениеТаблицыДеталиВУстановкахЦенНоменклатуры",
ПоложениеТаблицыДокументаВСписках, ТипПеречислениеСсылка,
"ru = 'Положение таблицы ""Товары, услуги"" в установках цен номенклатуры'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоложениеТаблицыДеталиВАктахОРасхождениях",
ПоложениеТаблицыДокументаВСписках, ТипПеречислениеСсылка,
"ru = 'Положение таблицы ""Товары"" в актах о расхождениях'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоложениеТаблицыДеталиВРасходахПриИмпорте",
ПоложениеТаблицыДокументаВСписках, ТипПеречислениеСсылка,
"ru = 'Положение таблицы ""Запасы"" в расходах при импорте'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоложениеТаблицыДеталиВКорректировкахПоступлений",
ПоложениеТаблицыДокументаВСписках, ТипПеречислениеСсылка,
"ru = 'Положение таблицы ""Товары"" в корректировках поступлений'"); // @НСтр-1
ДобавитьЭлемент(Элементы, КодыЯзыков, "ПоложениеТаблицыДеталиВКорректировкахРеализаций",
ПоложениеТаблицыДокументаВСписках, ТипПеречислениеСсылка,
"ru = 'Положение таблицы ""Товары, услуги"" в корректировках реализаций'"); // @НСтр-1
КонецПроцедуры
Процедура ЗаполнитьЭлементыГруппыДеньгиИВзаиморасчеты(Элементы, КодыЯзыков)
@@ -514,30 +514,156 @@
</ChildItems>
</Item>
<Item id="5ba2f96c-02ef-49a0-9008-e4f1b3b31d74">
<Name>ВидимостьПредпросмотраВДокументах</Name>
<Name>ПоложениеТаблицыДокументаВСписках</Name>
<Code/>
<Description>Видимость предпросмотра в документах</Description>
<Description>Положение таблицы документа в списках</Description>
<Type/>
<IsFolder>true</IsFolder>
<ChildItems>
<Item id="7f3cba15-bb1f-4f2e-aa90-9fb70488da06">
<Name>ПоказыватьПредпросмотрЗаказНарядов</Name>
<Name>УдалитьПоказыватьПредпросмотрЗаказНарядов</Name>
<Code/>
<Description>Показывать предпросмотр заказ-нарядов</Description>
<Description>(Не используется) Показывать предпросмотр заказ-нарядов</Description>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="9d7141c8-4d94-4cac-b1f8-81593fa1e3bd">
<Name>ПоказыватьПредпросмотрЗаказовПокупателей</Name>
<Name>УдалитьПоказыватьПредпросмотрЗаказовПокупателей</Name>
<Code/>
<Description>Показывать предпросмотр заказов покупателей</Description>
<Description>(Не используется) Удалить показывать предпросмотр заказов покупателей</Description>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="75fbd796-ece7-408a-8116-42c06b6fe5f1">
<Name>ПоложениеТаблицыДеталиВЗаказахПокупателей</Name>
<Code/>
<Description>Положение таблицы "Товары, услуги" в заказах покупателей</Description>
<Type>
<v8:Type xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d6p1:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="b9b377db-3c13-4f34-becc-b045bd69bcbb">
<Name>ПоложениеТаблицыДеталиВЗаказНарядах</Name>
<Code/>
<Description>Положение таблицы "Работы, услуги" в заказ-нарядах</Description>
<Type>
<v8:Type xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d6p1:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="b8a816ef-b3c8-4abe-847c-ba327b1b53d3">
<Name>ПоложениеТаблицыДеталиВСчетахНаОплату</Name>
<Code/>
<Description>Положение таблицы "Товары, услуги" в счетах на оплату</Description>
<Type>
<v8:Type xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d6p1:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="fd11e9f3-1c30-4ea8-ac3c-3a70440de49b">
<Name>ПоложениеТаблицыДеталиВРасходныхНакладных</Name>
<Code/>
<Description>Положение таблицы "Товары, услуги" в расходных накладных</Description>
<Type>
<v8:Type xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d6p1:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="266af894-9a25-44aa-bf33-d58fa34928e0">
<Name>ПоложениеТаблицыДеталиВПриходныхНакладных</Name>
<Code/>
<Description>Положение таблицы "Товары" в приходных накладных</Description>
<Type>
<v8:Type xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d6p1:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="f8e156b4-748e-4e51-8ea6-db86169048c7">
<Name>ПоложениеТаблицыДеталиВЗаказахПоставщикам</Name>
<Code/>
<Description>Положение таблицы "Товары, услуги" в заказах поставщикам</Description>
<Type>
<v8:Type xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d6p1:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="d7d2fbda-4204-49c5-a32a-ffbcba5adba9">
<Name>ПоложениеТаблицыДеталиВДополнительныхРасходах</Name>
<Code/>
<Description>Положение таблицы "Услуги" в дополнительных расходах</Description>
<Type>
<v8:Type xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d6p1:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="8bc5fe00-7ebf-4405-b2ab-9de64f6d6bb8">
<Name>ПоложениеТаблицыДеталиВИнвентаризацияхЗапасов</Name>
<Code/>
<Description>Положение таблицы "Запасы" в инвентаризациях запасов</Description>
<Type>
<v8:Type xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d6p1:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="1d00439e-2cc6-4591-98d4-a5ce91692df0">
<Name>ПоложениеТаблицыДеталиВСчетахНаОплатуПолученных</Name>
<Code/>
<Description>Положение таблицы "Товары, услуги" в счетах на оплату полученных</Description>
<Type>
<v8:Type xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d6p1:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="d0e41d74-e51d-4ff6-b7e4-f3c33a1c6f37">
<Name>ПоложениеТаблицыДеталиВУстановкахЦенНоменклатуры</Name>
<Code/>
<Description>Положение таблицы "Товары, услуги" в установках цен номенклатуры</Description>
<Type>
<v8:Type xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d6p1:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="27349da8-fed5-4ceb-af58-bbd91bdf4027">
<Name>ПоложениеТаблицыДеталиВАктахОРасхождениях</Name>
<Code/>
<Description>Положение таблицы "Товары" в актах о расхождениях</Description>
<Type>
<v8:Type xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d6p1:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="a69e606e-a664-4e46-9b0d-54f498b6d76a">
<Name>ПоложениеТаблицыДеталиВРасходахПриИмпорте</Name>
<Code/>
<Description>Положение таблицы "Запасы" в расходах при импорте</Description>
<Type>
<v8:Type xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d6p1:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="64075f06-26f9-4dd0-9022-064dbeaa002e">
<Name>ПоложениеТаблицыДеталиВКорректировкахПоступлений</Name>
<Code/>
<Description>Положение таблицы "Товары" в корректировках поступлений</Description>
<Type>
<v8:Type xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d6p1:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
<Item id="d2723f3f-419a-452a-a43a-467b1cb218e5">
<Name>ПоложениеТаблицыДеталиВКорректировкахРеализаций</Name>
<Code/>
<Description>Положение таблицы "Товары, услуги" в корректировках реализаций</Description>
<Type>
<v8:Type xmlns:d6p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d6p1:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
<IsFolder>false</IsFolder>
</Item>
</ChildItems>
</Item>
<Item id="86f9eef6-5565-4b37-a37b-e3c4aaad8cc6">
@@ -2321,7 +2321,7 @@
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.ОбновлениеИдентификаторовКонтрагентовБизнесСети</xr:Metadata>
<xr:Metadata>ScheduledJob.ОбновлениеИдентификаторовБизнесСети</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
@@ -101,17 +101,7 @@
Если ЗначениеЗаполнено(СтрокаНастроекПодключенияXML) Тогда
ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
Запись = Новый ЗаписьТекста;
Запись.Открыть(ИмяВременногоФайла, "UTF-8");
Запись.Записать(СтрокаНастроекПодключенияXML);
Запись.Закрыть();
АдресНастроекПодключенияXML = ПоместитьВоВременноеХранилище(
Новый ДвоичныеДанные(ИмяВременногоФайла));
УдалитьФайлы(ИмяВременногоФайла);
АдресНастроекПодключенияXML = АдресНастройкиПодключения(СтрокаНастроекПодключенияXML);
КонецЕсли;
@@ -119,17 +109,7 @@
Если ЗначениеЗаполнено(СтрокаНастроекПодключенияJSON) Тогда
ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
Запись = Новый ЗаписьТекста;
Запись.Открыть(ИмяВременногоФайла, "UTF-8");
Запись.Записать(СтрокаНастроекПодключенияJSON);
Запись.Закрыть();
АдресНастроекПодключенияJSON = ПоместитьВоВременноеХранилище(
Новый ДвоичныеДанные(ИмяВременногоФайла));
УдалитьФайлы(ИмяВременногоФайла);
АдресНастроекПодключенияJSON = АдресНастройкиПодключения(СтрокаНастроекПодключенияJSON);
КонецЕсли;
@@ -169,4 +149,16 @@
КонецФункции
&НаСервере
Функция АдресНастройкиПодключения(СтрокаНастроекПодключения)
Поток = Новый ПотокВПамяти;
ЗаписьДанных = Новый ЗаписьДанных(Поток, "UTF-8",,,, Истина);
ЗаписьДанных.ЗаписатьСимволы(СтрокаНастроекПодключения);
АдресНастроекПодключения = ПоместитьВоВременноеХранилище(Поток.ЗакрытьИПолучитьДвоичныеДанные());
Возврат АдресНастроекПодключения;
КонецФункции
#КонецОбласти
@@ -0,0 +1,25 @@
<?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:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" 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.21">
<CommonForm uuid="b13b89c6-d54f-4e20-9d74-591e5d63b5c4">
<Properties>
<Name>ВводНастроекОтправкиЧерезСервис1СEDI</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ввод настроек отправки через сервис 1С:EDI</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Managed</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
<UseInInterfaceCompatibilityMode>Any</UseInInterfaceCompatibilityMode>
<UseStandardCommands>false</UseStandardCommands>
<ExtendedPresentation/>
<Explanation/>
</Properties>
</CommonForm>
</MetaDataObject>
@@ -0,0 +1,772 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcssch="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" 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: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.21">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Формирование настроек обмена</v8:content>
</v8:item>
</Title>
<WindowOpeningMode>DontBlock</WindowOpeningMode>
<AutoTitle>false</AutoTitle>
<Group>Vertical</Group>
<VerticalSpacing>Double</VerticalSpacing>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<Autofill>false</Autofill>
<ChildItems>
<Button name="ФормаПродолжитьОтправку" id="76">
<Type>CommandBarButton</Type>
<DefaultButton>true</DefaultButton>
<CommandName>Form.Command.ПродолжитьОтправку</CommandName>
<ButtonImportance>Main</ButtonImportance>
<ExtendedTooltip name="ФормаПродолжитьОтправкуРасширеннаяПодсказка" id="77"/>
</Button>
</ChildItems>
</AutoCommandBar>
<Events>
<Event name="OnOpen">ПриОткрытии</Event>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
<Event name="FillCheckProcessingAtServer">ОбработкаПроверкиЗаполненияНаСервере</Event>
</Events>
<ChildItems>
<Pages name="СтраницыФормы" id="80">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Страницы формы</v8:content>
</v8:item>
</Title>
<HorizontalStretch>true</HorizontalStretch>
<VerticalStretch>true</VerticalStretch>
<PagesRepresentation>None</PagesRepresentation>
<ExtendedTooltip name="СтраницыФормыРасширеннаяПодсказка" id="81"/>
<ChildItems>
<Page name="СтраницаОсновная" id="82">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Основная</v8:content>
</v8:item>
</Title>
<HorizontalStretch>true</HorizontalStretch>
<VerticalStretch>true</VerticalStretch>
<Group>Vertical</Group>
<VerticalSpacing>Double</VerticalSpacing>
<ExtendedTooltip name="СтраницаОсновнаяРасширеннаяПодсказка" id="83"/>
<ChildItems>
<UsualGroup name="ВажныеСообщения" id="78">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Важные сообщения</v8:content>
</v8:item>
</Title>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ВажныеСообщенияРасширеннаяПодсказка" id="79"/>
</UsualGroup>
<UsualGroup name="Организация" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Организация (%Представление%)</v8:content>
</v8:item>
</Title>
<Group>HorizontalIfPossible</Group>
<Representation>WeakSeparation</Representation>
<ShowAsCard>true</ShowAsCard>
<ExtendedTooltip name="ОрганизацияРасширеннаяПодсказка" id="2"/>
<ChildItems>
<Pages name="ОрганизацияСтраницы" id="17">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Организация (страницы)</v8:content>
</v8:item>
</Title>
<PagesRepresentation>None</PagesRepresentation>
<ExtendedTooltip name="ОрганизацияСтраницыРасширеннаяПодсказка" id="18"/>
<ChildItems>
<Page name="ОрганизацияСтраницаВводаИдентификатора" id="29">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Организация (ввод идентификатора)</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<ScrollOnCompress>false</ScrollOnCompress>
<ExtendedTooltip name="ОрганизацияСтраницаВводаИдентификатораРасширеннаяПодсказка" id="30"/>
<ChildItems>
<InputField name="ИдентификаторОрганизации" id="41">
<DataPath>ИдентификаторОрганизации</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Данные можно уточнить у оператора</v8:content>
</v8:item>
</ToolTip>
<ToolTipRepresentation>Button</ToolTipRepresentation>
<InputHint>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Введите идентификатор организации</v8:content>
</v8:item>
</InputHint>
<ContextMenu name="ИдентификаторОрганизацииКонтекстноеМеню" id="42"/>
<ExtendedTooltip name="ИдентификаторОрганизацииРасширеннаяПодсказка" id="43"/>
<Events>
<Event name="AutoComplete">ИдентификаторОрганизацииАвтоПодбор</Event>
</Events>
</InputField>
</ChildItems>
</Page>
<Page name="ОрганизацияСтраницаДлительнаяОперация" id="35">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Организация (длительная операция)</v8:content>
</v8:item>
</Title>
<Group>AlwaysHorizontal</Group>
<VerticalAlign>Center</VerticalAlign>
<ScrollOnCompress>false</ScrollOnCompress>
<ExtendedTooltip name="ОрганизацияСтраницаДлительнаяОперацияРасширеннаяПодсказка" id="36"/>
<ChildItems>
<PictureDecoration name="ОрганизацияДлительнаяОперацияКартинка" id="50">
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Длительная операция (картинка)</v8:content>
</v8:item>
</Title>
<Picture>
<xr:Ref>CommonPicture.ДлительнаяОперация16</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<ContextMenu name="ОрганизацияДлительнаяОперацияКартинкаКонтекстноеМеню" id="51"/>
<ExtendedTooltip name="ОрганизацияДлительнаяОперацияКартинкаРасширеннаяПодсказка" id="52"/>
</PictureDecoration>
<LabelDecoration name="ОрганизацияДлительнаяОперацияНадпись" id="53">
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выполняется поиск идентификатора ЭПД.</v8:content>
</v8:item>
</Title>
<ContextMenu name="ОрганизацияДлительнаяОперацияНадписьКонтекстноеМеню" id="54"/>
<ExtendedTooltip name="ОрганизацияДлительнаяОперацияНадписьРасширеннаяПодсказка" id="55"/>
</LabelDecoration>
<Button name="ОрганизацияУказатьВручную" id="68">
<Type>Hyperlink</Type>
<CommandName>Form.Command.ОрганизацияУказатьВручную</CommandName>
<ExtendedTooltip name="ОрганизацияУказатьВручнуюРасширеннаяПодсказка" id="69"/>
</Button>
</ChildItems>
</Page>
</ChildItems>
</Pages>
</ChildItems>
</UsualGroup>
<UsualGroup name="Контрагент" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Контрагент (%Представление%)</v8:content>
</v8:item>
</Title>
<Group>HorizontalIfPossible</Group>
<Representation>WeakSeparation</Representation>
<ShowAsCard>true</ShowAsCard>
<ExtendedTooltip name="КонтрагентРасширеннаяПодсказка" id="4"/>
<ChildItems>
<Pages name="КонтрагентСтраницы" id="19">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Контрагент (страницы)</v8:content>
</v8:item>
</Title>
<PagesRepresentation>None</PagesRepresentation>
<ExtendedTooltip name="КонтрагентСтраницыРасширеннаяПодсказка" id="20"/>
<ChildItems>
<Page name="КонтрагентСтраницаВводаИдентификатора" id="31">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Контрагент (ввод идентификатора)</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<ScrollOnCompress>false</ScrollOnCompress>
<ExtendedTooltip name="КонтрагентСтраницаВводаИдентификатораРасширеннаяПодсказка" id="32"/>
<ChildItems>
<InputField name="ИдентификаторКонтрагента" id="44">
<DataPath>ИдентификаторКонтрагента</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Данные можно уточнить у оператора</v8:content>
</v8:item>
</ToolTip>
<ToolTipRepresentation>Button</ToolTipRepresentation>
<InputHint>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Введите идентификатор контрагента</v8:content>
</v8:item>
</InputHint>
<ContextMenu name="ИдентификаторКонтрагентаКонтекстноеМеню" id="45"/>
<ExtendedTooltip name="ИдентификаторКонтрагентаРасширеннаяПодсказка" id="46"/>
<Events>
<Event name="AutoComplete">ИдентификаторКонтрагентаАвтоПодбор</Event>
</Events>
</InputField>
</ChildItems>
</Page>
<Page name="КонтрагентСтраницаДлительнаяОперация" id="37">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Контрагент (длительная операция)</v8:content>
</v8:item>
</Title>
<Group>AlwaysHorizontal</Group>
<VerticalAlign>Center</VerticalAlign>
<ScrollOnCompress>false</ScrollOnCompress>
<ExtendedTooltip name="КонтрагентСтраницаДлительнаяОперацияРасширеннаяПодсказка" id="38"/>
<ChildItems>
<PictureDecoration name="КонтрагентДлительнаяОперацияКартинка" id="56">
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Длительная операция (картинка)</v8:content>
</v8:item>
</Title>
<Picture>
<xr:Ref>CommonPicture.ДлительнаяОперация16</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<ContextMenu name="КонтрагентДлительнаяОперацияКартинкаКонтекстноеМеню" id="57"/>
<ExtendedTooltip name="КонтрагентДлительнаяОперацияКартинкаРасширеннаяПодсказка" id="58"/>
</PictureDecoration>
<LabelDecoration name="КонтрагентДлительнаяОперацияНадпись" id="59">
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выполняется поиск идентификатора ЭПД.</v8:content>
</v8:item>
</Title>
<ContextMenu name="КонтрагентДлительнаяОперацияНадписьКонтекстноеМеню" id="60"/>
<ExtendedTooltip name="КонтрагентДлительнаяОперацияНадписьРасширеннаяПодсказка" id="61"/>
</LabelDecoration>
<Button name="КонтрагентУказатьВручную" id="70">
<Type>Hyperlink</Type>
<CommandName>Form.Command.КонтрагентУказатьВручную</CommandName>
<ExtendedTooltip name="КонтрагентУказатьВручнуюРасширеннаяПодсказка" id="71"/>
</Button>
</ChildItems>
</Page>
</ChildItems>
</Pages>
</ChildItems>
</UsualGroup>
<UsualGroup name="Перевозчик" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Перевозчик (%Представление%)</v8:content>
</v8:item>
</Title>
<Group>HorizontalIfPossible</Group>
<Representation>WeakSeparation</Representation>
<ShowAsCard>true</ShowAsCard>
<ExtendedTooltip name="ПеревозчикРасширеннаяПодсказка" id="6"/>
<ChildItems>
<Pages name="ПеревозчикСтраницы" id="21">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Перевозчик (страницы)</v8:content>
</v8:item>
</Title>
<PagesRepresentation>None</PagesRepresentation>
<ExtendedTooltip name="ПеревозчикСтраницыРасширеннаяПодсказка" id="22"/>
<ChildItems>
<Page name="ПеревозчикСтраницаВводаИдентификатора" id="33">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Перевозчик (ввод идентификатора)</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<ScrollOnCompress>false</ScrollOnCompress>
<ExtendedTooltip name="ПеревозчикСтраницаВводаИдентификатораРасширеннаяПодсказка" id="34"/>
<ChildItems>
<InputField name="ИдентификаторПеревозчика" id="47">
<DataPath>ИдентификаторПеревозчика</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Данные можно уточнить у оператора</v8:content>
</v8:item>
</ToolTip>
<ToolTipRepresentation>Button</ToolTipRepresentation>
<InputHint>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Введите идентификатор перевозчика</v8:content>
</v8:item>
</InputHint>
<ContextMenu name="ИдентификаторПеревозчикаКонтекстноеМеню" id="48"/>
<ExtendedTooltip name="ИдентификаторПеревозчикаРасширеннаяПодсказка" id="49"/>
<Events>
<Event name="AutoComplete">ИдентификаторПеревозчикаАвтоПодбор</Event>
</Events>
</InputField>
</ChildItems>
</Page>
</ChildItems>
</Pages>
</ChildItems>
</UsualGroup>
<UsualGroup name="СертификатДоверенность" id="7">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подписание документов ЭПД</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>WeakSeparation</Representation>
<ShowAsCard>true</ShowAsCard>
<ExtendedTooltip name="СертификатДоверенностьРасширеннаяПодсказка" id="8"/>
<ChildItems>
<InputField name="Сертификат" id="26">
<DataPath>Сертификат</DataPath>
<InputHint>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Для подписания документов ЭПД</v8:content>
</v8:item>
</InputHint>
<ContextMenu name="СертификатКонтекстноеМеню" id="27"/>
<ExtendedTooltip name="СертификатРасширеннаяПодсказка" id="28"/>
</InputField>
<InputField name="Доверенность" id="23">
<DataPath>Доверенность</DataPath>
<InputHint>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Для подписания документов ЭПД</v8:content>
</v8:item>
</InputHint>
<ContextMenu name="ДоверенностьКонтекстноеМеню" id="24"/>
<ExtendedTooltip name="ДоверенностьРасширеннаяПодсказка" id="25"/>
</InputField>
</ChildItems>
</UsualGroup>
</ChildItems>
</Page>
<Page name="СтраницаИнформация" id="84">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Страница информация</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Страница информация</v8:content>
</v8:item>
</ToolTip>
<HorizontalStretch>true</HorizontalStretch>
<VerticalStretch>true</VerticalStretch>
<Group>Vertical</Group>
<VerticalSpacing>Double</VerticalSpacing>
<ExtendedTooltip name="СтраницаИнформацияРасширеннаяПодсказка" id="85"/>
<ChildItems>
<LabelDecoration name="НадписьИнформация" id="86">
<HorizontalStretch>false</HorizontalStretch>
<VerticalStretch>false</VerticalStretch>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Не удалось получить идентификатор грузоотправителя для обмена ЭПД через Сислинк.
Для подключения обмена ЭПД с торговыми сетями обратитесь, пожалуйста, в отдел продаж - edipart@doclink.ru</v8:content>
</v8:item>
</Title>
<ContextMenu name="НадписьИнформацияКонтекстноеМеню" id="87"/>
<ExtendedTooltip name="НадписьИнформацияРасширеннаяПодсказка" id="88"/>
</LabelDecoration>
<LabelDecoration name="НадписьВернутьсяНаОсновную" id="89">
<HorizontalStretch>false</HorizontalStretch>
<VerticalStretch>false</VerticalStretch>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ввести идентификатор вручную</v8:content>
</v8:item>
</Title>
<Hyperlink>true</Hyperlink>
<ContextMenu name="НадписьВернутьсяНаОсновнуюКонтекстноеМеню" id="90"/>
<ExtendedTooltip name="НадписьВернутьсяНаОсновнуюРасширеннаяПодсказка" id="91"/>
<Events>
<Event name="Click">НадписьВернутьсяНаОсновнуюНажатие</Event>
</Events>
</LabelDecoration>
</ChildItems>
</Page>
</ChildItems>
</Pages>
</ChildItems>
<Attributes>
<Attribute name="Сертификат" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сертификат</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:CatalogRef.СертификатыКлючейЭлектроннойПодписиИШифрования</v8:Type>
</Type>
<FillCheck>ShowError</FillCheck>
</Attribute>
<Attribute name="Доверенность" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Доверенность</v8:content>
</v8:item>
</Title>
<Type>
<v8:TypeSet>cfg:DefinedType.МашиночитаемаяДоверенность</v8:TypeSet>
</Type>
</Attribute>
<Attribute name="Организация" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Организация</v8:content>
</v8:item>
</Title>
<Type>
<v8:TypeSet>cfg:DefinedType.Организация</v8:TypeSet>
</Type>
</Attribute>
<Attribute name="Контрагент" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Контрагент</v8:content>
</v8:item>
</Title>
<Type>
<v8:TypeSet>cfg:DefinedType.УчастникЭДО</v8:TypeSet>
</Type>
</Attribute>
<Attribute name="Перевозчик" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Перевозчик</v8:content>
</v8:item>
</Title>
<Type>
<v8:TypeSet>cfg:DefinedType.УчастникЭДО</v8:TypeSet>
</Type>
</Attribute>
<Attribute name="ИдентификаторОрганизации" id="6">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Идентификатор организации</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<FillCheck>ShowError</FillCheck>
</Attribute>
<Attribute name="ИдентификаторКонтрагента" id="7">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Идентификатор контрагента</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<FillCheck>ShowError</FillCheck>
</Attribute>
<Attribute name="ИдентификаторПеревозчика" id="8">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Идентификатор перевозчика</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<FillCheck>ShowError</FillCheck>
</Attribute>
<Attribute name="ВидДокумента" id="9">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Вид документа</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:CatalogRef.ВидыДокументовЭДО</v8:Type>
</Type>
</Attribute>
<Attribute name="УстановленИдентификаторОрганизации" id="10">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Установлен идентификатор организации</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="УстановленИдентификаторПеревозчика" id="11">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Установлен идентификатор перевозчика</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="УстановленИдентификаторКонтрагента" id="12">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Установлен идентификатор контрагента</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ОжидаетсяПолучениеИдентификатораПеревозчика" id="13">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ожидается получение идентификатора перевозчика</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ОжидаетсяПолучениеИдентификатораОрганизации" id="14">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ожидается получение идентификатора организации</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ОжидаетсяПолучениеИдентификатораКонтрагента" id="15">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ожидается получение идентификатора контрагента</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ОрганизацияПредставление" id="16">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Организация представление</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="КонтрагентПредставление" id="17">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Контрагент представление</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="ПеревозчикПредставление" id="18">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Перевозчик представление</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="ДлительнаяОперация" id="25">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Длительная операция</v8:content>
</v8:item>
</Title>
<Type/>
</Attribute>
<Attribute name="ФоновоеЗаданиеЗапущено" id="26">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Фоновое задание запущено</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ИдентификаторКонтрагентаСписокВыбора" id="27">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Идентификатор контрагента список выбора</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueListType</v8:Type>
</Type>
<Settings xsi:type="v8:TypeDescription"/>
</Attribute>
<Attribute name="ИдентификаторОрганизацииСписокВыбора" id="28">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Идентификатор организации список выбора</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueListType</v8:Type>
</Type>
<Settings xsi:type="v8:TypeDescription"/>
</Attribute>
<Attribute name="ИдентификаторПеревозчикаСписокВыбора" id="29">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Идентификатор перевозчика список выбора</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueListType</v8:Type>
</Type>
<Settings xsi:type="v8:TypeDescription"/>
</Attribute>
<Attribute name="ОтобразитьСтраницуИнформации" id="30">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отобразить страницу информации</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="ОрганизацияУказатьВручную" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Указать вручную</v8:content>
</v8:item>
</Title>
<Action>ОрганизацияУказатьВручную</Action>
</Command>
<Command name="КонтрагентУказатьВручную" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Указать вручную</v8:content>
</v8:item>
</Title>
<Action>КонтрагентУказатьВручную</Action>
</Command>
<Command name="ПродолжитьОтправку" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Продолжить</v8:content>
</v8:item>
</Title>
<Action>ПродолжитьОтправку</Action>
</Command>
</Commands>
<Parameters>
<Parameter name="Организация">
<Type>
<v8:TypeSet>cfg:AnyIBRef</v8:TypeSet>
</Type>
</Parameter>
<Parameter name="Контрагент">
<Type>
<v8:TypeSet>cfg:AnyIBRef</v8:TypeSet>
</Type>
</Parameter>
<Parameter name="Перевозчик">
<Type>
<v8:TypeSet>cfg:AnyIBRef</v8:TypeSet>
</Type>
</Parameter>
<Parameter name="ВидДокумента">
<Type>
<v8:Type>cfg:CatalogRef.ВидыДокументовЭДО</v8:Type>
</Type>
</Parameter>
</Parameters>
</Form>
@@ -0,0 +1,753 @@
// @strict-types
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ПрочитатьПараметрыФормы();
ЗапуститьДлительнуюОперациюПолученияИдентификаторов();
ОбновитьОтображениеФормыПриСозданииНаСервере();
ОбновитьОтображениеФормы(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
НачатьОжиданиеПолученияИдентификаторовЭПД();
КонецПроцедуры
&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
Если Не ИдентификаторыУникальны() Тогда
ТекстСообщения =
НСтр(
"ru = 'Идентификаторы участников не должны совпадать'",
ОбщегоНазначения.КодОсновногоЯзыка());
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, , , , Отказ);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ИдентификаторОрганизацииАвтоПодбор(
Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
ИдентификаторАвтоПодбор(Текст, ДанныеВыбора, ИдентификаторОрганизацииСписокВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ИдентификаторКонтрагентаАвтоПодбор(
Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
ИдентификаторАвтоПодбор(Текст, ДанныеВыбора, ИдентификаторКонтрагентаСписокВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ИдентификаторПеревозчикаАвтоПодбор(
Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
ИдентификаторАвтоПодбор(Текст, ДанныеВыбора, ИдентификаторПеревозчикаСписокВыбора, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ИдентификаторОрганизацииПриИзменении(Элемент)
СервисEDIСлужебныйКлиентСервер.НормализоватьИдентификатор(ИдентификаторОрганизации);
КонецПроцедуры
&НаКлиенте
Процедура ИдентификаторКонтрагентаПриИзменении(Элемент)
СервисEDIСлужебныйКлиентСервер.НормализоватьИдентификатор(ИдентификаторКонтрагента);
КонецПроцедуры
&НаКлиенте
Процедура ИдентификаторПеревозчикаПриИзменении(Элемент)
СервисEDIСлужебныйКлиентСервер.НормализоватьИдентификатор(ИдентификаторПеревозчика);
КонецПроцедуры
&НаКлиенте
Процедура НадписьВернутьсяНаОсновнуюНажатие(Элемент)
ОтобразитьСтраницуИнформации = Ложь;
ОбновитьОтображениеФормы(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ОрганизацияУказатьВручную(Команда)
ОжидаетсяПолучениеИдентификатораОрганизации = Ложь;
ВыполнитьКонтрольДлительнойОперации();
ОбновитьОтображениеФормы(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура КонтрагентУказатьВручную(Команда)
ОжидаетсяПолучениеИдентификатораКонтрагента = Ложь;
ВыполнитьКонтрольДлительнойОперации();
ОбновитьОтображениеФормы(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПродолжитьОтправку(Команда)
Если Не ПроверитьЗаполнение() Тогда
Возврат;
КонецЕсли;
ЗаписатьДанныеНаСервере();
Закрыть();
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область НастройкиОбмена
// Параметры:
// НастройкиОбмена - См. НастройкиОтправкиЭДО.НастройкиОтправки
//
// Возвращаемое значение:
// Булево
&НаСервереБезКонтекста
Функция УстановленыИдентификаторыНастроекОбмена(Знач НастройкиОбмена)
Если НастройкиОбмена = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
Возврат Не ПустаяСтрока(НастройкиОбмена.ИдентификаторОтправителя)
И Не ПустаяСтрока(НастройкиОбмена.ИдентификаторПолучателя);
КонецФункции
&НаСервере
Процедура ПрочитатьНастройкиОбмена()
ИдентификаторыОрганизации = Новый Массив; // Массив Из Строка
НастройкиОбменаКонтрагент = СервисEDIСлужебный.НастройкиОбмена(Организация, Контрагент, ВидДокумента);
НастройкиОбменаПеревозчик = СервисEDIСлужебный.НастройкиОбмена(Организация, Перевозчик, ВидДокумента);
Если УстановленыИдентификаторыНастроекОбмена(НастройкиОбменаКонтрагент) Тогда
ИдентификаторыОрганизации.Добавить(НастройкиОбменаКонтрагент.ИдентификаторОтправителя);
ИдентификаторКонтрагента = НастройкиОбменаКонтрагент.ИдентификаторПолучателя;
УстановленИдентификаторКонтрагента = Истина;
КонецЕсли;
Если УстановленыИдентификаторыНастроекОбмена(НастройкиОбменаПеревозчик) Тогда
ИдентификаторыОрганизации.Добавить(НастройкиОбменаПеревозчик.ИдентификаторОтправителя);
ИдентификаторПеревозчика = НастройкиОбменаПеревозчик.ИдентификаторПолучателя;
УстановленИдентификаторПеревозчика = Истина;
КонецЕсли;
ИдентификаторыОрганизации = ОбщегоНазначенияКлиентСервер.СвернутьМассив(ИдентификаторыОрганизации);
Если ИдентификаторыОрганизации.Количество() = 1 Тогда
ИдентификаторОрганизации = ИдентификаторыОрганизации[0];
УстановленИдентификаторОрганизации = Истина;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ПараметрыФормы
// Параметры:
// Контекст - Строка
// ИмяПараметра - Строка
// ЗначениеПараметра - ЛюбаяСсылка
&НаСервере
Процедура ПроверитьЗаполненность(Знач Контекст, Знач ИмяПараметра, Знач ЗначениеПараметра)
ОбщегоНазначенияКлиентСервер.Проверить(
ЗначениеЗаполнено(ЗначениеПараметра),
СтрШаблон(
НСтр(
"ru = 'Значение обязательного параметра формы %1 не заполнено'",
ОбщегоНазначения.КодОсновногоЯзыка()),
ИмяПараметра),
Контекст);
КонецПроцедуры
&НаСервере
Процедура ПроверитьПараметрыФормы()
ПроверитьЗаполненность("ПроверитьПараметрыФормы", "Организация" , Организация);
ПроверитьЗаполненность("ПроверитьПараметрыФормы", "Контрагент" , Контрагент);
ПроверитьЗаполненность("ПроверитьПараметрыФормы", "Перевозчик" , Перевозчик);
КонецПроцедуры
// Параметры:
// ДанныеУчастников - См. СервисEDIСлужебный.НовыеДанныеУчастников
// Участник - ЛюбаяСсылка
// Представление - Строка
&НаСервере
Процедура ПрочитатьДанныеУчастника(
Знач ДанныеУчастников,
Знач Участник,
Представление)
ДанныеУчастника = СервисEDIСлужебный.ДанныеУчастника(ДанныеУчастников, Участник);
Представление = ДанныеУчастника.Представление;
КонецПроцедуры
&НаСервере
Процедура ПрочитатьДанныеУчастников()
ТаблицаУчастников = СервисEDIСлужебный.НоваяТаблицаУчастников();
СервисEDIСлужебный.ДобавитьОрганизацию(ТаблицаУчастников, Организация);
СервисEDIСлужебный.ДобавитьКонтрагента(ТаблицаУчастников, Контрагент);
СервисEDIСлужебный.ДобавитьКонтрагента(ТаблицаУчастников, Перевозчик);
ДанныеУчастников = СервисEDIСлужебный.ДанныеУчастников(ТаблицаУчастников);
ПрочитатьДанныеУчастника(
ДанныеУчастников,
Организация,
ОрганизацияПредставление);
ПрочитатьДанныеУчастника(
ДанныеУчастников,
Контрагент,
КонтрагентПредставление);
ПрочитатьДанныеУчастника(
ДанныеУчастников,
Перевозчик,
ПеревозчикПредставление);
КонецПроцедуры
&НаСервере
Процедура ПрочитатьПараметрыФормы()
//@skip-check statement-type-change - Параметры формы не поддерживают определяемые типы
Организация = Параметры.Организация;
//@skip-check statement-type-change - Параметры формы не поддерживают определяемые типы
Контрагент = Параметры.Контрагент;
//@skip-check statement-type-change - Параметры формы не поддерживают определяемые типы
Перевозчик = Параметры.Перевозчик;
ВидДокумента = Параметры.ВидДокумента;
ПроверитьПараметрыФормы();
ПрочитатьНастройкиОбмена();
ПрочитатьДанныеУчастников();
КонецПроцедуры
#КонецОбласти
#Область Отображение
// Параметры:
// Форма - ФормаКлиентскогоПриложения
// Элемент - ГруппаФормы
// Видимость - Булево
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьВидимость(Форма, Знач Элемент, Знач Видимость)
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Форма.Элементы,
Элемент.Имя,
"Видимость",
Видимость);
КонецПроцедуры
// Параметры:
// Форма - ФормаКлиентскогоПриложения
// ЭтоДлительнаяОперация - Булево
// ЭлементФормыСтраницы - ГруппаФормы
// ЭлементФормыСтраницаИспользоватьДлительнуюОперацию - ГруппаФормы
// ЭлементФормыСтраницаНеИспользоватьДлительнуюОперацию - ГруппаФормы
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьСтраницуДлительнойОперации(
Форма,
Знач ЭтоДлительнаяОперация,
Знач ЭлементФормыСтраницы,
Знач ЭлементФормыСтраницаИспользоватьДлительнуюОперацию,
Знач ЭлементФормыСтраницаНеИспользоватьДлительнуюОперацию)
ТекущаяСтраница =
?(ЭтоДлительнаяОперация,
ЭлементФормыСтраницаИспользоватьДлительнуюОперацию,
ЭлементФормыСтраницаНеИспользоватьДлительнуюОперацию);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Форма.Элементы,
ЭлементФормыСтраницы.Имя,
"ТекущаяСтраница",
ТекущаяСтраница);
КонецПроцедуры
// Параметры:
// Форма - ФормаКлиентскогоПриложения
// ЭлементФормы - ПолеФормы
// СписокВыбора - СписокЗначений Из Строка
&НаКлиентеНаСервереБезКонтекста
Процедура ПоказатьКнопкуВыбора(Форма, ЭлементФормы, СписокВыбора)
//@skip-check property-return-type - Особенность строгой типизации
//@skip-check dynamic-access-method-not-found - Особенность строгой типизации
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Форма.Элементы,
ЭлементФормы.Имя,
"КнопкаВыпадающегоСписка",
СписокВыбора.Количество() > 0);
КонецПроцедуры
// Параметры:
// Форма - ФормаКлиентскогоПриложения
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьОтображениеФормы(Форма)
// Скрываем данные по известным идентификаторам
УстановитьВидимость(Форма, Форма.Элементы.Организация , Не Форма.УстановленИдентификаторОрганизации);
УстановитьВидимость(Форма, Форма.Элементы.Контрагент , Не Форма.УстановленИдентификаторКонтрагента);
УстановитьВидимость(Форма, Форма.Элементы.Перевозчик , Не Форма.УстановленИдентификаторПеревозчика);
// Устанавливаем страницу ввода идентификатора / длительной операции
УстановитьСтраницуДлительнойОперации(
Форма,
Форма.ФоновоеЗаданиеЗапущено И Форма.ОжидаетсяПолучениеИдентификатораОрганизации,
Форма.Элементы.ОрганизацияСтраницы,
Форма.Элементы.ОрганизацияСтраницаДлительнаяОперация,
Форма.Элементы.ОрганизацияСтраницаВводаИдентификатора);
УстановитьСтраницуДлительнойОперации(
Форма,
Форма.ФоновоеЗаданиеЗапущено И Форма.ОжидаетсяПолучениеИдентификатораКонтрагента,
Форма.Элементы.КонтрагентСтраницы,
Форма.Элементы.КонтрагентСтраницаДлительнаяОперация,
Форма.Элементы.КонтрагентСтраницаВводаИдентификатора);
ПоказатьКнопкуВыбора(Форма, Форма.Элементы.ИдентификаторОрганизации, Форма.ИдентификаторОрганизацииСписокВыбора);
ПоказатьКнопкуВыбора(Форма, Форма.Элементы.ИдентификаторКонтрагента, Форма.ИдентификаторКонтрагентаСписокВыбора);
ПоказатьКнопкуВыбора(Форма, Форма.Элементы.ИдентификаторПеревозчика, Форма.ИдентификаторПеревозчикаСписокВыбора);
ОтобразитьСтраницуИнформации = Форма.ОтобразитьСтраницуИнформации;
ТекущаяСтраница = ?(ОтобразитьСтраницуИнформации,
Форма.Элементы.СтраницаИнформация,
Форма.Элементы.СтраницаОсновная);
УстановитьСтраницуФормы(Форма, Форма.Элементы.СтраницыФормы, ТекущаяСтраница);
УстановитьВидимость(Форма, Форма.КоманднаяПанель, Не ОтобразитьСтраницуИнформации);
КонецПроцедуры
// Параметры:
// Элемент - ГруппаФормы
// Роль - Строка
// Представление - Строка
&НаСервере
Процедура УстановитьЗаголовокУчастника(Элемент, Знач Роль, Знач Представление)
ТекстЗаголовка =
СтрШаблон(
НСтр(
"ru = '%1 (%2)'",
ОбщегоНазначения.КодОсновногоЯзыка()),
Роль,
Представление);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
Элемент.Имя,
"Заголовок",
ТекстЗаголовка);
КонецПроцедуры
&НаСервере
Процедура ОбновитьОтображениеФормыПриСозданииНаСервере()
УстановитьЗаголовокУчастника(
Элементы.Организация,
НСтр("ru = 'Грузоотправитель'", ОбщегоНазначения.КодОсновногоЯзыка()),
ОрганизацияПредставление);
УстановитьЗаголовокУчастника(
Элементы.Контрагент,
НСтр("ru = 'Грузополучатель'", ОбщегоНазначения.КодОсновногоЯзыка()),
КонтрагентПредставление);
УстановитьЗаголовокУчастника(
Элементы.Перевозчик,
НСтр("ru = 'Перевозчик'", ОбщегоНазначения.КодОсновногоЯзыка()),
ПеревозчикПредставление);
КонецПроцедуры
// Параметры:
// Форма - ФормаКлиентскогоПриложения
// ЭлементФормыСтраницы - ГруппаФормы
// ЭлементФормыТекущаяСтраница - ГруппаФормы
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьСтраницуФормы(Форма, ЭлементФормыСтраницы, ЭлементФормыТекущаяСтраница)
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Форма.Элементы,
ЭлементФормыСтраницы.Имя,
"ТекущаяСтраница",
ЭлементФормыТекущаяСтраница);
КонецПроцедуры
#КонецОбласти
#Область ДлительнаяОперация
&НаСервере
Процедура ЗапуститьДлительнуюОперациюПолученияИдентификаторов()
НаборУчастников = СервисEDIСлужебный.НовыеУчастникиЭТрН();
НаборУчастников.Организация = Организация;
НаборУчастников.Контрагент = Контрагент;
НаборУчастников.Перевозчик = Перевозчик;
Если Не УстановленИдентификаторОрганизации Тогда
ОжидаетсяПолучениеИдентификатораОрганизации = Истина;
КонецЕсли;
Если Не УстановленИдентификаторКонтрагента Тогда
ОжидаетсяПолучениеИдентификатораКонтрагента = Истина;
КонецЕсли;
Если Не ОжидаетсяПолучениеИдентификатораКонтрагента
И Не ОжидаетсяПолучениеИдентификатораОрганизации Тогда
Возврат;
КонецЕсли;
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияФункции(УникальныйИдентификатор);
ПараметрыВыполнения.НаименованиеФоновогоЗадания =
НСтр(
"ru = 'Получение идентификаторов ЭПД из сервиса 1С:EDI'",
ОбщегоНазначения.КодОсновногоЯзыка());
ПараметрыВыполнения.УточнениеОшибки =
НСтр(
"ru = 'Не удалось получить идентификаторы ЭПД из сервиса 1С:EDI по причине:'",
ОбщегоНазначения.КодОсновногоЯзыка());
ДлительнаяОперация = ДлительныеОперации.ВыполнитьФункцию(
ПараметрыВыполнения,
"СервисEDIСлужебный.СвязьИдентификаторыУчастниковЭТрН",
НаборУчастников);
ФоновоеЗаданиеЗапущено = Истина;
ПараметрыБаннера = ОбщегоНазначения.ПараметрыВажногоСообщения();
ПараметрыБаннера.Сообщение =
НСтр(
"ru = 'Длительность получения идентификаторов из сервиса может занимать до 2 минут.'",
ОбщегоНазначения.КодОсновногоЯзыка());
ОбщегоНазначения.ВставитьВажноеСообщение(ЭтотОбъект, ПараметрыБаннера, Элементы.ВажныеСообщения);
ОбщегоНазначения.ВывестиСтатусыИВажныеСообщенияНаФорму(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура НачатьОжиданиеПолученияИдентификаторовЭПД()
Если Не ФоновоеЗаданиеЗапущено Тогда
Возврат;
КонецЕсли;
Оповещение = Новый ОписаниеОповещения("ПриПолученииИдентификаторовЭПД", ЭтотОбъект);
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
СервисEDIСлужебныйКлиент.ОжидатьЗавершение(
ДлительнаяОперация,
Оповещение,
ПараметрыОжидания);
ВыполнитьКонтрольДлительнойОперации();
КонецПроцедуры
// Параметры:
// СведенияОбУчастникеСвязи - См. СервисEDIСлужебный.НовыеСведенияОбУчастникеСвязи
// ОжидаетсяПолучениеИдентификатора - Булево
// Участник - ЛюбаяСсылка
// ИдентификаторУчастника - Строка
// СписокВыбора - СписокЗначений Из Строка
&НаСервере
Процедура ЗаполнитьИдентификаторУчастникаПоДаннымСервиса(
Знач СведенияОбУчастникеСвязи,
Знач ОжидаетсяПолучениеИдентификатора,
Знач Участник,
ИдентификаторУчастника,
СписокВыбора)
Если Не ОжидаетсяПолучениеИдентификатора Тогда
Возврат;
КонецЕсли;
ОжидаетсяПолучениеИдентификатора = Ложь;
ИдентификаторУчастника = СведенияОбУчастникеСвязи.Идентификатор;
СписокВыбора.Очистить();
Если СведенияОбУчастникеСвязи.Идентификаторы.Количество() > 0 Тогда
//@skip-check property-return-type - Свойства расширения элемента формы
СписокВыбора.Очистить(); // СписокЗначений Из Строка
Для Каждого Идентификатор Из СведенияОбУчастникеСвязи.Идентификаторы Цикл
ИдентификаторЭПД = Идентификатор.Идентификатор;
Наименование = Идентификатор.Наименование;
Комментарий = Идентификатор.Комментарий;
ЧастиПредставления = Новый Массив; // Массив Из Строка
Если Не ПустаяСтрока(ИдентификаторЭПД) Тогда
ЧастиПредставления.Добавить(ИдентификаторЭПД);
КонецЕсли;
Если Не ПустаяСтрока(Наименование) Тогда
ЧастиПредставления.Добавить(Наименование);
КонецЕсли;
Если Не ПустаяСтрока(Комментарий) Тогда
ЧастиПредставления.Добавить(Комментарий);
КонецЕсли;
Представление = СтрСоединить(ЧастиПредставления, " - ");
СписокВыбора.Добавить(ИдентификаторЭПД, Представление);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
// Параметры:
// АдресРезультата - Строка
&НаСервере
Процедура ПриПолученииИдентификаторовЭПДНаСервере(АдресРезультата)
Связь = ПолучитьИзВременногоХранилища(
АдресРезультата); // См. СервисEDIСлужебный.НоваяСвязьИдентификаторовУчастниковЭТрН
ЗаполнитьИдентификаторУчастникаПоДаннымСервиса(
Связь.Организация,
ОжидаетсяПолучениеИдентификатораОрганизации,
Организация,
ИдентификаторОрганизации,
ИдентификаторОрганизацииСписокВыбора);
ЗаполнитьИдентификаторУчастникаПоДаннымСервиса(
Связь.Контрагент,
ОжидаетсяПолучениеИдентификатораКонтрагента,
Контрагент,
ИдентификаторКонтрагента,
ИдентификаторКонтрагентаСписокВыбора);
ОбновитьОтображениеФормы(ЭтотОбъект);
КонецПроцедуры
// Параметры:
// АдресРезультата - Строка
// - Неопределено
// ДополнительныеПараметры - Произвольный
&НаКлиенте
Процедура ПриПолученииИдентификаторовЭПД(Знач АдресРезультата, Знач ДополнительныеПараметры) Экспорт
ДлительнаяОперация = Неопределено;
ФоновоеЗаданиеЗапущено = Ложь;
Если АдресРезультата = Неопределено Тогда
ОбновитьОтображениеФормы(ЭтотОбъект);
Возврат;
КонецЕсли;
ПриПолученииИдентификаторовЭПДНаСервере(АдресРезультата);
ОтобразитьСтраницуИнформации = ОжидаетсяПолучениеИдентификатораОрганизации
И Не ЗначениеЗаполнено(ИдентификаторОрганизации);
ОбновитьОтображениеФормы(ЭтотОбъект);
КонецПроцедуры
// Параметры:
// ИдентификаторЗадания - УникальныйИдентификатор
&НаСервереБезКонтекста
Процедура ПрерватьДлительнуюОперациюНаСервере(Знач ИдентификаторЗадания)
ДлительныеОперации.ОтменитьВыполнениеЗадания(ИдентификаторЗадания);
КонецПроцедуры
&НаКлиенте
Процедура ПрерватьДлительнуюОперацию()
ФоновоеЗаданиеЗапущено = Ложь;
Если ДлительнаяОперация <> Неопределено Тогда
//@skip-check property-return-type
//@skip-check invocation-parameter-type-intersect
ПрерватьДлительнуюОперациюНаСервере(ДлительнаяОперация.ИдентификаторЗадания);
ДлительнаяОперация = Неопределено;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьКонтрольДлительнойОперации()
Если Не ФоновоеЗаданиеЗапущено Тогда
Возврат;
КонецЕсли;
ТребуетсяФоновоеЗадание =
ОжидаетсяПолучениеИдентификатораОрганизации
Или ОжидаетсяПолучениеИдентификатораКонтрагента;
Если ТребуетсяФоновоеЗадание Тогда
Возврат;
КонецЕсли;
ПрерватьДлительнуюОперацию();
КонецПроцедуры
#КонецОбласти
#Область ЗаписьДанных
&НаСервере
Процедура ЗаписатьДанныеНаСервере()
Настройки = СервисEDIСлужебный.НовыеНастройкиЭТрН();
Настройки.Организация = Организация;
Настройки.Контрагент = Контрагент;
Настройки.Перевозчик = Перевозчик;
Настройки.ИдентификаторОрганизации = ИдентификаторОрганизации;
Настройки.ИдентификаторКонтрагента = ИдентификаторКонтрагента;
Настройки.ИдентификаторПеревозчика = ИдентификаторПеревозчика;
Настройки.Сертификат = Сертификат;
Настройки.Доверенность = Доверенность;
СервисEDIСлужебный.ЗаписатьНастройкиЭТрН(Настройки);
КонецПроцедуры
#КонецОбласти
#Область АвтоПодбор
// Параметры:
// СписокПриемник - СписокЗначений Из Строка
// СписокИсточник - СписокЗначений Из Строка
&НаКлиентеНаСервереБезКонтекста
Процедура СкопироватьСписок(СписокПриемник, Знач СписокИсточник)
СписокПриемник.Очистить();
Для каждого ЭлементСписка Из СписокИсточник Цикл
СписокПриемник.Добавить(
ЭлементСписка.Значение,
ЭлементСписка.Представление,
ЭлементСписка.Пометка,
ЭлементСписка.Картинка);
КонецЦикла;
КонецПроцедуры
// Параметры:
// Текст - Строка
// ДанныеВыбора - СписокЗначений Из Строка
// СписокВыбора - СписокЗначений Из Строка
// СтандартнаяОбработка - Булево
&НаКлиенте
Процедура ИдентификаторАвтоПодбор(Знач Текст, ДанныеВыбора, Знач СписокВыбора, СтандартнаяОбработка)
Если СписокВыбора.Количество() = 0 Тогда
Возврат;
ИначеЕсли ПустаяСтрока(Текст) Тогда
ДанныеВыбора = Новый СписокЗначений; // СписокЗначений Из Строка
СтандартнаяОбработка = Ложь;
СкопироватьСписок(ДанныеВыбора, СписокВыбора);
Возврат;
КонецЕсли;
СтандартнаяОбработка = Ложь;
ДанныеВыбора = Новый СписокЗначений; // СписокЗначений Из Строка
ПодстрокаПоиска = ВРег(Текст);
ЦветВыделения = WebЦвета.ТемноЗеленый;
//@skip-check new-font - Шрифт Авто
ШрифтВыделения = Новый Шрифт(, , Истина);
Для Каждого ЭлементСписка Из СписокВыбора Цикл
Позиция = СтрНайти(ВРег(ЭлементСписка.Представление), ПодстрокаПоиска);
Если Позиция = 0 Тогда
Продолжить;
КонецЕсли;
ТекстВхождения = Сред(ЭлементСписка.Представление, Позиция, СтрДлина(Текст));
Начало = Лев(ЭлементСписка.Представление, Позиция - 1);
Вхождение = Новый ФорматированнаяСтрока(ТекстВхождения, ШрифтВыделения, ЦветВыделения);
Конец = Сред(ЭлементСписка.Представление, Позиция + СтрДлина(Текст));
Представление = Новый ФорматированнаяСтрока(Начало, Вхождение, Конец);
ДанныеВыбора.Добавить(
ЭлементСписка.Значение,
Представление,
ЭлементСписка.Пометка,
ЭлементСписка.Картинка);
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область ПроверкаЗаполнения
// Параметры:
// НаборИдентификаторов - Массив из Строка
// Идентификатор - Строка
&НаСервере
Процедура ДобавитьИдентификатор(НаборИдентификаторов, Знач Идентификатор)
Если ПустаяСтрока(Идентификатор) Тогда
Возврат;
КонецЕсли;
СервисEDIСлужебныйКлиентСервер.НормализоватьИдентификатор(Идентификатор);
НаборИдентификаторов.Добавить(Идентификатор);
КонецПроцедуры
// Возвращаемое значение:
// Булево
&НаСервере
Функция ИдентификаторыУникальны()
Идентификаторы = Новый Массив; // Массив Из Строка
ДобавитьИдентификатор(Идентификаторы, ИдентификаторОрганизации);
ДобавитьИдентификатор(Идентификаторы, ИдентификаторКонтрагента);
ДобавитьИдентификатор(Идентификаторы, ИдентификаторПеревозчика);
УникальныеЗначения = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Идентификаторы);
Возврат Идентификаторы.Количество() = УникальныеЗначения.Количество();
КонецФункции
#КонецОбласти
#КонецОбласти
@@ -64,7 +64,7 @@
Результат = Новый Структура;
Результат.Вставить("ФорматBase64", ФорматBase64);
Результат.Вставить("Штрихкод", Штрихкод);
Результат.Вставить("Штрихкод", СокрЛП(Штрихкод));
Закрыть(Результат);
@@ -15,7 +15,13 @@
ИначеЕсли ТипДокумента = Тип("ДокументСсылка.ЭлектронныйЗаказНаряд") Тогда
ОписаниеТипа = Метаданные.ОпределяемыеТипы.ДокументыОснованияЭЗН_ЭПД.Тип;
ИначеЕсли ТипДокумента = Тип("ДокументСсылка.ЭлектронныйПутевойЛист") Тогда
ОписаниеТипа = Метаданные.ОпределяемыеТипы.ДокументыОснованияЭПЛ_ЭПД.Тип;
ОписаниеТипа = Метаданные.ОпределяемыеТипы.ДокументыОснованияЭПЛ_ЭПД.Тип;
ИначеЕсли ТипДокумента = Тип("ДокументСсылка.ЭлектронноеПоручениеЭкспедитору") Тогда
ОписаниеТипа = Метаданные.ОпределяемыеТипы.ДокументыОснованияЭПЭ_ЭПД.Тип;
ИначеЕсли ТипДокумента = Тип("ДокументСсылка.ЭлектроннаяЭкспедиторскаяРасписка") Тогда
ОписаниеТипа = Метаданные.ОпределяемыеТипы.ДокументыОснованияЭЭР_ЭПД.Тип;
ИначеЕсли ТипДокумента = Тип("ДокументСсылка.ЭлектроннаяCкладскаяРасписка") Тогда
ОписаниеТипа = Метаданные.ОпределяемыеТипы.ДокументыОснованияЭСР_ЭПД.Тип;
КонецЕсли;
ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Документ", ОписаниеТипа, "Документы"));
@@ -195,6 +195,8 @@
ДобавленоТоварныхГрупп = 0;
Отбор = Новый Структура;
Для НомерСтроки = 1 по ТабличныйДокумент.ВысотаТаблицы Цикл
Значение = СокрЛП(ТабличныйДокумент.Область(НомерСтроки, КолонкаКодТНВЭД).Текст);
@@ -203,12 +205,22 @@
Продолжить;
КонецЕсли;
Строка = ТаблицаДанных.Добавить();
Строка.ТНВЭД = Значение;
Отбор.Вставить("ТНВЭД", Значение);
НайденныеСтроки = ТаблицаДанных.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() = 0 Тогда
Строка = ТаблицаДанных.Добавить();
Строка.ТНВЭД = Значение;
Иначе
Строка = НайденныеСтроки[0];
КонецЕсли;
Если КолонкаКодыОКПД2 > 0 Тогда
Строка.ОКПД2 =
СокрЛП(ТабличныйДокумент.Область(НомерСтроки, КолонкаКодыОКПД2).Текст);
ОКПД2 = СокрЛП(ТабличныйДокумент.Область(НомерСтроки, КолонкаКодыОКПД2).Текст);
Если Строка.ОКПД2 = "" Тогда
Строка.ОКПД2 = ОКПД2;
Иначе
Строка.ОКПД2 = Строка.ОКПД2 + РазделительОКПД2(ОКПД2) + ОКПД2;
КонецЕсли;
КонецЕсли;
НайденнаяСтрока = Неопределено;
@@ -631,20 +643,9 @@
Возврат;
КонецЕсли;
Разделители = Новый Массив;
Разделители.Добавить(",");
Разделители.Добавить(";");
КодыОКПД2 = Новый Массив;
Если СтрДлина(Строка.ОКПД2) >= 12 Тогда
ТекущийРазделитель = ",";
Для Каждого Разделитель Из Разделители Цикл
Если СтрНайти(Строка.ОКПД2, Разделитель) > 0 Тогда
ТекущийРазделитель = Разделитель;
Прервать;
КонецЕсли;
КонецЦикла;
Массив = СтрРазделить(Строка.ОКПД2, ТекущийРазделитель);
Массив = СтрРазделить(Строка.ОКПД2, РазделительОКПД2(Строка.ОКПД2));
Для Каждого Код Из Массив Цикл
Код = СокрЛП(Код);
Если СтрДлина(Код) = 12
@@ -680,6 +681,25 @@
КонецПроцедуры
&НаСервереБезКонтекста
Функция РазделительОКПД2(ОКПД2)
Разделители = Новый Массив;
Разделители.Добавить(",");
Разделители.Добавить(";");
ТекущийРазделитель = ",";
Для Каждого Разделитель Из Разделители Цикл
Если СтрНайти(ОКПД2, Разделитель) > 0 Тогда
ТекущийРазделитель = Разделитель;
Прервать;
КонецЕсли;
КонецЦикла;
Возврат ТекущийРазделитель;
КонецФункции
&НаСервереБезКонтекста
Функция ТекстЗапросаКодовТНВЭДиОКПД2()
@@ -139,7 +139,7 @@
Если НавигационнаяСсылкаФорматированнойСтроки = "1" Тогда
ОткрытьФорму("РегистрСведений.КонтурСинхронизации.Форма.ЗацикливаниеСинхронизации",,,,,, Новый ОписаниеОповещения("ПослеЗакрытияФормыЗацикливаниеСинхронизации", ЭтотОбъект),
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца);
ИначеЕсли НавигационнаяСсылкаФорматированнойСтроки = "2" Тогда
@@ -181,7 +181,7 @@
ПараметрыФормы = Новый Структура("УзелОбмена", ТекущиеДанные.УзелИнформационнойБазы);
ОткрытьФорму("Обработка.ПомощникСозданияОбменаДанными.Форма.ПереходНаИнтернетСоединение",
ПараметрыФормы, ЭтотОбъект,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
ПараметрыФормы, ЭтотОбъект,,,,, РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца);
КонецЕсли;
@@ -205,7 +205,7 @@
Оповещение = Новый ОписаниеОповещения("СохранитьНастройкиТранспорта", ЭтотОбъект, ДополнительныеПараметры);
ОткрытьФорму(ПолноеИмяФормыНастройки, ПараметрыФормы,,,,, Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
ОткрытьФорму(ПолноеИмяФормыНастройки, ПараметрыФормы,,,,, Оповещение, РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца);
КонецЕсли;
@@ -299,7 +299,7 @@
ПараметрыФормы.Вставить("ИмяПланаОбмена", Список[0].Значение);
ОткрытьФорму("Обработка.ПомощникСозданияОбменаДанными.Форма.НовыйКодПредопределенногоУзла",
ПараметрыФормы, ЭтотОбъект, , , , , РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
ПараметрыФормы, ЭтотОбъект, , , , , РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца);
Иначе
@@ -453,7 +453,7 @@
ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеЗавершенияНастройкиПараметровСинхронизации", ЭтотОбъект);
ИмяОткрываемойФормы = СтрШаблон("ПланОбмена.%1.ФормаОбъекта", ОписаниеСтрокиПриложения.ИмяПланаОбмена);
ОткрытьФорму(ИмяОткрываемойФормы, ПараметрыПомощника, ЭтотОбъект, , , , ОповещениеОЗакрытии, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
ОткрытьФорму(ИмяОткрываемойФормы, ПараметрыПомощника, ЭтотОбъект, , , , ОповещениеОЗакрытии, РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца);
КонецЕсли;
@@ -534,7 +534,7 @@
ПараметрыОткрытия.Вставить("УзелИнформационнойБазы", ТекущиеДанные.УзелИнформационнойБазы);
ОткрытьФорму("Обработка.РаботаСРезультатамиОбмена.Форма.РазборРезультатовПообъектногоОбмена", ПараметрыОткрытия
, ЭтотОбъект, ТекущиеДанные.УзелИнформационнойБазы,,,, РежимОткрытияОкнаФормы.Независимый);
, ЭтотОбъект, ТекущиеДанные.УзелИнформационнойБазы,,,, РежимБлокировкиПриОткрытииОкнаФормы.НеБлокировать);
КонецПроцедуры
@@ -630,7 +630,7 @@
ОповещениеОЗакрытии = Новый ОписаниеОповещения("НачальнаяВыгрузкаДанныхЗавершение", ЭтотОбъект);
ИмяОткрываемойФормы = "Обработка.ПомощникИнтерактивногоОбменаДанными.Форма.ВыгрузкаДанныхДляСопоставления";
ОткрытьФорму(ИмяОткрываемойФормы, ПараметрыПомощника, ЭтотОбъект, , , , ОповещениеОЗакрытии, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
ОткрытьФорму(ИмяОткрываемойФормы, ПараметрыПомощника, ЭтотОбъект, , , , ОповещениеОЗакрытии, РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца);
КонецЕсли;
@@ -1273,7 +1273,7 @@
КлючУникальностиПомощника = СтрШаблон("%1_%2_%3", ПараметрыПомощника.ИмяПланаОбмена, ПараметрыПомощника.ИдентификаторНастройки, ПараметрыПомощника.УзелОбмена.УникальныйИдентификатор());
ОткрытьФорму("Обработка.ПомощникСозданияОбменаДанными.Форма.НастройкаСинхронизации",
ПараметрыПомощника, ЭтотОбъект, КлючУникальностиПомощника, , , ОповещениеОЗакрытии, РежимОткрытияОкнаФормы.Независимый);
ПараметрыПомощника, ЭтотОбъект, КлючУникальностиПомощника, , , ОповещениеОЗакрытии, РежимБлокировкиПриОткрытииОкнаФормы.НеБлокировать);
КонецЕсли;
@@ -1301,7 +1301,7 @@
Иначе
ИмяОткрываемойФормы = "Обработка.ПомощникСозданияОбменаДанными.Форма.НастройкаСинхронизации";
ОткрытьФорму(ИмяОткрываемойФормы, ДополнительныеПараметры.ПараметрыПомощника, ЭтотОбъект, , , , ДополнительныеПараметры.ОповещениеОЗакрытии, РежимОткрытияОкнаФормы.Независимый);
ОткрытьФорму(ИмяОткрываемойФормы, ДополнительныеПараметры.ПараметрыПомощника, ЭтотОбъект, , , , ДополнительныеПараметры.ОповещениеОЗакрытии, РежимБлокировкиПриОткрытииОкнаФормы.НеБлокировать);
КонецЕсли;
@@ -2263,7 +2263,7 @@
ПараметрыФормы.Вставить("ИмяПланаОбмена", Результат.Значение);
ОткрытьФорму("Обработка.ПомощникСозданияОбменаДанными.Форма.НовыйКодПредопределенногоУзла",
ПараметрыФормы, ЭтотОбъект, , , , , РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
ПараметрыФормы, ЭтотОбъект, , , , , РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца);
КонецПроцедуры
@@ -94,6 +94,26 @@
</Title>
<Type/>
</Attribute>
<Attribute name="ИдентификаторЗаданияОпределенияНаличияСтатуса" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Идентификатор задания определения наличия статуса</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:UUID</v8:Type>
</Type>
</Attribute>
<Attribute name="ДанныеСсылки" id="6">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Данные ссылки</v8:content>
</v8:item>
</Title>
<Type/>
</Attribute>
</Attributes>
<Parameters>
<Parameter name="ПлатежнаяСсылка">
@@ -108,5 +128,10 @@
<Parameter name="ОснованиеПлатежа">
<Type/>
</Parameter>
<Parameter name="ВариантНастройки">
<Type>
<v8:Type>cfg:EnumRef.ВариантыНастройкиСБП</v8:Type>
</Type>
</Parameter>
</Parameters>
</Form>
@@ -26,7 +26,8 @@
Отказ = Истина;
КонецЕсли;
Если Не ЗначениеЗаполнено(Параметры.ОснованиеПлатежа) Тогда
Если Не ЗначениеЗаполнено(Параметры.ОснованиеПлатежа)
Или Не ЗначениеЗаполнено(Параметры.ВариантНастройки) Тогда
Отказ = Истина;
КонецЕсли;
@@ -34,6 +35,26 @@
ВызватьИсключение НСтр("ru = 'Не корректные параметры формы.'");
КонецЕсли;
СистемаБыстрыхПлатежейСобытия.ПриОпределенииДанныхПлатежнойСсылки(
Параметры.ВариантНастройки,
Параметры.ОснованиеПлатежа,
ДанныеСсылки);
Если Не ЗначениеЗаполнено(ДанныеСсылки)Тогда
ВызватьИсключение НСтр("ru = 'Не корректные параметры формы.'");
КонецЕсли;
ДанныеНастройкиПодключения = Справочники.НастройкиПодключенияКСистемеБыстрыхПлатежей.ДанныеНастройкиПодключения(
ДанныеСсылки.НастройкаПодключения);
Если Не ЗначениеЗаполнено(ДанныеНастройкиПодключения.ИдентификаторУчастника)Тогда
ВызватьИсключение НСтр("ru = 'Не корректные параметры формы.'");
КонецЕсли;
ДанныеСсылки.Вставить(
"ИдентификаторУчастника",
ДанныеНастройкиПодключения.ИдентификаторУчастника);
ДанныеПлатежнойСсылки = Новый Структура;
ДанныеПлатежнойСсылки.Вставить("ПлатежнаяСсылка", ПлатежнаяСсылка);
ДанныеПлатежнойСсылки.Вставить("QRКод", QRКод);
@@ -80,6 +101,8 @@
СистемаБыстрыхПлатежейКлиентПереопределяемый.ПриЗакрытииФормыQRКода(
ЭтотОбъект);
ОтменитьЗаданиеОпределенияНаличияСтатусаОплаты(ИдентификаторЗаданияОпределенияНаличияСтатуса);
КонецПроцедуры
#КонецОбласти
@@ -116,6 +139,88 @@
ДанныеПлатежнойСсылки,
РезультатВыполнения);
ПодключитьОбработчикОжидания("ОпределитьНаличиеСтатусаОплаты", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура ОпределитьНаличиеСтатусаОплаты()
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ПараметрыОжидания.Интервал = 1;
РезультатВыполнения = ОпределитьНаличиеСтатусаОплатыНаСервере(
ДанныеСсылки,
УникальныйИдентификатор);
ИдентификаторЗаданияПроверкиСтатуса = РезультатВыполнения.ИдентификаторЗадания;
ОповещениеОЗавершении = Новый ОписаниеОповещения(
"ОпределитьНаличиеСтатусаОплатыЗавершение",
ЭтотОбъект);
Если РезультатВыполнения.Статус <> "Выполняется" Тогда
ОпределитьНаличиеСтатусаОплатыЗавершение(РезультатВыполнения, Неопределено);
Возврат;
КонецЕсли;
ДлительныеОперацииКлиент.ОжидатьЗавершение(
РезультатВыполнения,
ОповещениеОЗавершении,
ПараметрыОжидания);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ОпределитьНаличиеСтатусаОплатыНаСервере(
Знач ДанныеСсылки,
Знач УникальныйИдентификатор)
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Проверка наличия статуса оплаты.'");
РезультатВыполнения = ДлительныеОперации.ВыполнитьФункцию(
ПараметрыВыполнения,
"СистемаБыстрыхПлатежейСлужебный.ОжидатьТерминальныйСтатусОплаты",
ДанныеСсылки.ИдентификаторОплаты,
ДанныеСсылки.ИдентификаторУчастника,
СистемаБыстрыхПлатежейСлужебный.ИдентификаторОперацииПроверкиОплаты());
ИдентификаторЗаданияОпределенияНаличияСтатуса = РезультатВыполнения.ИдентификаторЗадания;
Возврат РезультатВыполнения;
КонецФункции
&НаКлиенте
Процедура ОпределитьНаличиеСтатусаОплатыЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
СообщениеОбОшибке = "";
Если Результат.Статус = "Выполнено" Тогда
РезультатОперации = ПолучитьИзВременногоХранилища(Результат.АдресРезультата);
Если РезультатОперации.ТерминальныйСтатусПолучен Тогда
Закрыть();
КонецЕсли;
ИначеЕсли Результат.Статус = "Ошибка" Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Операция проверки наличия статуса оплаты завершилось с ошибкой: %1'"),
ОбработкаОшибок.ПредставлениеОшибкиДляПользователя(Результат.ИнформацияОбОшибке)));
КонецЕсли;
ИдентификаторЗаданияОпределенияНаличияСтатуса = Неопределено;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ОтменитьЗаданиеОпределенияНаличияСтатусаОплаты(Знач ИдентификаторЗаданияОпределенияНаличияСтатуса)
ДлительныеОперации.ОтменитьВыполнениеЗадания(ИдентификаторЗаданияОпределенияНаличияСтатуса);
КонецПроцедуры
#КонецОбласти
@@ -239,7 +239,8 @@
ОткрытьФорму(
"ОбщаяФорма.ОтображениеQRКодаСБП",
Новый Структура(
"ПлатежнаяСсылка, ОснованиеПлатежа",
"ВариантНастройки, ПлатежнаяСсылка, ОснованиеПлатежа",
ВариантНастройки,
ПлатежнаяСсылка,
ОснованиеПлатежа),
ЭтотОбъект,
@@ -78,10 +78,20 @@
Модифицированность = Ложь;
Для Каждого НастройкаИдентификатор Из СписокНастроек Цикл
УОП_ОбщегоНазначения.УстановитьЗначениеКонстанты(НастройкаИдентификатор.Значение, ЭтотОбъект[НастройкаИдентификатор.Значение]);
КонецЦикла;
СписокКонстантОповестить = Новый СписокЗначений;
Для Каждого НастройкаИдентификатор Из СписокНастроек Цикл
Если (УОП_ОбщегоНазначения.ЗначениеКонстанты(НастройкаИдентификатор.Значение) <> ЭтотОбъект[НастройкаИдентификатор.Значение]) Тогда
СписокКонстантОповестить.Добавить(НастройкаИдентификатор.Значение);
УОП_ОбщегоНазначения.УстановитьЗначениеКонстанты(НастройкаИдентификатор.Значение, ЭтотОбъект[НастройкаИдентификатор.Значение]);
КонецЕсли;
КонецЦикла;
ОбновитьПовторноИспользуемыеЗначения();
Для Каждого ТекСтрока Из СписокКонстантОповестить Цикл
Оповестить("Запись_НаборКонстант", Новый Структура, ТекСтрока.Значение);
КонецЦикла;
КонецПроцедуры
&НаСервере
@@ -117,6 +127,13 @@
НСтр("ru='Если настройка установлена, то при каскадном сохранении документов ""Планирование производства"" для позиций, которые были запланированы будущим числом, цены изменяться не будут'")
);
НоваяНастройка = УОП_НастройкаПрограммы.ДобавитьНастройкуФлаг(ТаблицаНастроек,
"УОП_ВыполнятьИндикациюНедействительныхРецептурИНоменклатуры",
НастройкиПоУмолчанию,
НСтр("ru='Индикация недействительных рецептур и номенклатурных позиций'"),
НСтр("ru='Управление возможностью индикации недействительных и помеченных на удаление рецептур и номенклатурных позиций в дереве меню.'")
);
КонецЕсли;
НастройкиПоУмолчанию.Раздел = "ГруппаАРМПланированияПроизводства";
@@ -178,7 +195,8 @@
);
НоваяНастройка.ОбновлятьИнтерфейс = Истина;
// ======================================================================================================================
// ======================================================================================================================
СписокНастроек.Очистить();
Для Каждого ТекНастройка Из ТаблицаНастроек Цикл
@@ -538,8 +538,12 @@
Возврат Ложь;
КонецЕсли;
ИначеЕсли ЗначениеЗаполнено(Строка.СписокНоменклатуры) И Не Дополнять Тогда
Если ИмяРеквизита <> "Номенклатура"
И ИмяРеквизита <> "Характеристика" Тогда
Возврат Истина;
КонецЕсли;
Для Каждого ЭлементСпискаВыбора Из Строка.СписокНоменклатуры Цикл
Если ЭлементСпискаВыбора.Свойство(ИмяРеквизита) И ЭлементСпискаВыбора[ИмяРеквизита] = Отбор[ИмяРеквизита] Тогда
Если ЭлементСпискаВыбора[ИмяРеквизита] = Отбор[ИмяРеквизита] Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
@@ -797,7 +797,6 @@
ЭтоГрупповаяЛогистическаяУпаковка = (ВариантИспользованияЕдиницыХранения = Перечисления.ВариантыИспользованияЕдиницыХраненияИС.ГрупповаяЛогистическаяУпаковка);
ЭтоФасованнаяПродукция = (ВариантИспользованияЕдиницыХранения = Перечисления.ВариантыИспользованияЕдиницыХраненияИС.МернаяПродукцияСФиксированнымЗначением);
ЭтоТребуетВзвешивания = (ВариантИспользованияЕдиницыХранения = Перечисления.ВариантыИспользованияЕдиницыХраненияИС.МернаяПродукцияТребуетУказанияЗначения);
ДоступноПеременноеКоличество = КонструкторИСМПКлиентСервер.ВидПродукцииПоддерживаетПеременноеКоличествоМернойПродукции(ВидПродукции);
ЭтоТабак = КонструкторИСМПОбщегоНазначенияКлиентСервер.ДоступноПолеМРЦ(ВидПродукции);
// +УОП
@@ -817,8 +816,8 @@
Элементы.ВариантЕдиницыИзмеренияИмеетФиксированныйВес.Видимость = (ЭтоФасованнаяПродукция Или Не ДопустимоИспользованиеУпаковок);
Элементы.ПолеКоличествоФиксированныйВес.Видимость = (ЭтоФасованнаяПродукция Или Не ДопустимоИспользованиеУпаковок);
Элементы.ВариантЕдиницыИзмеренияИмеетФиксированныйВес.Доступность = Не ДопустимоИспользованиеУпаковок;
Элементы.ВариантЕдиницыИзмеренияТребуетсяВзвешивание.Видимость = ДоступноПеременноеКоличество И (ДоступноТребуетВзвешивания Или ЭтоТребуетВзвешивания);
Элементы.ВариантЕдиницыИзмеренияТребуетсяВзвешивание.Доступность = ДоступноПеременноеКоличество И ДоступноТребуетВзвешивания;
Элементы.ВариантЕдиницыИзмеренияТребуетсяВзвешивание.Видимость = (ДоступноТребуетВзвешивания Или ЭтоТребуетВзвешивания);
Элементы.ВариантЕдиницыИзмеренияТребуетсяВзвешивание.Доступность = ДоступноТребуетВзвешивания;
Элементы.ВариантЕдиницыИзмеренияЧастьУпаковки.Видимость = (ПоддерживаетсяЧастичноеВыбытие И ЭтоЧастьПотребительскойУпаковки);
Элементы.ПолеКоличествоЧастичноеВыбытие.Видимость = (ПоддерживаетсяЧастичноеВыбытие И ЭтоЧастьПотребительскойУпаковки);
Элементы.ПолеКоличествоЧастичноеВыбытие.Доступность = Ложь;
@@ -18,6 +18,7 @@
<CommandSet>
<ExcludedCommand>ReportSettings</ExcludedCommand>
</CommandSet>
<WindowViewMode xsi:type="lf:FormWindowViewMode">InDialogWindow</WindowViewMode>
<ShowCommandBar>true</ShowCommandBar>
<ReportResult>ОтчетТабличныйДокумент</ReportResult>
<DetailsData>ОтчетДанныеРасшифровки</DetailsData>
@@ -32,41 +32,15 @@
<Representation>PictureAndText</Representation>
<ExtendedTooltip name="ФормаГруппаПечатьРасширеннаяПодсказка" id="60"/>
<ChildItems>
<Button name="ФормаКассоваяСсылкаА5Широкий" id="67">
<Button name="ФормаКассоваяСсылкаА5Горизонтальный" id="103">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.КассоваяСсылкаА5Широкий</CommandName>
<LocationInCommandBar>InCommandBar</LocationInCommandBar>
<ExtendedTooltip name="ФормаКассоваяСсылкаА5ШирокийРасширеннаяПодсказка" id="68"/>
<CommandName>Form.Command.КассоваяСсылкаА5Горизонтальный</CommandName>
<ExtendedTooltip name="ФормаКассоваяСсылкаА5ГоризонтальныйРасширеннаяПодсказка" id="104"/>
</Button>
<Button name="ФормаКассоваяСсылкаА5ТолькоЛого" id="61">
<Button name="ФормаКассоваяСсылкаА5Вертикальный" id="101">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.КассоваяСсылкаА5ТолькоЛого</CommandName>
<LocationInCommandBar>InCommandBar</LocationInCommandBar>
<ExtendedTooltip name="ФормаКассоваяСсылкаА5ТолькоЛогоРасширеннаяПодсказка" id="62"/>
</Button>
<Button name="ФормаКассоваяСсылкаА5Узкий" id="63">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.КассоваяСсылкаА5Узкий</CommandName>
<LocationInCommandBar>InCommandBar</LocationInCommandBar>
<ExtendedTooltip name="ФормаКассоваяСсылкаА5УзкийРасширеннаяПодсказка" id="64"/>
</Button>
<Button name="ФормаКассоваяСсылкаА5УзкийГоризонтальный" id="65">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.КассоваяСсылкаА5УзкийГоризонтальный</CommandName>
<LocationInCommandBar>InCommandBar</LocationInCommandBar>
<ExtendedTooltip name="ФормаКассоваяСсылкаА5УзкийГоризонтальныйРасширеннаяПодсказка" id="66"/>
</Button>
<Button name="ФормаКассоваяСсылкаА6Квадратный" id="71">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.КассоваяСсылкаА6Квадратный</CommandName>
<LocationInCommandBar>InCommandBar</LocationInCommandBar>
<ExtendedTooltip name="ФормаКассоваяСсылкаА6КвадратныйРасширеннаяПодсказка" id="72"/>
</Button>
<Button name="ФормаКассоваяСсылкаА6Круглый" id="69">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.КассоваяСсылкаА6Круглый</CommandName>
<LocationInCommandBar>InCommandBar</LocationInCommandBar>
<ExtendedTooltip name="ФормаКассоваяСсылкаА6КруглыйРасширеннаяПодсказка" id="70"/>
<CommandName>Form.Command.КассоваяСсылкаА5Вертикальный</CommandName>
<ExtendedTooltip name="ФормаКассоваяСсылкаА5ВертикальныйРасширеннаяПодсказка" id="102"/>
</Button>
</ChildItems>
</Popup>
@@ -532,96 +506,6 @@
<Action>Подключить</Action>
<Representation>Text</Representation>
</Command>
<Command name="КассоваяСсылкаА5Широкий" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А5 широкий)</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А5 широкий)</v8:content>
</v8:item>
</ToolTip>
<Action>ПечатьQRКода</Action>
</Command>
<Command name="КассоваяСсылкаА5ТолькоЛого" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А5 только логотипы)</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А5 только логотипы)</v8:content>
</v8:item>
</ToolTip>
<Action>ПечатьQRКода</Action>
</Command>
<Command name="КассоваяСсылкаА5Узкий" id="6">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А5 узкий)</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А5 узкий)</v8:content>
</v8:item>
</ToolTip>
<Action>ПечатьQRКода</Action>
</Command>
<Command name="КассоваяСсылкаА5УзкийГоризонтальный" id="7">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А5 узкий горизонтальный)</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А5 узкий горизонтальный)</v8:content>
</v8:item>
</ToolTip>
<Action>ПечатьQRКода</Action>
</Command>
<Command name="КассоваяСсылкаА6Квадратный" id="8">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А6 квадратный)</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А6 квадратный)</v8:content>
</v8:item>
</ToolTip>
<Action>ПечатьQRКода</Action>
</Command>
<Command name="КассоваяСсылкаА6Круглый" id="9">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А6 круглый)</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А6 круглый)</v8:content>
</v8:item>
</ToolTip>
<Action>ПечатьQRКода</Action>
</Command>
<Command name="УдалитьКассовыйQRКод" id="10">
<Title>
<v8:item>
@@ -642,6 +526,36 @@
<Action>УдалитьКассовыйQRКод</Action>
<Representation>TextPicture</Representation>
</Command>
<Command name="КассоваяСсылкаА5Вертикальный" id="11">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А5 вертикальный)</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А5 вертикальный)</v8:content>
</v8:item>
</ToolTip>
<Action>ПечатьQRКода</Action>
</Command>
<Command name="КассоваяСсылкаА5Горизонтальный" id="12">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А5 горизонтальный)</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Кассовый QR-код (А5 горизонтальный) </v8:content>
</v8:item>
</ToolTip>
<Action>ПечатьQRКода</Action>
</Command>
</Commands>
<Parameters>
<Parameter name="КассаККМ">
@@ -354,7 +354,7 @@
СформироватьКассовыеСсылкиЗавершение(Отказ, ОписаниеОшибки);
Если Не Отказ Тогда
ОбработатьВыполненияКоманды("КассоваяСсылкаА5Широкий");
ОбработатьВыполненияКоманды("КассоваяСсылкаА5Горизонтальный");
КонецЕсли;
Иначе
@@ -384,22 +384,18 @@
КассовыеСсылки = НастройкиКассовыхСсылокСБП.КассовыеСсылки;
НастройкиСпособаОплаты = КассовыеСсылки.СпособыОплаты.Получить(СпособОплатыКассовойСсылкиСБП);
СписокПечатныхФорм = Новый СписокЗначений;
СписокПечатныхФорм.Добавить("КассоваяСсылкаА5Широкий", НСтр("ru = 'Кассовая ссылка (А5 широкий)'"));
СписокПечатныхФорм.Добавить("КассоваяСсылкаА5ТолькоЛого", НСтр("ru = 'Кассовая ссылка (А5 только логотипы)'"));
СписокПечатныхФорм.Добавить("КассоваяСсылкаА5Узкий", НСтр("ru = 'Кассовая ссылка (А5 узкий)'"));
СписокПечатныхФорм.Добавить("КассоваяСсылкаА5УзкийГоризонтальный",
НСтр("ru = 'Кассовая ссылка (А5 узкий горизонтальный)'"));
СписокПечатныхФорм.Добавить("КассоваяСсылкаА6Квадратный", НСтр("ru = 'Кассовая ссылка (А6 квадратный)'"));
СписокПечатныхФорм.Добавить("КассоваяСсылкаА6Круглый", НСтр("ru = 'Кассовая ссылка (А6 круглый)'"));
Если ВидДействия = "КассоваяСсылкаА5Горизонтальный" Тогда
НазваниеПечатнойФормы = НСтр("ru = 'Кассовая ссылка (А5 горизонтальный)'");
ТипПечати = 7;
ИначеЕсли ВидДействия = "КассоваяСсылкаА5Вертикальный" Тогда
НазваниеПечатнойФормы = НСтр("ru = 'Кассовая ссылка (А5 вертикальный)'");
ТипПечати = 8;
Иначе
Возврат;
КонецЕсли;
ТипПечати = СписокПечатныхФорм.Индекс(СписокПечатныхФорм.НайтиПоЗначению(ВидДействия)) + 1;
ИдентификаторПечатнойФормы = ВидДействия;
НазваниеПечатнойФормы = СписокПечатныхФорм.НайтиПоЗначению(ВидДействия).Представление;
МакетКарточкиКассовойСсылки = СформироватьКарточкуКассовойСсылки(НастройкиСпособаОплаты, ТипПечати);
ИдентификаторПечатнойФормы = ВидДействия;
МакетКарточкиКассовойСсылки = СформироватьКарточкуКассовойСсылки(НастройкиСпособаОплаты, ТипПечати);
КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм(ИдентификаторПечатнойФормы);
ПечатнаяФорма = УправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, ИдентификаторПечатнойФормы);
@@ -512,7 +508,7 @@
ЗаписатьДанныеКассовойСсылки(РеквизитыКассы.КассаККМ, КассовыеСсылки, ПлатежнаяСистема);
НастроитьФорму(ЭтотОбъект);
ОбработатьВыполненияКоманды("КассоваяСсылкаА5Широкий");
ОбработатьВыполненияКоманды("КассоваяСсылкаА5Горизонтальный");
КонецПроцедуры
@@ -641,6 +641,15 @@
ИЛИ МетаданныеДокумента.Имя = "СчетФактураПолученный" Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Сумма", "Т.СуммаДокумента + Т.СуммаНДСДокумента");
// +УОП
ИначеЕсли МетаданныеДокумента.Имя = "СписаниеЗапасов" Тогда
Если УОП_ОтраслевыеРешения.ОтображатьСебестоимостьСНДС() Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Сумма", "Т.УОП_Себестоимость");
Иначе
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Сумма", "Т.УОП_СебестоимостьБезНДС");
КонецЕсли;
// -УОП
ИначеЕсли МетаданныеДокумента.Реквизиты.Найти("СуммаДокумента") <> Неопределено Тогда
@@ -50,6 +50,649 @@
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
<ChildItems>
<UsualGroup name="ГруппаПоложениеПанелиДетали" id="549">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы "Детали"</v8:content>
</v8:item>
</Title>
<ToolTipRepresentation>Button</ToolTipRepresentation>
<Group>Vertical</Group>
<VerticalSpacing>OneAndHalf</VerticalSpacing>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаПоложениеПанелиДеталиРасширеннаяПодсказка" id="550">
<Title formatted="true">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>При расположении "в правой панели" в таблице выводятся только основные колонки таблицы - номенклатура и количество. При расположении "под списком", в таблице выводится больше колонок таблицы документа, а на странице "Детали" правой панели отображаются итоги и основные данные документа. Настроить расположение для всех списков документов можно в
&lt;link ПерсональныеНастройкиПоложениеТаблицы&gt;персональных настройках&lt;/&gt;.</v8:content>
</v8:item>
</Title>
<Events>
<Event name="URLProcessing">ГруппаПоложениеПанелиДеталиРасширеннаяПодсказкаОбработкаНавигационнойСсылки</Event>
</Events>
</ExtendedTooltip>
<ChildItems>
<RadioButtonField name="ПоложениеТаблицыДеталиВЗаказахПокупателей" id="551">
<DataPath>ПоложениеТаблицыДеталиВЗаказахПокупателей</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы Детали</v8:content>
</v8:item>
</Title>
<TitleLocation>Top</TitleLocation>
<TitleHeight>1</TitleHeight>
<RadioButtonType>Auto</RadioButtonType>
<ItemTitleHeight>1</ItemTitleHeight>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В правой панели</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ВПравойПанели</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под списком</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ПодСписком</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПоложениеТаблицыДеталиВЗаказахПокупателейКонтекстноеМеню" id="552"/>
<ExtendedTooltip name="ПоложениеТаблицыДеталиВЗаказахПокупателейРасширеннаяПодсказка" id="553"/>
</RadioButtonField>
<RadioButtonField name="ПоложениеТаблицыДеталиВСчетахНаОплатуПолученных" id="594">
<DataPath>ПоложениеТаблицыДеталиВСчетахНаОплатуПолученных</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы Детали</v8:content>
</v8:item>
</Title>
<TitleLocation>Top</TitleLocation>
<TitleHeight>1</TitleHeight>
<RadioButtonType>Auto</RadioButtonType>
<ItemTitleHeight>1</ItemTitleHeight>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В правой панели</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ВПравойПанели</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под списком</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ПодСписком</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПоложениеТаблицыДеталиВСчетахНаОплатуПолученныхКонтекстноеМеню" id="595"/>
<ExtendedTooltip name="ПоложениеТаблицыДеталиВСчетахНаОплатуПолученныхРасширеннаяПодсказка" id="596"/>
</RadioButtonField>
<RadioButtonField name="ПоложениеТаблицыДеталиВСчетахНаОплату" id="573">
<DataPath>ПоложениеТаблицыДеталиВСчетахНаОплату</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы Детали</v8:content>
</v8:item>
</Title>
<TitleLocation>Top</TitleLocation>
<TitleHeight>1</TitleHeight>
<RadioButtonType>Auto</RadioButtonType>
<ItemTitleHeight>1</ItemTitleHeight>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В правой панели</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ВПравойПанели</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под списком</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ПодСписком</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПоложениеТаблицыДеталиВСчетахНаОплатуКонтекстноеМеню" id="574"/>
<ExtendedTooltip name="ПоложениеТаблицыДеталиВСчетахНаОплатуРасширеннаяПодсказка" id="575"/>
</RadioButtonField>
<RadioButtonField name="ПоложениеТаблицыДеталиВДополнительныхРасходах" id="585">
<DataPath>ПоложениеТаблицыДеталиВДополнительныхРасходах</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы Детали</v8:content>
</v8:item>
</Title>
<TitleLocation>Top</TitleLocation>
<TitleHeight>1</TitleHeight>
<RadioButtonType>Auto</RadioButtonType>
<ItemTitleHeight>1</ItemTitleHeight>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В правой панели</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ВПравойПанели</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под списком</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ПодСписком</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПоложениеТаблицыДеталиВДополнительныхРасходахКонтекстноеМеню" id="586"/>
<ExtendedTooltip name="ПоложениеТаблицыДеталиВДополнительныхРасходахРасширеннаяПодсказка" id="587"/>
</RadioButtonField>
<RadioButtonField name="ПоложениеТаблицыДеталиВПриходныхНакладных" id="579">
<DataPath>ПоложениеТаблицыДеталиВПриходныхНакладных</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы Детали</v8:content>
</v8:item>
</Title>
<TitleLocation>Top</TitleLocation>
<TitleHeight>1</TitleHeight>
<RadioButtonType>Auto</RadioButtonType>
<ItemTitleHeight>1</ItemTitleHeight>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В правой панели</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ВПравойПанели</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под списком</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ПодСписком</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПоложениеТаблицыДеталиВПриходныхНакладныхКонтекстноеМеню" id="580"/>
<ExtendedTooltip name="ПоложениеТаблицыДеталиВПриходныхНакладныхРасширеннаяПодсказка" id="581"/>
</RadioButtonField>
<RadioButtonField name="ПоложениеТаблицыДеталиВРасходныхНакладных" id="576">
<DataPath>ПоложениеТаблицыДеталиВРасходныхНакладных</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы Детали</v8:content>
</v8:item>
</Title>
<TitleLocation>Top</TitleLocation>
<TitleHeight>1</TitleHeight>
<RadioButtonType>Auto</RadioButtonType>
<ItemTitleHeight>1</ItemTitleHeight>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В правой панели</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ВПравойПанели</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под списком</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ПодСписком</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПоложениеТаблицыДеталиВРасходныхНакладныхКонтекстноеМеню" id="577"/>
<ExtendedTooltip name="ПоложениеТаблицыДеталиВРасходныхНакладныхРасширеннаяПодсказка" id="578"/>
</RadioButtonField>
<RadioButtonField name="ПоложениеТаблицыДеталиВЗаказахПоставщикам" id="582">
<DataPath>ПоложениеТаблицыДеталиВЗаказахПоставщикам</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы Детали</v8:content>
</v8:item>
</Title>
<TitleLocation>Top</TitleLocation>
<TitleHeight>1</TitleHeight>
<RadioButtonType>Auto</RadioButtonType>
<ItemTitleHeight>1</ItemTitleHeight>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В правой панели</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ВПравойПанели</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под списком</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ПодСписком</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПоложениеТаблицыДеталиВЗаказахПоставщикамКонтекстноеМеню" id="583"/>
<ExtendedTooltip name="ПоложениеТаблицыДеталиВЗаказахПоставщикамРасширеннаяПодсказка" id="584"/>
</RadioButtonField>
<RadioButtonField name="ПоложениеТаблицыДеталиВИнвентаризацияхЗапасов" id="588">
<DataPath>ПоложениеТаблицыДеталиВИнвентаризацияхЗапасов</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы Детали</v8:content>
</v8:item>
</Title>
<TitleLocation>Top</TitleLocation>
<TitleHeight>1</TitleHeight>
<RadioButtonType>Auto</RadioButtonType>
<ItemTitleHeight>1</ItemTitleHeight>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В правой панели</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ВПравойПанели</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под списком</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ПодСписком</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПоложениеТаблицыДеталиВИнвентаризацияхЗапасовКонтекстноеМеню" id="589"/>
<ExtendedTooltip name="ПоложениеТаблицыДеталиВИнвентаризацияхЗапасовРасширеннаяПодсказка" id="590"/>
</RadioButtonField>
<RadioButtonField name="ПоложениеТаблицыДеталиВУстановкахЦенНоменклатуры" id="597">
<DataPath>ПоложениеТаблицыДеталиВУстановкахЦенНоменклатуры</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы Детали</v8:content>
</v8:item>
</Title>
<TitleLocation>Top</TitleLocation>
<TitleHeight>1</TitleHeight>
<RadioButtonType>Auto</RadioButtonType>
<ItemTitleHeight>1</ItemTitleHeight>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В правой панели</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ВПравойПанели</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под списком</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ПодСписком</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПоложениеТаблицыДеталиВУстановкахЦенНоменклатурыКонтекстноеМеню" id="598"/>
<ExtendedTooltip name="ПоложениеТаблицыДеталиВУстановкахЦенНоменклатурыРасширеннаяПодсказка" id="599"/>
</RadioButtonField>
<RadioButtonField name="ПоложениеТаблицыДеталиВРасходахПриИмпорте" id="603">
<DataPath>ПоложениеТаблицыДеталиВРасходахПриИмпорте</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы Детали</v8:content>
</v8:item>
</Title>
<TitleLocation>Top</TitleLocation>
<TitleHeight>1</TitleHeight>
<RadioButtonType>Auto</RadioButtonType>
<ItemTitleHeight>1</ItemTitleHeight>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В правой панели</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ВПравойПанели</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под списком</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ПодСписком</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПоложениеТаблицыДеталиВРасходахПриИмпортеКонтекстноеМеню" id="604"/>
<ExtendedTooltip name="ПоложениеТаблицыДеталиВРасходахПриИмпортеРасширеннаяПодсказка" id="605"/>
</RadioButtonField>
<RadioButtonField name="ПоложениеТаблицыДеталиВАктахОРасхождениях" id="600">
<DataPath>ПоложениеТаблицыДеталиВАктахОРасхождениях</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы Детали</v8:content>
</v8:item>
</Title>
<TitleLocation>Top</TitleLocation>
<TitleHeight>1</TitleHeight>
<RadioButtonType>Auto</RadioButtonType>
<ItemTitleHeight>1</ItemTitleHeight>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В правой панели</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ВПравойПанели</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под списком</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ПодСписком</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПоложениеТаблицыДеталиВАктахОРасхожденияхКонтекстноеМеню" id="601"/>
<ExtendedTooltip name="ПоложениеТаблицыДеталиВАктахОРасхожденияхРасширеннаяПодсказка" id="602"/>
</RadioButtonField>
<RadioButtonField name="ПоложениеТаблицыДеталиВКорректировкахРеализаций" id="609">
<DataPath>ПоложениеТаблицыДеталиВКорректировкахРеализаций</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы Детали</v8:content>
</v8:item>
</Title>
<TitleLocation>Top</TitleLocation>
<TitleHeight>1</TitleHeight>
<RadioButtonType>Auto</RadioButtonType>
<ItemTitleHeight>1</ItemTitleHeight>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В правой панели</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ВПравойПанели</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под списком</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ПодСписком</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПоложениеТаблицыДеталиВКорректировкахРеализацийКонтекстноеМеню" id="610"/>
<ExtendedTooltip name="ПоложениеТаблицыДеталиВКорректировкахРеализацийРасширеннаяПодсказка" id="611"/>
</RadioButtonField>
<RadioButtonField name="ПоложениеТаблицыДеталиВКорректировкахПоступлений" id="606">
<DataPath>ПоложениеТаблицыДеталиВКорректировкахПоступлений</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы Детали</v8:content>
</v8:item>
</Title>
<TitleLocation>Top</TitleLocation>
<TitleHeight>1</TitleHeight>
<RadioButtonType>Auto</RadioButtonType>
<ItemTitleHeight>1</ItemTitleHeight>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В правой панели</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ВПравойПанели</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под списком</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ПодСписком</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПоложениеТаблицыДеталиВКорректировкахПоступленийКонтекстноеМеню" id="607"/>
<ExtendedTooltip name="ПоложениеТаблицыДеталиВКорректировкахПоступленийРасширеннаяПодсказка" id="608"/>
</RadioButtonField>
<RadioButtonField name="ПоложениеТаблицыДеталиВЗаказНарядах" id="570">
<DataPath>ПоложениеТаблицыДеталиВЗаказНарядах</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы Детали</v8:content>
</v8:item>
</Title>
<TitleLocation>Top</TitleLocation>
<TitleHeight>1</TitleHeight>
<RadioButtonType>Auto</RadioButtonType>
<ItemTitleHeight>1</ItemTitleHeight>
<ColumnsCount>1</ColumnsCount>
<ChoiceList>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В правой панели</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ВПравойПанели</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под списком</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xr:DesignTimeRef">Enum.ПоложениеТаблицыДетали.EnumValue.ПодСписком</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ПоложениеТаблицыДеталиВЗаказНарядахКонтекстноеМеню" id="571"/>
<ExtendedTooltip name="ПоложениеТаблицыДеталиВЗаказНарядахРасширеннаяПодсказка" id="572"/>
</RadioButtonField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаПоложениеВДокументах" id="544">
<Title>
<v8:item>
@@ -3756,6 +4399,171 @@
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ПоложениеТаблицыДеталиВЗаказахПокупателей" id="113">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы детали в заказах покупателей</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
</Attribute>
<Attribute name="УстановитьПоложениеТаблицыДеталиДляВсехДокументов" id="115">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Установить положение таблицы для всех документов</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ПоложениеТаблицыДеталиВЗаказНарядах" id="116">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы детали в заказ-нарядах</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
</Attribute>
<Attribute name="ПоложениеТаблицыДеталиВСчетахНаОплату" id="117">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы детали в счетах на оплату</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
</Attribute>
<Attribute name="ПоложениеТаблицыДеталиВРасходныхНакладных" id="118">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы детали в расходных накладных</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
</Attribute>
<Attribute name="ПоложениеТаблицыДеталиВПриходныхНакладных" id="119">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы детали в приходных накладных</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
</Attribute>
<Attribute name="ПоложениеТаблицыДеталиВЗаказахПоставщикам" id="120">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы детали в заказах поставщикам</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
</Attribute>
<Attribute name="ПоложениеТаблицыДеталиВДополнительныхРасходах" id="121">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы детали в дополнительных расходах</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
</Attribute>
<Attribute name="ПоложениеТаблицыДеталиВИнвентаризацияхЗапасов" id="122">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы детали в счетах на оплату</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
</Attribute>
<Attribute name="ПоложениеТаблицыДеталиВСчетахНаОплатуПолученных" id="123">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы детали в счетах на оплату полученных</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
</Attribute>
<Attribute name="ПоложениеТаблицыДеталиВУстановкахЦенНоменклатуры" id="124">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы детали в установках цен номенклатуры</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
</Attribute>
<Attribute name="ПоложениеТаблицыДеталиВАктахОРасхождениях" id="125">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы детали в актах о расхождениях</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
</Attribute>
<Attribute name="ПоложениеТаблицыДеталиВРасходахПриИмпорте" id="126">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы детали в расходах при импорте</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
</Attribute>
<Attribute name="ПоложениеТаблицыДеталиВКорректировкахПоступлений" id="127">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы детали в корректировках поступлений</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
</Attribute>
<Attribute name="ПоложениеТаблицыДеталиВКорректировкахРеализаций" id="128">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Положение таблицы детали в корректировках реализаций</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:EnumRef.ПоложениеТаблицыДетали</v8:Type>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="ОК" id="1">
@@ -290,6 +290,18 @@
КонецПроцедуры
&НаКлиенте
Процедура ГруппаПоложениеПанелиДеталиРасширеннаяПодсказкаОбработкаНавигационнойСсылки(Элемент,
НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("СтрокаПоиска", НСтр("ru = 'Положение таблицы'"));
ОткрытьФорму("Обработка.ПерсональныеНастройки.Форма.ФормаНастройкиПользователя", СтруктураПараметров);
ИзмененыПерсональныеНастройки = Истина;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@@ -442,7 +454,7 @@
КонецЕсли;
Возврат Результат
Возврат Результат;
КонецФункции
@@ -571,6 +583,21 @@
Результат.Добавить("УОП_ПроверятьРасхожденияСоСрокомГодности");
// -УОП
Результат.Добавить("ПоложениеТаблицыДеталиВЗаказахПокупателей");
Результат.Добавить("ПоложениеТаблицыДеталиВЗаказНарядах");
Результат.Добавить("ПоложениеТаблицыДеталиВСчетахНаОплату");
Результат.Добавить("ПоложениеТаблицыДеталиВСчетахНаОплатуПолученных");
Результат.Добавить("ПоложениеТаблицыДеталиВРасходныхНакладных");
Результат.Добавить("ПоложениеТаблицыДеталиВПриходныхНакладных");
Результат.Добавить("ПоложениеТаблицыДеталиВЗаказахПоставщикам");
Результат.Добавить("ПоложениеТаблицыДеталиВДополнительныхРасходах");
Результат.Добавить("ПоложениеТаблицыДеталиВИнвентаризацияхЗапасов");
Результат.Добавить("ПоложениеТаблицыДеталиВУстановкахЦенНоменклатуры");
Результат.Добавить("ПоложениеТаблицыДеталиВАктахОРасхождениях");
Результат.Добавить("ПоложениеТаблицыДеталиВРасходахПриИмпорте");
Результат.Добавить("ПоложениеТаблицыДеталиВКорректировкахПоступлений");
Результат.Добавить("ПоложениеТаблицыДеталиВКорректировкахРеализаций");
Возврат Результат;
КонецФункции
@@ -1307,7 +1307,7 @@
ПараметрыВыполнения.ИспользоватьТокеныДоступа = Истина;
ПараметрыВыполнения.РасшифрованныеМаркеры = КриптографияБЭДКлиентСервер.НовыйНаборРасшифрованныхДанных();
РезультатДействийЭДО = ЭлектронныеДокументыЭДОСлужебный.ВыполнитьДействияЭДО(ПараметрыВыполнения);
РезультатДействийЭДО = ВыполнитьДействияДляПолученияПоЭДО(ПараметрыВыполнения);
ЗаполнитьРезультатПолученияПоИдентификаторуЭДО(Результат, ИдентификаторЭДО, ДатаНачала, РезультатДействийЭДО);
@@ -1365,7 +1365,7 @@
ИдентификаторЭДО, ПриниматьПриглашенияЭДОАвтоматически);
ПараметрыВыполнения.РасшифрованныеМаркеры = РасшифрованныеМаркеры;
Возврат ЭлектронныеДокументыЭДОСлужебный.ВыполнитьДействияЭДО(ПараметрыВыполнения);
Возврат ВыполнитьДействияДляПолученияПоЭДО(ПараметрыВыполнения);
КонецФункции
@@ -1517,6 +1517,50 @@
КонецФункции
// Параметры:
// ПараметрыВыполнения - см. ПараметрыВыполненияДействийДляПолученияПоЭДО
//
// Возвращаемое значение:
// См. ЭлектронныеДокументыЭДОСлужебный.НовыйРезультатДействийПоЭДО
Функция ВыполнитьДействияДляПолученияПоЭДО(ПараметрыВыполнения)
РезультатДействийЭДО = ЭлектронныеДокументыЭДОСлужебный.ВыполнитьДействияЭДО(ПараметрыВыполнения);
ОтправитьИзвещенияПоПолученнымДокументамЭДО(ПараметрыВыполнения, РезультатДействийЭДО);
Возврат РезультатДействийЭДО
КонецФункции
// Параметры:
// ПараметрыВыполненияПоДокументамЭДО - см. ПараметрыВыполненияДействийДляПолученияПоЭДО
// РезультатДействийПоДокументамЭДО - см. ЭлектронныеДокументыЭДОСлужебный.НовыйРезультатДействийПоЭДО
Процедура ОтправитьИзвещенияПоПолученнымДокументамЭДО(ПараметрыВыполненияПоДокументамЭДО, РезультатДействийПоДокументамЭДО)
ДокументыДляОбработкиИзвещений = РезультатДействийПоДокументамЭДО.ДокументыДляОбработкиИзвещений;
Если Не ЗначениеЗаполнено(ДокументыДляОбработкиИзвещений) Тогда
Возврат;
КонецЕсли;
ПараметрыВыполнения = ЭлектронныеДокументыЭДОКлиентСервер.НовыеПараметрыВыполненияДействийПоЭДО();
ПараметрыВыполнения.ОбъектыДействий.ЭлектронныеДокументы = ОбщегоНазначения.ВыгрузитьКолонку(
ДокументыДляОбработкиИзвещений, "Ключ");
ПараметрыВыполнения.ОтпечаткиСертификатов = ПараметрыВыполненияПоДокументамЭДО.ОтпечаткиСертификатов;
ПараметрыВыполнения.РасшифрованныеМаркеры = ПараметрыВыполненияПоДокументамЭДО.РасшифрованныеМаркеры;
ПараметрыВыполнения.ИспользоватьТокеныДоступа = ПараметрыВыполненияПоДокументамЭДО.ИспользоватьТокеныДоступа;
ПараметрыВыполнения.ОбработатьТолькоИзвещения = Истина;
ЭлектронныеДокументыЭДОКлиентСервер.ДобавитьДействие(ПараметрыВыполнения.НаборДействий,
Перечисления.ДействияПоЭДО.Подписать);
ЭлектронныеДокументыЭДОКлиентСервер.ДобавитьДействие(ПараметрыВыполнения.НаборДействий,
Перечисления.ДействияПоЭДО.ПодготовитьКОтправке);
ЭлектронныеДокументыЭДОКлиентСервер.ДобавитьДействие(ПараметрыВыполнения.НаборДействий,
Перечисления.ДействияПоЭДО.Отправить);
ЭлектронныеДокументыЭДОСлужебный.ВыполнитьДействияЭДО(ПараметрыВыполнения);
КонецПроцедуры
// Параметры:
// Результат - см. НовыйРезультатВариантаПолучения
// ИдентификаторЭДО - Строка
@@ -852,6 +852,10 @@
ЗакрытьЗапись = Истина;
ИначеЕсли ПараметрыВыгрузки.ЗаписаноЭлементовПослеПроверкиРазмераФайла >= ПараметрыВыгрузки.КоличествоЭлементовПроверкиРазмераФайла Тогда
Если ОбменДаннымиСлужебный.ПутьКФайлуСодержитНедопустимыеСимволы(ПараметрыВыгрузки.ИмяФайлаДанных) Тогда
ВызватьИсключение НСтр("ru = 'Недопустимое имя файла.'");
КонецЕсли;
ФайлДанных = Новый Файл(ПараметрыВыгрузки.ИмяФайлаДанных);
Если ФайлДанных.Существует() И ФайлДанных.Размер() >= ПараметрыВыгрузки.МаксимальныйРазмерФайла Тогда
ЗакрытьЗапись = Истина;

Some files were not shown because too many files have changed in this diff Show More