This commit is contained in:
parent 1e8092ac16
commit e4ca93623a
25 changed files with 2381 additions and 0 deletions

BIN
HTTPServices.cfe Normal file

Binary file not shown.

View File

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<AccumulationRegister uuid="dd5dc661-1b50-4db9-9fbd-786afabccbd2">
<InternalInfo>
<xr:GeneratedType name="AccumulationRegisterRecord.ОплатаСчетовПокупателями" category="Record">
<xr:TypeId>6c72f4be-3f13-45cb-94c8-5bfd2fc185c0</xr:TypeId>
<xr:ValueId>8c91e54e-dad6-4957-b03f-de41960d6ef8</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="AccumulationRegisterManager.ОплатаСчетовПокупателями" category="Manager">
<xr:TypeId>f5ce07e9-5f3f-404d-9eca-f255459af970</xr:TypeId>
<xr:ValueId>925c2f30-26f9-4155-a875-70467e093c4b</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="AccumulationRegisterSelection.ОплатаСчетовПокупателями" category="Selection">
<xr:TypeId>bdfd0f16-4493-4e55-b327-a8ed368c387e</xr:TypeId>
<xr:ValueId>1263aace-04c6-4aa4-9336-c8047bb3d972</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="AccumulationRegisterList.ОплатаСчетовПокупателями" category="List">
<xr:TypeId>a3f934fe-6f5f-4190-a22d-7ff79e952ed0</xr:TypeId>
<xr:ValueId>1e8d85f4-7778-4ac9-b5e6-ee1dd3aaad47</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="AccumulationRegisterRecordSet.ОплатаСчетовПокупателями" category="RecordSet">
<xr:TypeId>96a081b5-d915-4c71-af41-fd9c616eb857</xr:TypeId>
<xr:ValueId>d5cee097-854c-43ec-bd0b-1883f39e20ff</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="AccumulationRegisterRecordKey.ОплатаСчетовПокупателями" category="RecordKey">
<xr:TypeId>99eb7dea-f6e2-4a95-8456-89ff375ecb99</xr:TypeId>
<xr:ValueId>e5d0b6b6-54b9-470b-805d-aeb15ed31ad7</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ОплатаСчетовПокупателями</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>8e90ac11-805d-438c-b32a-facebade49b7</ExtendedConfigurationObject>
<RegisterType>Turnovers</RegisterType>
</Properties>
<ChildObjects>
<Resource uuid="951ca4cc-beef-49c4-8cb9-30937e38b791">
<InternalInfo/>
<Properties>
<Name>Сумма</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>13d2dd1d-c68f-4c24-9be4-f865d15c01d7</ExtendedConfigurationObject>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>15</v8:Digits>
<v8:FractionDigits>2</v8:FractionDigits>
<v8:AllowedSign>Nonnegative</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
</Properties>
</Resource>
<Attribute uuid="dac8a559-50f1-4fbb-838b-4454cd6d4a8a">
<InternalInfo/>
<Properties>
<Name>Заявка</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>00ef2eb1-460a-4797-895b-86e096fa1bc3</ExtendedConfigurationObject>
<Type>
<v8:Type>cfg:DocumentRef.Заявка</v8:Type>
</Type>
</Properties>
</Attribute>
<Dimension uuid="ad15d28e-9ff9-4385-bb56-097fa08c965a">
<InternalInfo/>
<Properties>
<Name>Счет</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>7588f7db-3fe5-4ae7-8096-856b4cff78ee</ExtendedConfigurationObject>
<Type>
<v8:Type>cfg:DocumentRef.СчетНаОплатуПокупателю</v8:Type>
</Type>
</Properties>
</Dimension>
<Dimension uuid="7e5fd6a2-10cb-4838-b44c-a2a0ae347dbd">
<InternalInfo/>
<Properties>
<Name>Контрагент</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>e8194c0b-3910-432e-a22e-ea01cbd572b4</ExtendedConfigurationObject>
<Type>
<v8:Type>cfg:CatalogRef.Контрагенты</v8:Type>
</Type>
</Properties>
</Dimension>
<Dimension uuid="05042d8a-975a-4b3f-9f2d-846c4085ac22">
<InternalInfo/>
<Properties>
<Name>Договор</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>789600ae-6177-445e-a532-a8c442ef715d</ExtendedConfigurationObject>
<Type>
<v8:Type>cfg:CatalogRef.ДоговорыКонтрагентов</v8:Type>
</Type>
</Properties>
</Dimension>
</ChildObjects>
</AccumulationRegister>
</MetaDataObject>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<Catalog uuid="056274a5-1cbb-45e1-9d8a-89fc8bc75111">
<InternalInfo>
<xr:GeneratedType name="CatalogObject.ВидыСостоянийДокументов" category="Object">
<xr:TypeId>cb361177-b21c-4ab1-a6a5-9e3c8d1fd760</xr:TypeId>
<xr:ValueId>27a16c9e-fe03-46b0-be9b-106874ad49f8</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogRef.ВидыСостоянийДокументов" category="Ref">
<xr:TypeId>0c3011a3-7912-436e-babc-d4425acd9579</xr:TypeId>
<xr:ValueId>6602194a-7535-4cef-ba7e-ef01d50eba1d</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogSelection.ВидыСостоянийДокументов" category="Selection">
<xr:TypeId>bb53fe48-9c2b-43a7-a999-a84e4ee6fc32</xr:TypeId>
<xr:ValueId>ce5ac7d3-fea0-45cb-85c1-239d33419a8a</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogList.ВидыСостоянийДокументов" category="List">
<xr:TypeId>9da09cf3-5f57-42fe-93b4-ef1c9317aeaf</xr:TypeId>
<xr:ValueId>0986cc05-6272-4d22-9f7f-57b1e56576c2</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogManager.ВидыСостоянийДокументов" category="Manager">
<xr:TypeId>3f5b7603-14c1-4c2f-9c89-95940f65405c</xr:TypeId>
<xr:ValueId>d000f8da-fbe1-4276-b359-d55c380eacf3</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ВидыСостоянийДокументов</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>2e8c8a8a-ddd2-448c-aa77-c03c0eeda546</ExtendedConfigurationObject>
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<Catalog uuid="14b39685-4d50-489e-a6f0-c36ef1fb448e">
<InternalInfo>
<xr:GeneratedType name="CatalogObject.ДоговорыКонтрагентов" category="Object">
<xr:TypeId>cf2c4510-e89b-4193-ab3f-8fd9ba5ae1ad</xr:TypeId>
<xr:ValueId>358f946d-2059-4301-ae2c-8906e6d175b7</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogRef.ДоговорыКонтрагентов" category="Ref">
<xr:TypeId>dea403b5-3ed2-4b46-8747-283b13c4b694</xr:TypeId>
<xr:ValueId>5ea939cd-3090-4a75-a5fb-d3ff5b3ebd2a</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogSelection.ДоговорыКонтрагентов" category="Selection">
<xr:TypeId>92ae3764-7183-4974-a28a-b84aae955db7</xr:TypeId>
<xr:ValueId>5f802291-9dec-4e4f-a529-71628530e9f4</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogList.ДоговорыКонтрагентов" category="List">
<xr:TypeId>2e5788f5-9e88-4a32-bab5-b3c43aecbe95</xr:TypeId>
<xr:ValueId>400f1893-6e0c-4413-a74c-1d1c7ad2af81</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogManager.ДоговорыКонтрагентов" category="Manager">
<xr:TypeId>d3231d83-a172-4eb5-8825-9e518def13d0</xr:TypeId>
<xr:ValueId>b49bf44b-74ac-4255-9989-3765ed40a7bf</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ДоговорыКонтрагентов</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>b9e5871f-258c-4beb-bed7-481bf362ae45</ExtendedConfigurationObject>
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<Catalog uuid="71c6a3ca-1a20-4f2a-8914-97112f8a7754">
<InternalInfo>
<xr:GeneratedType name="CatalogObject.КонтактныеЛица" category="Object">
<xr:TypeId>b026c9a0-f67f-47b4-9c92-8b827c5308aa</xr:TypeId>
<xr:ValueId>82fb1cc8-01fb-4f04-b306-c94e6eb1418b</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogRef.КонтактныеЛица" category="Ref">
<xr:TypeId>c888905e-3760-4e0e-99d0-f762fbaa0254</xr:TypeId>
<xr:ValueId>8b17266c-b9d8-4747-adca-f346425150b9</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogSelection.КонтактныеЛица" category="Selection">
<xr:TypeId>da2c622c-474f-49c9-9ded-8a585845df83</xr:TypeId>
<xr:ValueId>cdab6d79-f3e9-4a49-8d8c-3eb3a634d983</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogList.КонтактныеЛица" category="List">
<xr:TypeId>857dde7c-9ed2-4d97-8f88-9c64425bdc6c</xr:TypeId>
<xr:ValueId>b0787fff-0f9d-429f-99d9-e2748b2e37bd</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogManager.КонтактныеЛица" category="Manager">
<xr:TypeId>d4ab5202-fb9c-4160-bf07-16739d5ace22</xr:TypeId>
<xr:ValueId>815a8a3d-99eb-4208-8ce8-e1e41b6fcfc1</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>КонтактныеЛица</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>2281dd81-7741-48df-8ab3-c7e314f7c359</ExtendedConfigurationObject>
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>

View File

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<Catalog uuid="723cd812-ef6a-4ace-9656-fca9ec604c11">
<InternalInfo>
<xr:GeneratedType name="CatalogObject.Контрагенты" category="Object">
<xr:TypeId>ff9c73e3-d721-4d68-b87d-0213ab967f8b</xr:TypeId>
<xr:ValueId>d7380155-7ff3-4d9c-87f1-c63579a7c459</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogRef.Контрагенты" category="Ref">
<xr:TypeId>a9d72f83-9fde-46e7-8437-0b376ab0a30f</xr:TypeId>
<xr:ValueId>cefb908c-00f7-4d76-ab30-fb47e682b0b7</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogSelection.Контрагенты" category="Selection">
<xr:TypeId>54bd62fb-6758-46c2-b0e2-3b4992b02c7f</xr:TypeId>
<xr:ValueId>15678ab3-7f8a-423e-8732-6082ef2472e8</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogList.Контрагенты" category="List">
<xr:TypeId>b1a47bd2-953e-43f7-bc94-83dc42698758</xr:TypeId>
<xr:ValueId>528f9de9-4435-4cc5-954b-36a89d493eeb</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogManager.Контрагенты" category="Manager">
<xr:TypeId>cbf10534-d33c-4e9d-892b-2fc8c9e921e2</xr:TypeId>
<xr:ValueId>0eb500d1-518d-414a-9851-b585805f4d53</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>Контрагенты</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>51b9a2d4-bd53-4f40-824e-e3b4e323279e</ExtendedConfigurationObject>
</Properties>
<ChildObjects>
<Attribute uuid="75cde31b-3104-4d32-a7ec-2440ffe8188d">
<InternalInfo/>
<Properties>
<Name>НаименованиеСокращенное</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>01f8d118-20c1-4624-bf18-f79cb42b3b76</ExtendedConfigurationObject>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>160</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Properties>
</Attribute>
<Attribute uuid="c6bb64b1-44db-416e-a106-0df945168d5c">
<InternalInfo/>
<Properties>
<Name>ИНН</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>0cecf59e-c7cc-4803-a3fb-387554cb4307</ExtendedConfigurationObject>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>50</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Properties>
</Attribute>
<Attribute uuid="57de5bf6-03d7-4207-b9c8-3785c14ed433">
<InternalInfo/>
<Properties>
<Name>НаименованиеПолное</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>128e969b-e420-4894-9c2e-e10e63963d75</ExtendedConfigurationObject>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>1000</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Properties>
</Attribute>
<Attribute uuid="80e1686b-097d-4ca7-8bf6-44a18fb71443">
<InternalInfo/>
<Properties>
<Name>ЮридическоеФизическоеЛицо</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>56ba8e3c-152e-472e-978c-1c8a27110815</ExtendedConfigurationObject>
<Type>
<v8:Type>cfg:EnumRef.ЮридическоеФизическоеЛицо</v8:Type>
</Type>
</Properties>
</Attribute>
</ChildObjects>
</Catalog>
</MetaDataObject>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<CommonModule uuid="b6c28101-fd2e-4a62-a9b4-2683e0a0cfcc">
<Properties>
<Name>HS_ОбработкаМетодовHTTP</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Обработка методов HTTP</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>
<ClientManagedApplication>false</ClientManagedApplication>
<Server>true</Server>
<ExternalConnection>false</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>false</ServerCall>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>

View File

@ -0,0 +1,240 @@
#Область МетодыPost
//Функция экспортная, специально чтобы можно было отлаживать как по HTTP(https://its.1c.ru/db/metod8dev#content:5756:hdoc)
//Так и через внешнюю обработку
Функция HS_ОбработкаМетодовPOST(СтруктураВхПараметров) Экспорт
//структура ответа. Собственна нужна для формирования ответа
СтруктураОтвет = Новый Структура("ДанныеОтвета,Отработало,ТекстОшибки,КодОтвета","",Истина,"",200);
//Переправляем на нужный метод
#Область ПримерыЧасть3
//Получаем список заданий за период (БСП)
Если ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("ПолучитьСписокЗаданийЗаПериод") Тогда
HS_ОбработкаУниверсальныхМетодов.ПолучитьСписокЗаданийЗаПериод(СтруктураОтвет,СтруктураВхПараметров);
#КонецОбласти
//Получаем количество элементов
ИначеЕсли ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("ПолучитьКоличествоЭлементовВариантЗапрос") Тогда
HS_ОбработкаУниверсальныхМетодов.ПолучитьКоличествоЭлементовВариантЗапрос(СтруктураОтвет,СтруктураВхПараметров);
//Порционно получаем элементы в формате JSON
ИначеЕсли ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("ПолучитьПорциюЭлементовВариантЗапроса") Тогда
HS_ОбработкаУниверсальныхМетодов.ПолучитьПорциюЭлементовВариантЗапроса(СтруктураОтвет,СтруктураВхПараметров);
ИначеЕсли ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("StatusDoc") Тогда
HS_ОбработкаУниверсальныхМетодов.ПолучитьДанныеПоСпискуНомеровДокументов(СтруктураОтвет,СтруктураВхПараметров);
ИначеЕсли Врег(СтруктураВхПараметров.ИмяМетода) = ВРег("ListZakazFromINN") Тогда
HS_ОбработкаУниверсальныхМетодов.ПолучитьСписокЗаказовПоИННКонтрагента(СтруктураОтвет,СтруктураВхПараметров);
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,501,"Отсутствует Метод " + ?(СтруктураВхПараметров.ИмяМетода=Неопределено,"",СтруктураВхПараметров.ИмяМетода),ложь,"");
КонецЕсли;
Возврат СтруктураОтвет;
КонецФункции
#КонецОбласти
#Область МетодыGet
//Функция экспортная, специально чтобы можно было отлаживать как по HTTP(https://its.1c.ru/db/metod8dev#content:5756:hdoc)
//Так и через внешнюю обработку
Функция HS_ОбработкаМетодовGET(СтруктураВхПараметров) Экспорт
//структура ответа. Собственна нужна для формирования ответа
СтруктураОтвет = Новый Структура("ДанныеОтвета,Отработало,ТекстОшибки,КодОтвета","",Истина,"",200);
//Операцию нужно выполнить используя БСП:Базовая функциональность\Длительные операции++
#Область ПримерыЧасть3
ВФоне = СтруктураВхПараметров.ПараметрыЗапроса.Получить("BTask");
Если не ВФоне = Неопределено Тогда
ВФоне = Булево(ВФоне);
Если ВФоне = Истина Тогда
УникальныйИдентификатор = Новый УникальныйИдентификатор;
//Уникальный адрес результата
АдресРезультата = СтруктураВхПараметров.ИмяМетода+"_"+Строка(УникальныйИдентификатор);
//Подгатавливаем параметры для Длительной операции
ПараметрыЗапуска = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
ПараметрыЗапуска.НаименованиеФоновогоЗадания = "Выполнение_" + АдресРезультата;
ПараметрыЗапуска.ОжидатьЗавершение = Ложь;
ПараметрыЗапуска.КлючФоновогоЗадания = УникальныйИдентификатор;
ПараметрыЗапуска.ЗапуститьВФоне = Истина;
//Добавляем адрес в структуру
СтруктураВхПараметров.Вставить("АдресРезультата",АдресРезультата);
//Запускаем метод в фоне
РезультатФоновогоЗадания = ДлительныеОперации.ВыполнитьВФоне(
"HS_АсинхронныеОперации.ФЗ_ВыполнитьМетод_ДлительнаяОперация",
СтруктураВхПараметров,
ПараметрыЗапуска);
//Проверяем что задание запустилось
Если РезультатФоновогоЗадания.Статус = "Ошибка" Тогда
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,400,"Ошибка при формировании: "+Строка(РезультатФоновогоЗадания.КраткоеПредставлениеОшибки),Ложь,"");
Возврат СтруктураОтвет;
КонецЕсли;
ФоновоеЗаданиеИдентификатор = РезультатФоновогоЗадания.ИдентификаторЗадания;
АдресСсылки = СтруктураВхПараметров.БазовыйURL + "/V1/ФоновоеЗаданиеПроверить?" +
"Result_Key=" + АдресРезультата + "&" +
"Task_Key=" + Строка(ФоновоеЗаданиеИдентификатор);
//Формируем html ответ
СтруктураОтвет.ДанныеОтвета = "<html>
|<body>
| <b>Задание отправлено на выполнение!</b><br>
| <p>Идентификатор фонового задания = " + Строка(ФоновоеЗаданиеИдентификатор) + "<br>
| Адрес хранилища результата = " + АдресРезультата + "</p>
| <p><a href=""" + АдресСсылки + """>Ссылка на получение результата</a></p>
|</body>
|</html>";
Возврат СтруктураОтвет;
КонецЕсли;
КонецЕсли;
#КонецОбласти
//Операцию нужно выполнить используя БСП:Базовая функциональность\Длительные операции--
#Область ПримерыЧасть1
//Переправляем на нужный метод
Если ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("Список") Тогда
ПолучитьСписок(СтруктураОтвет,СтруктураВхПараметров);
ИначеЕсли ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("Документ") Тогда
ПолучитьДокумент(СтруктураОтвет,СтруктураВхПараметров);
#КонецОбласти
#Область ПримерыЧасть2
//Получаем доступные остатки по складу в формате JSON (ERP, УТ, КА)
ИначеЕсли ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("ОстаткиИДоступностьТоваровПоСкладу") Тогда
HS_ОбработкаУниверсальныхМетодов.ПолучитьОстаткиИДоступностьТоваровПоСкладу(СтруктураОтвет,СтруктураВхПараметров);
#КонецОбласти
#Область ПримерыЧасть3
//Получаем список заданий за период (БСП)
ИначеЕсли ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("ПолучитьСписокЗаданийЗаПериод") Тогда
HS_ОбработкаУниверсальныхМетодов.ПолучитьСписокЗаданийЗаПериод(СтруктураОтвет,СтруктураВхПараметров);
//Проверяем фоновое задание. Если Выполнено забираем результат
ИначеЕсли ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("ФоновоеЗаданиеПроверить") Тогда
ПроверитьФоновоеЗадание(СтруктураОтвет,СтруктураВхПараметров);
#КонецОбласти
//Получаем количество элементов
ИначеЕсли ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("ПолучитьКоличествоЭлементовВариантЗапрос") Тогда
HS_ОбработкаУниверсальныхМетодов.ПолучитьКоличествоЭлементовВариантЗапрос(СтруктураОтвет,СтруктураВхПараметров);
//Порционно получаем элементы в формате JSON
ИначеЕсли ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("ПолучитьПорциюЭлементовВариантЗапроса") Тогда
HS_ОбработкаУниверсальныхМетодов.ПолучитьПорциюЭлементовВариантЗапроса(СтруктураОтвет,СтруктураВхПараметров);
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,501,"Отсутствует Метод " + ?(СтруктураВхПараметров.ИмяМетода=Неопределено,"",СтруктураВхПараметров.ИмяМетода),Ложь,"");
КонецЕсли;
Возврат СтруктураОтвет;
КонецФункции
#Область Методы
#Область ПримерыЧасть1
Процедура ПолучитьСписок(СтруктураОтвет,СтруктураВхПараметров)
Результат = "Расходная накладная, 1, 01.01.2014
|Расходная накладная, 2, 01.01.2014";
СтруктураОтвет.ДанныеОтвета = Результат;
КонецПроцедуры
Процедура ПолучитьДокумент(СтруктураОтвет,СтруктураВхПараметров)
//ПраметрыЗапроса - number
ПарНомер = СтруктураВхПараметров.ПараметрыЗапроса.Получить("number");
Номер = Число(?(ПарНомер=Неопределено,0,ПарНомер));
Если Номер > 2 Тогда
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,400,"Отсутствует документ с номером: " + Номер,ложь,"");
Иначе
Если Номер = 1 Тогда
Результат = "Расходная накладная, 1, 01.01.2014";
Иначе
Результат = "Расходная накладная, 2, 01.01.2014";
КонецЕсли;
СтруктураОтвет.ДанныеОтвета = Результат;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ПримерыЧасть3
Процедура ПроверитьФоновоеЗадание(СтруктураОтвет,СтруктураВхПараметров)
перФоновоеЗаданиеИдентификатор = СтруктураВхПараметров.ПараметрыЗапроса.Получить("Task_Key");
АдресРезультата = СтруктураВхПараметров.ПараметрыЗапроса.Получить("Result_Key");
//Проверяем фоновое задание
Если перФоновоеЗаданиеИдентификатор = Неопределено Тогда
Задание = HS_ОбщиеПроцедурыИФункции.НайтиЗадание(Неопределено);
Иначе
//Получаем Уникальный идентификатор задания
ФоновоеЗаданиеИдентификатор = Новый УникальныйИдентификатор(перФоновоеЗаданиеИдентификатор);
Задание = HS_ОбщиеПроцедурыИФункции.НайтиЗадание(ФоновоеЗаданиеИдентификатор);
КонецЕсли;
//При отсутствии адреса результата прерываем
Если АдресРезультата = Неопределено Тогда
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,400,"Отсутствует параметр ""Result_Key""",Ложь,"");
Возврат;
КонецЕсли;
Если Не Задание.Выполняется Тогда
Попытка
НайденнаяСсылка = Справочники.HS_ХранилищеРезультатов.НайтиПоРеквизиту("АдресРезультата",АдресРезультата);
Если НайденнаяСсылка = Справочники.HS_ХранилищеРезультатов.ПустаяСсылка() Тогда
//Можно вынести в отдельную функцию
АдресСсылки = СтруктураВхПараметров.БазовыйURL + "/V1/ФоновоеЗаданиеПроверить?" +
"Result_Key=" + АдресРезультата + ?(ЗначениеЗаполнено(перФоновоеЗаданиеИдентификатор),
"&Task_Key=" + перФоновоеЗаданиеИдентификатор,"");
//Формируем html ответ
СтруктураОтвет.ДанныеОтвета = "<html>
|<body>
| <b>Задание еще выполняется, попробуйте получить результат позже!</b><br>
| <p>Идентификатор фонового задания = " + перФоновоеЗаданиеИдентификатор + "<br>
| Адрес хранилища результата = " + АдресРезультата + "</p>
|<p><a href=""" + АдресСсылки + """>Ссылка на получение результата</a></p>
|</body>
|</html>";
Иначе
СтруктураОтвет = НайденнаяСсылка.Результат.Получить();
КонецЕсли;
Исключение
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,400,"Ошибка при формировании: "+ОписаниеОшибки(),Ложь,"");
КонецПопытки;
Иначе
//Задание еще в процессе
АдресСсылки = СтруктураВхПараметров.БазовыйURL + "/V1/ФоновоеЗаданиеПроверить?" +
"Result_Key=" + АдресРезультата + ?(ЗначениеЗаполнено(перФоновоеЗаданиеИдентификатор),
"&Task_Key=" + перФоновоеЗаданиеИдентификатор,"");
//Формируем html ответ
СтруктураОтвет.ДанныеОтвета = "<html>
|<body>
| <b>Задание еще выполняется, попробуйте получить результат позже!</b><br>
| <p>Идентификатор фонового задания = " + перФоновоеЗаданиеИдентификатор + "<br>
| Адрес хранилища результата = " + АдресРезультата + "</p>
|<p><a href=""" + АдресСсылки + """>Ссылка на получение результата</a></p>
|</body>
|</html>";
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<CommonModule uuid="7f4fd8e1-99c9-4fcf-b701-09d6d71b96f3">
<Properties>
<Name>HS_ОбработкаУниверсальныхМетодов</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Обработка универсальных методов</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>
<ClientManagedApplication>false</ClientManagedApplication>
<Server>true</Server>
<ExternalConnection>false</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>false</ServerCall>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>

View File

@ -0,0 +1,795 @@
#Область Методы
//Пример из Части 2. Метод написан под ERP, будет работать в УТ и КА
#Область ПримерыЧасть2
Процедура ПолучитьОстаткиИДоступностьТоваровПоСкладу(СтруктураОтвет,СтруктураВхПараметров) Экспорт
//ПраметрыЗапроса - number
Склад_Key = СтруктураВхПараметров.ПараметрыЗапроса.Получить("Ref_Key");
Если не Склад_Key = Неопределено Тогда
//Получаем Склад
Попытка
Склад = XMLЗначение(Тип("СправочникСсылка.Склады"), Склад_Key);
Исключение
Склад = Неопределено;
КонецПопытки;
Если ЗначениеЗаполнено(Склад) Тогда
//Получаем схему компоновки и вариант отчета
//СхемаКомпоновки = Отчеты.ОстаткиИДоступностьТоваров.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
//ВариантНастроеки = СхемаКомпоновки.ВариантыНастроек.Найти("ОстаткиИДоступностьТоваров");
СхемаКомпоновки = Отчеты.HS_ХранилищеМакетов.ПолучитьМакет("СКД_ОстаткиИДоступностьТоваров_HTTP");
ВариантНастроеки = СхемаКомпоновки.ВариантыНастроек.Найти("ОстаткиИДоступностьТоваровНеТаблица");
НастройкиКомпоновки = ВариантНастроеки.Настройки;
//Взято из модуля отчета.ОстаткиИДоступностьТоваров "ПриКомпоновкеРезультата"++
ТекстЗапроса = СхемаКомпоновки.НаборыДанных.Основной.Запрос;
ТекстЗапроса = СтрЗаменить(
ТекстЗапроса,
"&ТекстЗапросаВесНоменклатуры",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаВесУпаковки("Набор.Номенклатура.ЕдиницаИзмерения", "Набор.Номенклатура"));
ТекстЗапроса = СтрЗаменить(
ТекстЗапроса,
"&ТекстЗапросаОбъемНоменклатуры",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаОбъемУпаковки("Набор.Номенклатура.ЕдиницаИзмерения", "Набор.Номенклатура"));
СхемаКомпоновки.НаборыДанных.Основной.Запрос = ТекстЗапроса;
//Взято из модуля отчета.ОстаткиИДоступностьТоваров "ПриКомпоновкеРезультата"--
ПрараметрОтбора = НастройкиКомпоновки.Отбор.Элементы;
СкладПолеКомпоновки = Новый ПолеКомпоновкиДанных("Склад");
Для Каждого СтрокаОтбора из ПрараметрОтбора Цикл
Если СтрокаОтбора.ЛевоеЗначение = СкладПолеКомпоновки Тогда
СтрокаОтбора.Использование = Истина;
СтрокаОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
СтрокаОтбора.ПравоеЗначение = Склад;
КонецЕсли;
КонецЦикла;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, НастройкиКомпоновки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,,,Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ДеревоЗначений = Новый ДеревоЗначений;
ПроцессорВывода.УстановитьОбъект(ДеревоЗначений);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
//Обходим дерево и формируем РезультатОтвет
РезультатОтвет = Новый Массив;
Для Каждого ВерхнийУровеньДерева Из ДеревоЗначений.Строки Цикл
Для Каждого ПодчиненныйУровеньДерева Из ВерхнийУровеньДерева.Строки Цикл
Если ЗначениеЗаполнено(ПодчиненныйУровеньДерева.Номенклатура)
И ТипЗнч(ПодчиненныйУровеньДерева.Номенклатура) = Тип("СправочникСсылка.Номенклатура")
Тогда
РезультатОтвет.Добавить(Новый Структура("ИмяЗначение,Артикул,Guid,ДоступноСейчас,Остаток",
ПодчиненныйУровеньДерева.Номенклатура.Наименование +
?(ЗначениеЗаполнено(ПодчиненныйУровеньДерева.Характеристика),
","+Строка(ПодчиненныйУровеньДерева.Характеристика),""),
ПодчиненныйУровеньДерева.НоменклатураАртикул,
XMLСтрока(ПодчиненныйУровеньДерева.Номенклатура),
ПодчиненныйУровеньДерева.ДоступноСейчас,
ПодчиненныйУровеньДерева.ВНаличии));
КонецЕсли;
КонецЦикла;
КонецЦикла;
//РезультатОтвет в JSON
ВхПараметры = HS_ОбщиеПроцедурыИФункции.СтандартныеПараметрыJSON();
СтруктураОтвет.ДанныеОтвета = HS_ОбщиеПроцедурыИФункции.ЗаписатьДанныеВJSON(ВхПараметры,РезультатОтвет);
СтруктураОтвет.Вставить("ФорматОтвета",HS_ОбщиеПроцедурыИФункции.ФорматОтветаJSON());
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,400,"Не заполнен или неверно заполнен параметр ""Ref_Key""",ложь,"");
КонецЕсли;
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,400,"Отсутствует параметр ""Ref_Key""",ложь,"");
КонецЕсли;
КонецПроцедуры
Процедура ПолучитьДанныеПоСпискуНомеровДокументов(СтруктураОтвет,СтруктураВхПараметров) Экспорт
//ВидДокументов - получаем для идентификации того, что будем искать изначально
//Должен принимать вид Schet или Zakaz
//ЗаписьЖурналаРегистрации("HTTP-Service",,,СтруктураВхПараметров,"ВАЖНОЕ",);
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(СтруктураВхПараметров.ТелоЗапроса);
СтруктураJSON = ПрочитатьJSON(ЧтениеJSON);
ВидКонтрагента = СтруктураJSON.urfiz;//принимаем данные по клиенту, если urfiz = ur то юр.лицо;
//СтрокаСпискаНомеровДокументов - Строка с номерами документов, разделенными запятыми без пробелов.
//Только цифры и кирилические символы в верхнем регистре.
СтрокаСпискаНомеровДокументов = СтруктураJSON.strNumDoc; //СтруктураВхПараметров.ПараметрыЗапроса.Получить("StrDocNumbers");
СтрокаСпискаНомеровДокументов = Врег(СтрЗаменить(СтрокаСпискаНомеровДокументов," ","")); //Убираем все пробелы и переводим в верхний регистр
МассивНомеровДокументов = СтрРазделить(СтрокаСпискаНомеровДокументов,",",ЛОЖЬ);
ИННКонтрагента = СтруктураJSON.INN;
Если НЕ ВидКонтрагента = Неопределено Тогда
Если ВидКонтрагента = "ur" Тогда //отрабатываем с ИНН по Юр.Лицу
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| СчетНаОплатуПокупателю.ЗаявкаОснование КАК ЗаявкаОснование
|ИЗ
| Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
|ГДЕ
| СчетНаОплатуПокупателю.Номер В(&МассивНомеров)
| И СчетНаОплатуПокупателю.Контрагент.ЮридическоеФизическоеЛицо = ЗНАЧЕНИЕ(Перечисление.ЮридическоеФизическоеЛицо.ЮридическоеЛицо)
| И СчетНаОплатуПокупателю.Контрагент.ИНН = &ИННКонтрагента";
Запрос.УстановитьПараметр("МассивНомеров",МассивНомеровДокументов);
Запрос.УстановитьПараметр("ИННКонтрагента",ИННКонтрагента);
Выполнение = Запрос.Выполнить();
ТЗВыгрузка = Выполнение.Выгрузить();
Запрос = "";
//Здесь получаем ТЗ Заявок. Теперь нужно из ТЗ выдернуть Номера Заявок и добавить эти номера к МассивуНомеровДокументов
Для каждого СтрокаТЗ Из ТЗВыгрузка Цикл
МассивНомеровДокументов.Добавить(СтрокаТЗ.ЗаявкаОснование.Номер);
КонецЦикла;
//Все Номера Счетов Отработали.
//Теперь можно просто собрать данные по заявкам.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЗаказКлиента.Ссылка КАК Заявка,
| ВЫБОР
| КОГДА ЗаказКлиента.Контрагент.НаименованиеСокращенное = NULL
| ИЛИ ЗаказКлиента.Контрагент.НаименованиеСокращенное = """"
| ТОГДА ЗаказКлиента.Контрагент.НаименованиеПолное
| ИНАЧЕ ЗаказКлиента.Контрагент.НаименованиеСокращенное
| КОНЕЦ КАК Контрагент,
| ВЫБОР
| КОГДА НЕ СостоянияДокументов.Состояние ЕСТЬ NULL
| ТОГДА СостоянияДокументов.Состояние.Представление
| ИНАЧЕ ""Без статуса""
| КОНЕЦ КАК Статус
|ПОМЕСТИТЬ Заявки
|ИЗ
| Документ.ЗаказКлиента КАК ЗаказКлиента
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияДокументов КАК СостоянияДокументов
| ПО ЗаказКлиента.Ссылка = СостоянияДокументов.Документ
|ГДЕ
| ЗаказКлиента.Номер В(&МассивНомеров)
| И ЗаказКлиента.Контрагент.ЮридическоеФизическоеЛицо = ЗНАЧЕНИЕ(Перечисление.ЮридическоеФизическоеЛицо.ЮридическоеЛицо)
| И ЗаказКлиента.Контрагент.ИНН = &ИННКонтрагента
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СчетНаОплатуПокупателю.Ссылка КАК Счет,
| ВЫБОР
| КОГДА ОплатаСчетовПокупателями.Сумма > 0
| ТОГДА ""Оплата есть""
| ИНАЧЕ ""Оплаты нет""
| КОНЕЦ КАК НаличиеОплаты,
| ЕСТЬNULL(ОплатаСчетовПокупателями.Сумма, 0) КАК СуммаОплаты,
| СчетНаОплатуПокупателю.ЗаявкаОснование КАК ЗаявкаОснование
|ПОМЕСТИТЬ Счета
|ИЗ
| Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОплатаСчетовПокупателями КАК ОплатаСчетовПокупателями
| ПО СчетНаОплатуПокупателю.Ссылка = ОплатаСчетовПокупателями.Счет
|ГДЕ
| СчетНаОплатуПокупателю.ЗаявкаОснование В
| (ВЫБРАТЬ
| Заявки.Заявка КАК ЗаказКлиента
| ИЗ
| Заявки КАК Заявки)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Заявки.Контрагент КАК Контрагент,
| Заявки.Заявка КАК Заявка,
| Заявки.Статус КАК Статус,
| Счета.Счет КАК Счет,
| Счета.НаличиеОплаты КАК НаличиеОплаты,
| Счета.СуммаОплаты КАК Оплата
|ИЗ
| Заявки КАК Заявки
| ЛЕВОЕ СОЕДИНЕНИЕ Счета КАК Счета
| ПО Заявки.Заявка = Счета.ЗаявкаОснование";
Запрос.УстановитьПараметр("МассивНомеров",МассивНомеровДокументов);
Запрос.УстановитьПараметр("ИННКонтрагента",ИННКонтрагента);
Выполнение = Запрос.Выполнить();
ТЗЗапроса = Выполнение.Выгрузить();
Если НЕ ТЗЗапроса.Количество()=0 Тогда
ИтоговаяТЗ = Новый ТаблицаЗначений;
ИтоговаяТЗ.Колонки.Добавить("Контрагент");
ИтоговаяТЗ.Колонки.Добавить("Счет");
ИтоговаяТЗ.Колонки.Добавить("Наличие_оплаты");
ИтоговаяТЗ.Колонки.Добавить("Заявка");
ИтоговаяТЗ.Колонки.Добавить("Статус");
//ИтоговаяТЗ.Колонки.Добавить("Сумма_оплаты");
Для каждого СтрТЗ Из ТЗЗапроса Цикл
НовСтрИтоговойТЗ = ИтоговаяТЗ.Добавить();
НовСтрИтоговойТЗ["Контрагент"] = СтрТЗ.Контрагент;
Если ЗначениеЗаполнено(СтрТЗ.Заявка) Тогда
НомерЗаявки = СокрЛП(Строка(СтрТЗ.Заявка.Номер));
ДатаЗаявки = Строка(Формат(СтрТЗ.Заявка.Дата,"ДФ=dd.MM.yyyy; ДЛФ=D; ДП='Нет даты'"));
НовСтрИтоговойТЗ["Заявка"] = Строка("№ " + НомерЗаявки + " от " + ДатаЗаявки);
Иначе
НовСтрИтоговойТЗ["Заявка"] = СтрТЗ.Заявка;
КонецЕсли;
Если ЗначениеЗаполнено(СтрТЗ.Счет) Тогда
НомерСчета = СокрЛП(Строка(СтрТЗ.Счет.Номер));
ДатаСчета = Строка(Формат(СтрТЗ.Счет.Дата,"ДФ=dd.MM.yyyy; ДЛФ=D; ДП='Нет даты'"));
НовСтрИтоговойТЗ["Счет"] = Строка("№ " + НомерСчета + " от " + ДатаСчета);
Иначе
НовСтрИтоговойТЗ["Счет"] = ?(ЗначениеЗаполнено(СтрТЗ.Счет),СтрТЗ.Счет,"Счет не оформлен");
КонецЕсли;
НовСтрИтоговойТЗ["Статус"] = СтрТЗ.Статус;
НовСтрИтоговойТЗ["Наличие_оплаты"] = ?(ЗначениеЗаполнено(СтрТЗ.НаличиеОплаты),СтрТЗ.НаличиеОплаты,"Оплаты нет");
//НовСтрИтоговойТЗ["Сумма_оплаты"] = Формат(СтрТЗ.Оплата,"ЧЦ=12; ЧДЦ=2; ЧРД=,; ЧН=Пусто");
//НовСтрИтоговойТЗ[""] = ;
КонецЦикла;
Иначе
ИтоговаяТЗ = Новый ТаблицаЗначений;
ИтоговаяТЗ.Колонки.Добавить("Результат");
НовСтрИтоговойТЗ = ИтоговаяТЗ.Добавить();
НовСтрИтоговойТЗ.Результат = "По вашему запросу ничего не найдено.";
КонецЕсли;
РезультатЗапроса = HS_ОбщиеПроцедурыИФункции.ПреобразоватьТаблицуЗначенийВМассивСтруктур(ИтоговаяТЗ);
//РезультатОтвет в JSON
ВхПараметры = HS_ОбщиеПроцедурыИФункции.СтандартныеПараметрыJSON();
СтруктураОтвет.ДанныеОтвета = HS_ОбщиеПроцедурыИФункции.ЗаписатьДанныеВJSON(ВхПараметры,РезультатЗапроса);
СтруктураОтвет.Вставить("ФорматОтвета",HS_ОбщиеПроцедурыИФункции.ФорматОтветаJSON());
ИначеЕсли ВидКонтрагента = "fiz" Тогда //работаем по физику, инн не важен, условие только Контрагент - Физ.Лицо
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| СчетНаОплатуПокупателю.ЗаявкаОснование КАК ЗаявкаОснование
|ИЗ
| Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
|ГДЕ
| СчетНаОплатуПокупателю.Номер В(&МассивНомеров)
| И СчетНаОплатуПокупателю.Контрагент.ЮридическоеФизическоеЛицо = ЗНАЧЕНИЕ(Перечисление.ЮридическоеФизическоеЛицо.ФизическоеЛицо)";
Запрос.УстановитьПараметр("МассивНомеров",МассивНомеровДокументов);
Выполнение = Запрос.Выполнить();
ТЗВыгрузка = Выполнение.Выгрузить();
Запрос = "";
//Здесь получаем ТЗ Заявок. Теперь нужно из ТЗ выдернуть Номера Заявок и добавить эти номера к МассивуНомеровДокументов
Для каждого СтрокаТЗ Из ТЗВыгрузка Цикл
МассивНомеровДокументов.Добавить(СтрокаТЗ.ЗаявкаОснование.Номер);
КонецЦикла;
//Все Номера Счетов Отработали.
//Теперь можно просто собрать данные по заявкам.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЗаказКлиента.Ссылка КАК Заявка,
| ""Физическое лицо"" КАК Контрагент,
| ВЫБОР
| КОГДА НЕ СостоянияДокументов.Состояние ЕСТЬ NULL
| ТОГДА СостоянияДокументов.Состояние.Представление
| ИНАЧЕ ""Без статуса""
| КОНЕЦ КАК Статус
|ПОМЕСТИТЬ Заявки
|ИЗ
| Документ.ЗаказКлиента КАК ЗаказКлиента
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияДокументов КАК СостоянияДокументов
| ПО ЗаказКлиента.Ссылка = СостоянияДокументов.Документ
|ГДЕ
| ЗаказКлиента.Номер В(&МассивНомеров)
| И ЗаказКлиента.Контрагент.ЮридическоеФизическоеЛицо = ЗНАЧЕНИЕ(Перечисление.ЮридическоеФизическоеЛицо.ФизическоеЛицо)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СчетНаОплатуПокупателю.Ссылка КАК Счет,
| ВЫБОР
| КОГДА ОплатаСчетовПокупателями.Сумма > 0
| ТОГДА ""Оплата есть""
| ИНАЧЕ ""Оплаты нет""
| КОНЕЦ КАК НаличиеОплаты,
| ЕСТЬNULL(ОплатаСчетовПокупателями.Сумма, 0) КАК СуммаОплаты,
| СчетНаОплатуПокупателю.ЗаявкаОснование КАК ЗаявкаОснование
|ПОМЕСТИТЬ Счета
|ИЗ
| Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОплатаСчетовПокупателями КАК ОплатаСчетовПокупателями
| ПО СчетНаОплатуПокупателю.Ссылка = ОплатаСчетовПокупателями.Счет
|ГДЕ
| СчетНаОплатуПокупателю.ЗаявкаОснование В
| (ВЫБРАТЬ
| Заявки.Заявка КАК ЗаказКлиента
| ИЗ
| Заявки КАК Заявки)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Заявки.Контрагент КАК Контрагент,
| Заявки.Заявка КАК Заявка,
| Заявки.Статус КАК Статус,
| Счета.Счет КАК Счет,
| Счета.НаличиеОплаты КАК НаличиеОплаты,
| Счета.СуммаОплаты КАК СуммаОплаты
|ИЗ
| Заявки КАК Заявки
| ЛЕВОЕ СОЕДИНЕНИЕ Счета КАК Счета
| ПО Заявки.Заявка = Счета.ЗаявкаОснование";
Запрос.УстановитьПараметр("МассивНомеров",МассивНомеровДокументов);
Выполнение = Запрос.Выполнить();
ТЗЗапроса = Выполнение.Выгрузить();
Если НЕ ТЗЗапроса.Количество()=0 Тогда
ИтоговаяТЗ = Новый ТаблицаЗначений;
ИтоговаяТЗ.Колонки.Добавить("Контрагент");
ИтоговаяТЗ.Колонки.Добавить("Счет");
ИтоговаяТЗ.Колонки.Добавить("Наличие_оплаты");
ИтоговаяТЗ.Колонки.Добавить("Заявка");
ИтоговаяТЗ.Колонки.Добавить("Статус");
//ИтоговаяТЗ.Колонки.Добавить("Сумма_оплаты");
Для каждого СтрТЗ Из ТЗЗапроса Цикл
НовСтрИтоговойТЗ = ИтоговаяТЗ.Добавить();
НовСтрИтоговойТЗ["Контрагент"] = СтрТЗ.Контрагент;
Если ЗначениеЗаполнено(СтрТЗ.Заявка) Тогда
НомерЗаявки = СокрЛП(Строка(СтрТЗ.Заявка.Номер));
ДатаЗаявки = Строка(Формат(СтрТЗ.Заявка.Дата,"ДФ=dd.MM.yyyy; ДЛФ=D; ДП='Нет даты'"));
НовСтрИтоговойТЗ["Заявка"] = Строка("№ " + НомерЗаявки + " от " + ДатаЗаявки);
Иначе
НовСтрИтоговойТЗ["Заявка"] = СтрТЗ.Заявка;
КонецЕсли;
Если ЗначениеЗаполнено(СтрТЗ.Счет) Тогда
НомерСчета = СокрЛП(Строка(СтрТЗ.Счет.Номер));
ДатаСчета = Строка(Формат(СтрТЗ.Счет.Дата,"ДФ=dd.MM.yyyy; ДЛФ=D; ДП='Нет даты'"));
НовСтрИтоговойТЗ["Счет"] = Строка("№ " + НомерСчета + " от " + ДатаСчета);
Иначе
НовСтрИтоговойТЗ["Счет"] = ?(ЗначениеЗаполнено(СтрТЗ.Счет),СтрТЗ.Счет,"Счет не оформлен");
КонецЕсли;
НовСтрИтоговойТЗ["Статус"] = СтрТЗ.Статус;
НовСтрИтоговойТЗ["Наличие_оплаты"] = ?(ЗначениеЗаполнено(СтрТЗ.НаличиеОплаты),СтрТЗ.НаличиеОплаты,"Оплаты нет");
//НовСтрИтоговойТЗ["Сумма_оплаты"] = Формат(СтрТЗ.Оплата,"ЧЦ=12; ЧДЦ=2; ЧРД=,; ЧН=Пусто");
//НовСтрИтоговойТЗ[""] = ;
КонецЦикла;
Иначе
ИтоговаяТЗ = Новый ТаблицаЗначений;
ИтоговаяТЗ.Колонки.Добавить("Результат");
НовСтрИтоговойТЗ = ИтоговаяТЗ.Добавить();
НовСтрИтоговойТЗ.Результат = "По вашему запросу ничего не найдено.";
КонецЕсли;
РезультатЗапроса = HS_ОбщиеПроцедурыИФункции.ПреобразоватьТаблицуЗначенийВМассивСтруктур(ИтоговаяТЗ);
//РезультатОтвет в JSON
ВхПараметры = HS_ОбщиеПроцедурыИФункции.СтандартныеПараметрыJSON();
СтруктураОтвет.ДанныеОтвета = HS_ОбщиеПроцедурыИФункции.ЗаписатьДанныеВJSON(ВхПараметры,РезультатЗапроса);
СтруктураОтвет.Вставить("ФорматОтвета",HS_ОбщиеПроцедурыИФункции.ФорматОтветаJSON());
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,400,"Не заполнен или неверно заполнен параметр ""urfiz""",ложь,"");
КонецЕсли;
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,400,"Не указан параметр ""urfiz""",ложь,"");
КонецЕсли;
КонецПроцедуры
Процедура ПолучитьСписокЗаказовПоИННКонтрагента(СтруктураОтвет,СтруктураВхПараметров) Экспорт
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(СтруктураВхПараметров.ТелоЗапроса);
СтруктураJSON = ПрочитатьJSON(ЧтениеJSON);
ИННКонтрагента = СокрЛП(СтруктураJSON.INNContragent);
Если НЕ ИННКонтрагента = Неопределено И СтрДлина(ИННКонтрагента)<>0 Тогда
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЗаказКлиента.Представление КАК Заявка,
| ВЫБОР
| КОГДА ЗаказКлиента.Контрагент.ЮридическоеФизическоеЛицо = ЗНАЧЕНИЕ(Перечисление.ЮридическоеФизическоеЛицо.ЮридическоеЛицо)
| ТОГДА ВЫБОР
| КОГДА ЗаказКлиента.Контрагент.НаименованиеСокращенное = NULL
| ИЛИ ЗаказКлиента.Контрагент.НаименованиеСокращенное = """"
| ТОГДА ЗаказКлиента.Контрагент.НаименованиеПолное
| ИНАЧЕ ЗаказКлиента.Контрагент.НаименованиеСокращенное
| КОНЕЦ
| ИНАЧЕ ""Физическое лицо""
| КОНЕЦ КАК Контрагент,
| ВЫБОР
| КОГДА НЕ СостоянияДокументов.Состояние ЕСТЬ NULL
| ТОГДА СостоянияДокументов.Состояние.Представление
| ИНАЧЕ ""Без статуса""
| КОНЕЦ КАК СтатусЗаявки,
| ЗаказКлиента.Ссылка КАК ЗаявкаЗаказ
|ПОМЕСТИТЬ Заявки
|ИЗ
| Документ.ЗаказКлиента КАК ЗаказКлиента
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияДокументов КАК СостоянияДокументов
| ПО ЗаказКлиента.Ссылка = СостоянияДокументов.Документ
|ГДЕ
| ЗаказКлиента.Контрагент.ИНН = &ИННКонтрагента
| И ЗаказКлиента.Проведен = ИСТИНА
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СчетНаОплатуПокупателю.Представление КАК Счет,
| ВЫБОР
| КОГДА ОплатаСчетовПокупателями.Сумма > 0
| ТОГДА ""Оплата есть""
| ИНАЧЕ ""Оплаты нет""
| КОНЕЦ КАК НаличиеОплаты,
| ЕСТЬNULL(ОплатаСчетовПокупателями.Сумма, 0) КАК СуммаОплаты,
| СчетНаОплатуПокупателю.ЗаявкаОснование КАК ЗаявкаОснование
|ПОМЕСТИТЬ Счета
|ИЗ
| Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОплатаСчетовПокупателями КАК ОплатаСчетовПокупателями
| ПО СчетНаОплатуПокупателю.Ссылка = ОплатаСчетовПокупателями.Счет
|ГДЕ
| СчетНаОплатуПокупателю.ЗаявкаОснование В
| (ВЫБРАТЬ
| Заявки.ЗаявкаЗаказ КАК ЗаказКлиента
| ИЗ
| Заявки КАК Заявки)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Заявки.Контрагент КАК Контрагент,
| Заявки.Заявка КАК Заявка,
| Заявки.СтатусЗаявки КАК СтатусЗаявки,
| ЕСТЬNULL(Счета.Счет, """") КАК Счет,
| ЕСТЬNULL(Счета.НаличиеОплаты, ""Оплаты нет"") КАК НаличиеОплаты,
| ЕСТЬNULL(Счета.СуммаОплаты, 0) КАК СуммаОплаты
|ИЗ
| Заявки КАК Заявки
| ЛЕВОЕ СОЕДИНЕНИЕ Счета КАК Счета
| ПО Заявки.ЗаявкаЗаказ = Счета.ЗаявкаОснование";
Запрос.УстановитьПараметр("ИННКонтрагента",ИННКонтрагента);
Выполнение = Запрос.Выполнить();
РезультатЗапроса = HS_ОбщиеПроцедурыИФункции.ПреобразоватьТаблицуЗначенийВМассивСтруктур(Выполнение.Выгрузить());
//РезультатОтвет в JSON
ВхПараметры = HS_ОбщиеПроцедурыИФункции.СтандартныеПараметрыJSON();
СтруктураОтвет.ДанныеОтвета = HS_ОбщиеПроцедурыИФункции.ЗаписатьДанныеВJSON(ВхПараметры,РезультатЗапроса);
СтруктураОтвет.Вставить("ФорматОтвета",HS_ОбщиеПроцедурыИФункции.ФорматОтветаJSON());
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,400,"Не указан параметр ""INNContragent""",ложь,"");
КонецЕсли;
КонецПроцедуры
#КонецОбласти
//Пример из Части 3. Метод написан под Демо БСП, следовательно будет работать в конфигурациях с БСП
#Область ПримерыЧасть3
Процедура ПолучитьСписокЗаданийЗаПериод(СтруктураОтвет,СтруктураВхПараметров) Экспорт
//Проверяем входящие параметры
Если ВРег(СтруктураВхПараметров.МетодЗапроса) = ВРег("GET") Тогда
перНачалоПериода = СтруктураВхПараметров.ПараметрыЗапроса.Получить("StartPeriod");
НачалоПериода = ?(перНачалоПериода = Неопределено,
Неопределено,HS_ОбщиеПроцедурыИФункции.ПолучитьДатуВремяИзСтроки(перНачалоПериода));
перКонецПериода = СтруктураВхПараметров.ПараметрыЗапроса.Получить("EndPeriod");
КонецПериода = ?(перКонецПериода = Неопределено,
Неопределено,HS_ОбщиеПроцедурыИФункции.ПолучитьДатуВремяИзСтроки(перКонецПериода));
ИначеЕсли ВРег(СтруктураВхПараметров.МетодЗапроса) = ВРег("POST") Тогда
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(СтруктураВхПараметров.ТелоЗапроса);
Попытка
ТелоЗапросаJSON = ПрочитатьJSON(ЧтениеJSON);
Исключение
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,
400,"Не удалось получить данные!",Ложь,"");
КонецПопытки;
Если СтруктураОтвет.Отработало Тогда
Если ТипЗнч(ТелоЗапросаJSON) = Тип("Структура") Тогда
НачалоПериода = ?(ТелоЗапросаJSON.Свойство("StartPeriod"),
HS_ОбщиеПроцедурыИФункции.ПолучитьДатуВремяИзСтроки(ТелоЗапросаJSON.StartPeriod),Неопределено);
КонецПериода = ?(ТелоЗапросаJSON.Свойство("EndPeriod"),
HS_ОбщиеПроцедурыИФункции.ПолучитьДатуВремяИзСтроки(ТелоЗапросаJSON.EndPeriod),Неопределено);
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,
400,"Передана не структура!",Ложь,"");
КонецЕсли;
КонецЕсли;
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,
501,"Метод: "+СтруктураВхПараметров.МетодЗапроса+" не поддерживается!",Ложь,"");
КонецЕсли;
//Проверяем была ли ошибка
Если СтруктураОтвет.Отработало Тогда
//Получаем схему компоновки и вариант отчета
СхемаКомпоновки = Отчеты.Задания.ПолучитьМакет("Макет");
ВариантНастроеки = СхемаКомпоновки.ВариантыНастроек.Найти("СписокЗаданий");
НастройкиКомпоновки = ВариантНастроеки.Настройки;
//Взято из модуля отчета.Задания "ПриКомпоновкеРезультата"++
ИспользоватьДатуИВремяВСрокахЗадач = ПолучитьФункциональнуюОпцию("ИспользоватьДатуИВремяВСрокахЗадач");
СрокИсполнения = СхемаКомпоновки.НаборыДанных[0].Поля.Найти("СрокИсполнения");
СрокИсполнения.Оформление.УстановитьЗначениеПараметра("Формат", ?(ИспользоватьДатуИВремяВСрокахЗадач, "ДЛФ=DT", "ДЛФ=D"));
//Взято из модуля отчета.Задания "ПриКомпоновкеРезультата"--
Параметр = НастройкиКомпоновки.ПараметрыДанных.Элементы.Найти("Период");
Если Параметр <> Неопределено Тогда
Параметр.Использование = ?(ЗначениеЗаполнено(НачалоПериода)
ИЛИ ЗначениеЗаполнено(КонецПериода),Истина,Ложь);
ПериодВрем = Новый СтандартныйПериод;
Если ЗначениеЗаполнено(НачалоПериода) Тогда
ПериодВрем.ДатаНачала = НачалоДня(НачалоПериода);
КонецЕсли;
Если ЗначениеЗаполнено(КонецПериода) Тогда
ПериодВрем.ДатаОкончания = КонецДня(КонецПериода);
КонецЕсли;
Если Параметр.Использование Тогда
Параметр.Значение = ПериодВрем;
КонецЕсли;
КонецЕсли;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, НастройкиКомпоновки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,,,Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ТЗ = Новый ТаблицаЗначений;
ПроцессорВывода.УстановитьОбъект(ТЗ);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
//Обходим ТЗ и формируем РезультатОтвет
РезультатОтвет = Новый Массив;
Для Каждого СтрокаТЗ Из ТЗ Цикл
Если ЗначениеЗаполнено(СтрокаТЗ.Ссылка)
И ТипЗнч(СтрокаТЗ.Ссылка) = Тип("БизнесПроцессСсылка.Задание")
Тогда
РезультатОтвет.Добавить(Новый Структура("Задание,Guid,Автор,Дата,Выполнено",
СтрокаТЗ.Ссылка.Наименование,
XMLСтрока(СтрокаТЗ.Ссылка),
СтрокаТЗ.Автор.Наименование,
СтрокаТЗ.Дата,
СтрокаТЗ.Выполнено));
КонецЕсли;
КонецЦикла;
//РезультатОтвет в JSON
ВхПараметры = HS_ОбщиеПроцедурыИФункции.СтандартныеПараметрыJSON();
СтруктураОтвет.ДанныеОтвета = HS_ОбщиеПроцедурыИФункции.ЗаписатьДанныеВJSON(ВхПараметры,РезультатОтвет);
СтруктураОтвет.Вставить("ФорматОтвета",HS_ОбщиеПроцедурыИФункции.ФорматОтветаJSON());
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ПримерыЧасть4
//Пример из Части 4. Метод написан получения количество элементов по типу объекта
Процедура ПолучитьКоличествоЭлементовВариантЗапрос(СтруктураОтвет,СтруктураВхПараметров) Экспорт
//Проверяем входящие параметры
Если ВРег(СтруктураВхПараметров.МетодЗапроса) = ВРег("GET") Тогда
перНаименованиеОбъекта = СтруктураВхПараметров.ПараметрыЗапроса.Получить("ItemName");
НаименованиеОбъекта = ?(перНаименованиеОбъекта = Неопределено,"",перНаименованиеОбъекта);
перПорция = СтруктураВхПараметров.ПараметрыЗапроса.Получить("top");
Порция = ?(перПорция = Неопределено,0,Число(перПорция));
ИначеЕсли ВРег(СтруктураВхПараметров.МетодЗапроса) = ВРег("POST") Тогда
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(СтруктураВхПараметров.ТелоЗапроса);
Попытка
ТелоЗапросаJSON = ПрочитатьJSON(ЧтениеJSON);
Исключение
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,
400,"Не удалось получить данные!",Ложь,"");
КонецПопытки;
Если СтруктураОтвет.Отработало Тогда
Если ТипЗнч(ТелоЗапросаJSON) = Тип("Структура") Тогда
НаименованиеОбъекта = ?(ТелоЗапросаJSON.Свойство("ItemName"),ТелоЗапросаJSON.ItemName,"");
Порция = ?(ТелоЗапросаJSON.Свойство("top"),ТелоЗапросаJSON.top,0);
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,
400,"Передана не структура!",Ложь,"");
КонецЕсли;
КонецЕсли;
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,
501,"Метод: "+СтруктураВхПараметров.МетодЗапроса+" не поддерживается!",Ложь,"");
КонецЕсли;
//Проверяем была ли ошибка
Если СтруктураОтвет.Отработало Тогда
Если Не ПустаяСтрока(НаименованиеОбъекта)
И Порция > 0 Тогда
//Готовим структуру для дальнейшей работы
СтруктураЗапроса = Новый Структура("МетодЗапроса,ПараметрыЗапроса,ДатаЗапроса,НаименованиеОбъекта,Порция",
ВРег("ПолучитьКоличествоЭлементовВариантЗапрос"),
ВРег(НаименованиеОбъекта)+"_"+Формат(Порция, "ЧДЦ=0; ЧН=0; ЧГ="),
ТекущаяДатаСеанса(),
НаименованиеОбъекта,
Порция);
//Проверяем был ли ранее подобный запрос. Считаем, что данные актуальны в дня.
//Тоесть на следующий день данные будут неактуальны
HS_ОбщиеПроцедурыИФункции.ПолучитьИлиЗаписатьДанныеПредыдущегоЗапроса(СтруктураЗапроса,СтруктураОтвет);
Если СтруктураОтвет.Отработало Тогда
//Готовим ответ
КоличествоЭлементов = ?(СтруктураЗапроса.РезультатОтвет.Свойство("КоличествоЭлементов"),
СтруктураЗапроса.РезультатОтвет.КоличествоЭлементов,
0);
ВхПараметры = HS_ОбщиеПроцедурыИФункции.СтандартныеПараметрыJSON();
РезультатОтветJSON = HS_ОбщиеПроцедурыИФункции.ЗаписатьДанныеВJSON(ВхПараметры,КоличествоЭлементов);
СтруктураОтвет.ДанныеОтвета = РезультатОтветJSON;
СтруктураОтвет.Вставить("ФорматОтвета",HS_ОбщиеПроцедурыИФункции.ФорматОтветаJSON());
КонецЕсли;
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,
400,?(Порция=0,"top=0","Объект: """+НаименованиеОбъекта+""" не найден!"),Ложь,"");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
//Пример из Части 4. Метод написан получения порции
Процедура ПолучитьПорциюЭлементовВариантЗапроса(СтруктураОтвет,СтруктураВхПараметров) Экспорт
//Проверяем входящие параметры
Если ВРег(СтруктураВхПараметров.МетодЗапроса) = ВРег("GET") Тогда
перНаименованиеОбъекта = СтруктураВхПараметров.ПараметрыЗапроса.Получить("ItemName");
НаименованиеОбъекта = ?(перНаименованиеОбъекта = Неопределено,"",перНаименованиеОбъекта);
перПорция = СтруктураВхПараметров.ПараметрыЗапроса.Получить("top");
Порция = ?(перПорция = Неопределено,0,Число(перПорция));
перСтраница = СтруктураВхПараметров.ПараметрыЗапроса.Получить("page");
текСтраница = ?(перСтраница = Неопределено,0,Число(перСтраница));
ИначеЕсли ВРег(СтруктураВхПараметров.МетодЗапроса) = ВРег("POST") Тогда
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(СтруктураВхПараметров.ТелоЗапроса);
Попытка
ТелоЗапросаJSON = ПрочитатьJSON(ЧтениеJSON);
Исключение
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,
400,"Не удалось получить данные!",Ложь,"");
КонецПопытки;
Если СтруктураОтвет.Отработало Тогда
Если ТипЗнч(ТелоЗапросаJSON) = Тип("Структура") Тогда
НаименованиеОбъекта = ?(ТелоЗапросаJSON.Свойство("ItemName"),ТелоЗапросаJSON.ItemName,"");
Порция = ?(ТелоЗапросаJSON.Свойство("top"),ТелоЗапросаJSON.top,0);
текСтраница = ?(ТелоЗапросаJSON.Свойство("page"),ТелоЗапросаJSON.page,0);
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,
400,"Передана не структура!",Ложь,"");
КонецЕсли;
КонецЕсли;
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,
501,"Метод: "+СтруктураВхПараметров.МетодЗапроса+" не поддерживается!",Ложь,"");
КонецЕсли;
//Проверяем была ли ошибка
Если СтруктураОтвет.Отработало Тогда
Если Не ПустаяСтрока(НаименованиеОбъекта)
И Порция > 0
И текСтраница >= 0 Тогда
//Готовим структуру для дальнейшей работы
СтруктураЗапроса = Новый Структура("МетодЗапроса,ПараметрыЗапроса,ДатаЗапроса,НаименованиеОбъекта,Порция,Страница",
ВРег("ПолучитьКоличествоЭлементовВариантЗапрос"),
ВРег(НаименованиеОбъекта)+"_"+Формат(Порция, "ЧДЦ=0; ЧН=0; ЧГ="),
ТекущаяДатаСеанса(),
НаименованиеОбъекта,
Порция,
текСтраница);
//Проверяем был ли ранее подобный запрос. Считаем, что данные актуальны в дня.
//Тоесть на следующий день данные будут неактуальны
HS_ОбщиеПроцедурыИФункции.ПолучитьИлиЗаписатьДанныеПредыдущегоЗапроса(СтруктураЗапроса,СтруктураОтвет);
Если СтруктураОтвет.Отработало Тогда
//Готовим ответ
МассивПоследних = ?(СтруктураЗапроса.РезультатОтвет.Свойство("МассивПоследних"),
СтруктураЗапроса.РезультатОтвет.МассивПоследних,
Новый Массив);
РезультатОтвет = Новый Массив;
Если МассивПоследних.Количество() > 0
И МассивПоследних.Количество() >= текСтраница Тогда
//Проверяем справочник Иерархический или нет
перЕстьГруппы = ?(МассивПоследних[0].Метаданные().Иерархический,Истина,Ложь);
//Получаем нужную порцию
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ "+Формат(Порция, "ЧДЦ=0; ЧН=0; ЧГ=")+"
| Ссылка КАК Ссылка,
| ПометкаУдаления КАК DeletionMark,
| Код КАК Code,
| Наименование КАК Description
| //[ЕстьГруппы]//, ЭтоГруппа КАК IsFolder
|ИЗ
| [ИмяТаблицы] ГДЕ Ссылка > &Ссылка УПОРЯДОЧИТЬ ПО Ссылка";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "[ИмяТаблицы]", НаименованиеОбъекта);
Если перЕстьГруппы Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "//[ЕстьГруппы]//", "");
КонецЕсли;
Запрос.УстановитьПараметр("Ссылка",МассивПоследних[текСтраница]);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
текЭлМасс = Новый Структура;
текЭлМасс.Вставить("Ref_Key", XMLСтрока(ВыборкаДетальныеЗаписи.Ссылка));
текЭлМасс.Вставить("Description", ВыборкаДетальныеЗаписи.Description);
текЭлМасс.Вставить("Code", ВыборкаДетальныеЗаписи.Code);
текЭлМасс.Вставить("DeletionMark", ВыборкаДетальныеЗаписи.DeletionMark);
Если перЕстьГруппы Тогда
текЭлМасс.Вставить("IsFolder", ВыборкаДетальныеЗаписи.IsFolder);
КонецЕсли;
РезультатОтвет.Добавить(текЭлМасс);
КонецЦикла;
КонецЕсли;
стрРезультатОтвет = Новый Структура("value",РезультатОтвет);
ВхПараметры = HS_ОбщиеПроцедурыИФункции.СтандартныеПараметрыJSON();
//Делаем красивый вывод данных (Эстетика чисто для глаза)
ВхПараметры.ПереносСтрок = ПереносСтрокJSON.Авто;
РезультатОтветJSON = HS_ОбщиеПроцедурыИФункции.ЗаписатьДанныеВJSON(ВхПараметры,стрРезультатОтвет);
СтруктураОтвет.ДанныеОтвета = РезультатОтветJSON;
СтруктураОтвет.Вставить("ФорматОтвета",HS_ОбщиеПроцедурыИФункции.ФорматОтветаJSON());
КонецЕсли;
Иначе
HS_ОбщиеПроцедурыИФункции.ЗаполнитьСтруктуруОтвета(СтруктураОтвет,
400,?(Порция=0,"top=0 или page<0","Объект: """+НаименованиеОбъекта+""" не найден!"),Ложь,"");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<CommonModule uuid="4ab690bd-caea-4563-9a2b-e4a5ae739728">
<Properties>
<Name>HS_ОбщиеПроцедурыИФункции</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Общие процедуры и функции</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>
<ClientManagedApplication>false</ClientManagedApplication>
<Server>true</Server>
<ExternalConnection>false</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>false</ServerCall>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>

View File

@ -0,0 +1,375 @@
//Заполняем структуру ответа
Процедура ЗаполнитьСтруктуруОтвета(СтруктураОтвет,КодОтвета,ТекстОшибки,Отработало,ДанныеОтвета) Экспорт
СтруктураОтвет.КодОтвета = КодОтвета;
СтруктураОтвет.ТекстОшибки = ТекстОшибки;
СтруктураОтвет.Отработало = Отработало;
СтруктураОтвет.ДанныеОтвета = ДанныеОтвета;
КонецПроцедуры
Функция БазаФайловая()
СтрокаСоединенияСБД = СтрокаСоединенияИнформационнойБазы();
// в зависимости от того файловый это вариант БД или нет, по-разному отображается путь в БД
ПозицияПоиска = Найти(Врег(СтрокаСоединенияСБД), "FILE=");
Если ПозицияПоиска = 1 тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции
#Область ВспомогательныеПроцедурыФункцииМетодов
//Считываем или создаем элемент справочника HS_ХранилищеРезультатов
//Вспомогательная процедура методов: ПолучитьПорциюЭлементовВариантЗапроса, ПолучитьКоличествоЭлементовВариантЗапрос
Процедура ПолучитьИлиЗаписатьДанныеПредыдущегоЗапроса(СтруктураЗапроса,СтруктураОтвет) Экспорт
НайденнаяСсылка = ПолучитьПредыдущийЗапрос(СтруктураЗапроса);
Если Не ЗначениеЗаполнено(НайденнаяСсылка) Тогда
КоличествоЭлементов = ПолучитьКоличествоЭлементов(СтруктураЗапроса.НаименованиеОбъекта);
Если КоличествоЭлементов = -1 Тогда
ЗаполнитьСтруктуруОтвета(СтруктураОтвет,
400,"Объект: """+СтруктураЗапроса.НаименованиеОбъекта+""" не найден!",Ложь,"");
Иначе
МассивПоследних = Новый Массив;
МассивПоследних.Добавить(ПустаяСсылкаПоНаименованиеОбъекта(СтруктураЗапроса.НаименованиеОбъекта));
Если КоличествоЭлементов = 0 Тогда
КоличествоСтраниц = 0;
Иначе
//Получаем количество страниц
перДоОкругления = КоличествоЭлементов/СтруктураЗапроса.Порция;
КоличествоСтраниц = Окр(перДоОкругления+0.5,0,РежимОкругления.Окр15как20);
//Заполняем МассивПоследних ссылок
ПродолжаемЗаполнять = Истина;
ПромежуточнаяСтруктура = Новый Структура("Продолжаем,Ссылка",Истина,Неопределено);
Пока ПродолжаемЗаполнять Цикл
ПромежуточнаяСтруктура =
ПолучитьПоследнийЭлементПорции(ПромежуточнаяСтруктура,СтруктураЗапроса.НаименованиеОбъекта,СтруктураЗапроса.Порция);
ПродолжаемЗаполнять = ПромежуточнаяСтруктура.Продолжаем;
Если ПродолжаемЗаполнять Тогда
МассивПоследних.Добавить(ПромежуточнаяСтруктура.Ссылка);
КонецЕсли;
КонецЦикла;
КонецЕсли;
РезультатОтвет = Новый Структура("КоличествоЭлементов,МассивПоследних",
КоличествоЭлементов,
МассивПоследних);
ТекущийОбъект = Справочники.HS_ХранилищеРезультатов.СоздатьЭлемент();
ТекущийОбъект.МетодЗапроса = СтруктураЗапроса.МетодЗапроса;
ТекущийОбъект.ПараметрыЗапроса = СтруктураЗапроса.ПараметрыЗапроса;
ТекущийОбъект.ДатаЗапроса = СтруктураЗапроса.ДатаЗапроса;
ТекущийОбъект.УстановитьНовыйКод();
ТекущийОбъект.Результат = Новый ХранилищеЗначения(РезультатОтвет, Новый СжатиеДанных(9));
ТекущийОбъект.ОбменДанными.Загрузка = Истина;
ТекущийОбъект.Записать();
КонецЕсли;
Иначе
РезультатОтвет = НайденнаяСсылка.Результат.Получить();
КонецЕсли;
СтруктураЗапроса.Вставить("РезультатОтвет",РезультатОтвет)
КонецПроцедуры
#КонецОбласти
#Область РаботаСДанными
//Получаем дату из входных параметров
Функция ПолучитьДатуВремяИзСтроки(ДатаВремя) Экспорт
Результат = Неопределено;
ДатаВремя = СтрЗаменить(ДатаВремя, "-", "");
ДатаВремя = СтрЗаменить(ДатаВремя, ":", "");
Если СтрДлина(ДатаВремя) - Найти(ДатаВремя, " ") = 5 Тогда // время в формате Ч:ММ:СС
ДатаВремя = СтрЗаменить(ДатаВремя, " ", "0");
ИначеЕсли Найти(ДатаВремя, "T") > 0 Тогда //время в формате ГГГГММДДTЧЧММСС
ДатаВремя = СтрЗаменить(ДатаВремя, "T", "");
Иначе // время в формате ЧЧ:ММ:СС
ДатаВремя = СтрЗаменить(ДатаВремя, " ", "");
КонецЕсли;
ОписаниеТипа = Новый ОписаниеТипов("Дата");
Результат = ОписаниеТипа.ПривестиЗначение(ДатаВремя); // дата и время в виде "ГГГГММДДЧЧММСС"
Если Не ЗначениеЗаполнено(Результат) Тогда
Результат = ОписаниеТипа.ПривестиЗначение(Лев(ДатаВремя, 8)); // только дата "ГГГГММДД"
КонецЕсли;
Возврат Результат;
КонецФункции
//Получаем ПустуюСсылку
Функция ПустаяСсылкаПоНаименованиеОбъекта(НаименованиеОбъекта) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ЗНАЧЕНИЕ("+НаименованиеОбъекта+".ПустаяСсылка) как Ссылка";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.Ссылка;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
//Получаем ссылку на Справочник.HS_ХранилищеРезультатов по заданной структуре
Функция ПолучитьПредыдущийЗапрос(СтруктураЗапроса) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| HS_ХранилищеРезультатов.Ссылка КАК Ссылка
|ИЗ
| Справочник.HS_ХранилищеРезультатов КАК HS_ХранилищеРезультатов
|ГДЕ
| НЕ HS_ХранилищеРезультатов.ПометкаУдаления
| И HS_ХранилищеРезультатов.МетодЗапроса = &МетодЗапроса
| И HS_ХранилищеРезультатов.ПараметрыЗапроса = &ПараметрыЗапроса
| И HS_ХранилищеРезультатов.ДатаЗапроса МЕЖДУ &ДатаЗапросаН И &ДатаЗапросаК";
Запрос.УстановитьПараметр("ДатаЗапросаК", КонецДня(СтруктураЗапроса.ДатаЗапроса));
Запрос.УстановитьПараметр("ДатаЗапросаН", НачалоДня(СтруктураЗапроса.ДатаЗапроса));
Запрос.УстановитьПараметр("МетодЗапроса", СтруктураЗапроса.МетодЗапроса);
Запрос.УстановитьПараметр("ПараметрыЗапроса", СтруктураЗапроса.ПараметрыЗапроса);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
Возврат ВыборкаДетальныеЗаписи.Ссылка;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
//Получить количество элементов запросом
Функция ПолучитьКоличествоЭлементов(НаименованиеОбъекта) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КОЛИЧЕСТВО(*) КАК Количество
|ИЗ
| [ИмяТаблицы]
|";
Если НЕ ПустаяСтрока(НаименованиеОбъекта) Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "[ИмяТаблицы]", НаименованиеОбъекта);
Иначе
Возврат -1;
КонецЕсли;
Попытка
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат 0;
Иначе
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
Возврат ВыборкаДетальныеЗаписи.Количество;
КонецЕсли;
КонецЕсли;
Исключение
Возврат -1;
КонецПопытки;
КонецФункции
//Если в порции 1000 элементов, то мы получим 1000-й
Функция ПолучитьПоследнийЭлементПорции(ВхСтруктура,НаименованиеОбъекта,Порция) Экспорт
//ПромежуточнаяСтруктура = Новый Структура("Продолжаем,Ссылка",Истина,Неопределено);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ "+Формат(Порция, "ЧДЦ=0; ЧН=0; ЧГ=")+"
| Ссылка КАК Ссылка
|ПОМЕСТИТЬ ВременнаяТаблица
|ИЗ
| [ИмяТаблицы]
|ГДЕ
| Ссылка > &Ссылка
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВременнаяТаблица.Ссылка КАК Ссылка
|ИЗ
| ВременнаяТаблица КАК ВременнаяТаблица
|ГДЕ
| НЕ ВременнаяТаблица.Ссылка В
| (ВЫБРАТЬ ПЕРВЫЕ "+ Формат(Порция-1, "ЧДЦ=0; ЧН=0; ЧГ=")+"
| тз.Ссылка
| ИЗ
| ВременнаяТаблица КАК тз)";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "[ИмяТаблицы]", НаименованиеОбъекта);
Если ВхСтруктура.Ссылка = Неопределено Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Ссылка", "ЗНАЧЕНИЕ("+НаименованиеОбъекта+".ПустаяСсылка)");
Иначе
Запрос.УстановитьПараметр("Ссылка", ВхСтруктура.Ссылка);
КонецЕсли;
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
ВхСтруктура.Продолжаем = Ложь;
Иначе
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
ВхСтруктура.Продолжаем = Истина;
ВхСтруктура.Ссылка = ВыборкаДетальныеЗаписи.Ссылка;
Иначе
ВхСтруктура.Продолжаем = Ложь;
КонецЕсли;
КонецЕсли;
Возврат ВхСтруктура;
КонецФункции
Функция ПреобразоватьТаблицуЗначенийВМассивСтруктур(п_ТЗ) Экспорт
Массив = Новый Массив();
СтруктураСтрокой = "";
НужнаЗапятая = Ложь;
Для Каждого Колонка Из п_ТЗ.Колонки Цикл
Если НужнаЗапятая Тогда
СтруктураСтрокой = СтруктураСтрокой + ",";
КонецЕсли;
СтруктураСтрокой = СтруктураСтрокой + Колонка.Имя;
НужнаЗапятая = Истина;
КонецЦикла;
Для Каждого Строка Из п_ТЗ Цикл
НоваяСтрока = Новый Структура(СтруктураСтрокой);
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
Массив.Добавить(НоваяСтрока);
КонецЦикла;
Возврат Массив;
КонецФункции
#КонецОбласти
#Область СерилизацияДесирилизация
Функция ЗаписатьДанныеВJSON(ВхПараметры,РезультатОтвет) Экспорт
ПараметрыJSON = Новый ПараметрыЗаписиJSON(ВхПараметры.ПереносСтрок,
ВхПараметры.СимволОтступа,
ВхПараметры.ИспользоватьДвойныеКавычки,
ВхПараметры.ЭкранированиеСимволов,
ВхПараметры.ЭкранироватьУгловыеСкобки,
ВхПараметры.ЭкранироватьАмперсанд,
ВхПараметры.ЭкранироватьОдинарныеКавычки,
ВхПараметры.ЭкранироватьРазделителиСтрок,
ВхПараметры.ЭкранироватьСлешь);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.ПроверятьСтруктуру = Истина;
ЗаписьJSON.УстановитьСтроку(ПараметрыJSON);
Попытка
ЗаписатьJSON(ЗаписьJSON, РезультатОтвет);
Результат = ЗаписьJSON.Закрыть();
Исключение
Результат = "";
КонецПопытки;
Возврат Результат;
КонецФункции
Функция СтандартныеПараметрыJSON() Экспорт
ПараметрыJSON = Новый Структура;
ПараметрыJSON.Вставить("ПереносСтрок",ПереносСтрокJSON.Нет);
ПараметрыJSON.Вставить("СимволОтступа"," ");
ПараметрыJSON.Вставить("ИспользоватьДвойныеКавычки",Истина);
ПараметрыJSON.Вставить("ЭкранированиеСимволов",ЭкранированиеСимволовJSON.Нет);
ПараметрыJSON.Вставить("ЭкранироватьУгловыеСкобки",Ложь);
ПараметрыJSON.Вставить("ЭкранироватьАмперсанд",Ложь);
ПараметрыJSON.Вставить("ЭкранироватьОдинарныеКавычки",Ложь);
ПараметрыJSON.Вставить("ЭкранироватьРазделителиСтрок",Ложь);
ПараметрыJSON.Вставить("ЭкранироватьСлешь",Ложь);
Возврат ПараметрыJSON;
КонецФункции
#КонецОбласти
#Область ФорматыОтвета
Процедура ВозвращаемНужныйФорматОтвета(Ответ,СтруктураОтвет) Экспорт
Если СтруктураОтвет.Свойство("ФорматОтвета") Тогда
ФорматОтвета = СтруктураОтвет.ФорматОтвета;
Иначе
ФорматОтвета = "";
КонецЕсли;
Если ВРег(ФорматОтвета) = ВрегорматОтветаJSON()) Тогда
Ответ.Заголовки.Вставить("Content-Type","application/json; charset=utf-8");
Иначе
Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
КонецЕсли;
КонецПроцедуры
Функция ФорматОтветаJSON() Экспорт
Возврат "JSON";
КонецФункции
#КонецОбласти
#Область РаботаСФоновымиЗаданиями
Функция НайтиЗадание(Идентификатор) Экспорт
// Считывает состояние фонового задания по переданному идентификатору.
//
// Параметры:
// Идентификатор - УникальныйИдентификатор - Идентификатор фонового задания.
//
// Возвращаемое значение:
// Неопределено - Задание не найдено.
// Структура - Сведения о задании.
// * Выполняется - Булево - Истина когда фоновое задание еще выполняется.
// * Успешно - Булево - Истина когда сеанс фонового задания завершился без ошибок.
// * Ошибка - Строка, ИнформацияОбОшибке, Неопределено - Описание ошибки.
//
УстановитьПривилегированныйРежим(Истина);
Результат = Новый Структура("Выполняется, Успех, Ошибка", Ложь, Ложь, Неопределено);
Если Идентификатор = Неопределено Тогда
Возврат Результат;
КонецЕсли;
Задание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);
Если Задание = Неопределено Тогда
Возврат Результат;
КонецЕсли;
Если Задание.Состояние = СостояниеФоновогоЗадания.Активно Тогда
Результат.Выполняется = Истина;
Иначе
Результат.Выполняется = Ложь;
Если Задание.Состояние = СостояниеФоновогоЗадания.Завершено Тогда
Результат.Успех = Истина;
Иначе
Результат.Успех = Ложь;
Результат.Ошибка = Задание.ИнформацияОбОшибке;
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
#КонецОбласти

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<ConfigDumpInfo xmlns="http://v8.1c.ru/8.3/xcf/dumpinfo" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" format="Hierarchical" version="2.13">
<ConfigVersions>
<Metadata name="AccumulationRegister.ОплатаСчетовПокупателями" id="dd5dc661-1b50-4db9-9fbd-786afabccbd2" configVersion="c7cfbccc60f55bdc562cae82fd82f317292b5245">
<Metadata name="AccumulationRegister.ОплатаСчетовПокупателями.Dimension.Договор" id="05042d8a-975a-4b3f-9f2d-846c4085ac22"/>
<Metadata name="AccumulationRegister.ОплатаСчетовПокупателями.Dimension.Контрагент" id="7e5fd6a2-10cb-4838-b44c-a2a0ae347dbd"/>
<Metadata name="AccumulationRegister.ОплатаСчетовПокупателями.Resource.Сумма" id="951ca4cc-beef-49c4-8cb9-30937e38b791"/>
<Metadata name="AccumulationRegister.ОплатаСчетовПокупателями.Dimension.Счет" id="ad15d28e-9ff9-4385-bb56-097fa08c965a"/>
<Metadata name="AccumulationRegister.ОплатаСчетовПокупателями.Attribute.Заявка" id="dac8a559-50f1-4fbb-838b-4454cd6d4a8a"/>
</Metadata>
<Metadata name="Catalog.ВидыСостоянийДокументов" id="056274a5-1cbb-45e1-9d8a-89fc8bc75111" configVersion="6454455ae5d551a76b6a636ed955bf717d91cbba"/>
<Metadata name="Catalog.ДоговорыКонтрагентов" id="14b39685-4d50-489e-a6f0-c36ef1fb448e" configVersion="08d5f1fa7f4b7afbecc73318b86481d82932b3b9"/>
<Metadata name="Catalog.КонтактныеЛица" id="71c6a3ca-1a20-4f2a-8914-97112f8a7754" configVersion="0ae953033ce98014e1d4f9c52ad5a179e0a05885"/>
<Metadata name="Catalog.Контрагенты" id="723cd812-ef6a-4ace-9656-fca9ec604c11" configVersion="00df6af45dcb74dd59d94aef38fd6646ca6fafd0">
<Metadata name="Catalog.Контрагенты.Attribute.НаименованиеПолное" id="57de5bf6-03d7-4207-b9c8-3785c14ed433"/>
<Metadata name="Catalog.Контрагенты.Attribute.НаименованиеСокращенное" id="75cde31b-3104-4d32-a7ec-2440ffe8188d"/>
<Metadata name="Catalog.Контрагенты.Attribute.ЮридическоеФизическоеЛицо" id="80e1686b-097d-4ca7-8bf6-44a18fb71443"/>
<Metadata name="Catalog.Контрагенты.Attribute.ИНН" id="c6bb64b1-44db-416e-a106-0df945168d5c"/>
</Metadata>
<Metadata name="CommonModule.HS_ОбработкаМетодовHTTP" id="b6c28101-fd2e-4a62-a9b4-2683e0a0cfcc" configVersion="e2fb7b08fd60092c78539a9b1471993cb47744bf"/>
<Metadata name="CommonModule.HS_ОбработкаМетодовHTTP.Module" id="b6c28101-fd2e-4a62-a9b4-2683e0a0cfcc.0" configVersion="ccfa20235cdba4bfaf45add54c5d460b5ecce24d"/>
<Metadata name="CommonModule.HS_ОбработкаУниверсальныхМетодов" id="7f4fd8e1-99c9-4fcf-b701-09d6d71b96f3" configVersion="e0381c07e12b0b034acf84d2df25037e42b3e9ae"/>
<Metadata name="CommonModule.HS_ОбработкаУниверсальныхМетодов.Module" id="7f4fd8e1-99c9-4fcf-b701-09d6d71b96f3.0" configVersion="4019c390e96297eb5da6028a34570838a280be34"/>
<Metadata name="CommonModule.HS_ОбщиеПроцедурыИФункции" id="4ab690bd-caea-4563-9a2b-e4a5ae739728" configVersion="b89b8633cb6456df9b0b7e389b7f97693e20f3ea"/>
<Metadata name="CommonModule.HS_ОбщиеПроцедурыИФункции.Module" id="4ab690bd-caea-4563-9a2b-e4a5ae739728.0" configVersion="b1e3adb2ca556d6ff8c31034ff0af268f5410fa9"/>
<Metadata name="Configuration.HTTPServices" id="558ee10e-6c7a-4d2c-9339-9c1f6b1d7a8a" configVersion="ebc80c57a74d6c17896c2e3e438ad4b9e09e6ca4"/>
<Metadata name="DefinedType.ВладелецСостоянияДокумента" id="12c4ae52-5833-41cf-9de9-c06aef76318c" configVersion="d38b9099a460ca2ffa59a566f0f3614b5cce987e"/>
<Metadata name="Document.ЗаказКлиента" id="a9636ff6-5343-4f84-9b22-1603674221f7" configVersion="e9795303a33b9634cf94b0151f67e8b5113ad705">
<Metadata name="Document.ЗаказКлиента.Attribute.Контрагент" id="e1450e3a-fbf8-47c8-ace4-f4527dc42cd9"/>
</Metadata>
<Metadata name="Document.Заявка" id="312a1769-7455-434d-beec-7b31670b94de" configVersion="b140529e078b1088dbab2529e681b5bbb33e2f10"/>
<Metadata name="Document.СчетНаОплатуПокупателю" id="a272a4bc-e693-4f7b-830b-e39b4c27f6a9" configVersion="e7b5ad349c738f50277c0bf085aec559b118f9cb">
<Metadata name="Document.СчетНаОплатуПокупателю.Attribute.ЗаявкаОснование" id="4164786f-5689-4581-a010-0869cc00e2f3"/>
<Metadata name="Document.СчетНаОплатуПокупателю.Attribute.Контрагент" id="f77bba15-7dfe-4369-ba1f-65e9282588c9"/>
</Metadata>
<Metadata name="Enum.ЮридическоеФизическоеЛицо" id="fec3c2c9-4eec-450a-968e-f74f6fe6af73" configVersion="f4e988a3825eecf22ffca136e39315a807ca8c85">
<Metadata name="Enum.ЮридическоеФизическоеЛицо.EnumValue.ФизическоеЛицо" id="bdd1bc6a-2b59-4a65-b61d-ab1a036d104f"/>
<Metadata name="Enum.ЮридическоеФизическоеЛицо.EnumValue.ЮридическоеЛицо" id="dd36bfb7-6583-413a-8797-4b28fc4194c5"/>
</Metadata>
<Metadata name="HTTPService.HS_CSM_API" id="75f1821c-6241-4c4e-a86a-af75ca68cb33" configVersion="99c197dfc817e7e975af6a3380b7f2fa209a6859">
<Metadata name="HTTPService.HS_CSM_API.URLTemplate.CSM_API.Method.POST" id="6f8e95c5-5b73-4db1-946e-770af212d73b"/>
<Metadata name="HTTPService.HS_CSM_API.URLTemplate.CSM_API" id="85ad2366-6768-4573-af96-9a34c1330659"/>
</Metadata>
<Metadata name="HTTPService.HS_CSM_API.Module" id="75f1821c-6241-4c4e-a86a-af75ca68cb33.0" configVersion="9549f7dae6cfd67049847540720b0a063f84d28c"/>
<Metadata name="HTTPService.HS_ПолучитьКонтрагентаПоИНН" id="43d2d49d-e7ef-4d93-84a3-ada4453539b5" configVersion="fd315f3436988513abe2e3aea57b8a172abdf582">
<Metadata name="HTTPService.HS_ПолучитьКонтрагентаПоИНН.URLTemplate.ContFromINN.Method.POST" id="6c72de34-f170-46e5-b6be-d12128f94196"/>
<Metadata name="HTTPService.HS_ПолучитьКонтрагентаПоИНН.URLTemplate.ContFromINN" id="861d2c29-f1de-4c08-b93b-609eb7ce8414"/>
</Metadata>
<Metadata name="HTTPService.HS_ПолучитьКонтрагентаПоИНН.Module" id="43d2d49d-e7ef-4d93-84a3-ada4453539b5.0" configVersion="034aece3cc6ed5da6c0384ad33dbe47187dbc8b6"/>
<Metadata name="InformationRegister.СостоянияДокументов" id="3640257c-818e-4426-97a1-69a1e6ee1030" configVersion="ad3de59babf2f65b192b5475373e28ed4acf2c1f">
<Metadata name="InformationRegister.СостоянияДокументов.Attribute.ДатаУстановкиСостояния" id="27b6d888-bc3b-426c-aa84-a591205f3a57"/>
<Metadata name="InformationRegister.СостоянияДокументов.Dimension.Документ" id="7d986f6d-ead2-486b-a8ee-e038b0aebb59"/>
<Metadata name="InformationRegister.СостоянияДокументов.Resource.Состояние" id="e68d72c2-147d-46c4-8648-cb10df9b49b9"/>
</Metadata>
<Metadata name="Language.Русский" id="fb4fccf2-1785-4a1c-93f5-a471a35692ac" configVersion="17c426b7a6ccd491d07d05d7eb9246648d800a06"/>
</ConfigVersions>
</ConfigDumpInfo>

View File

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<Configuration uuid="558ee10e-6c7a-4d2c-9339-9c1f6b1d7a8a">
<InternalInfo>
<xr:ContainedObject>
<xr:ClassId>9cd510cd-abfc-11d4-9434-004095e12fc7</xr:ClassId>
<xr:ObjectId>ef0d805a-3847-4325-95bf-af7fdcaa8a01</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>9fcd25a0-4822-11d4-9414-008048da11f9</xr:ClassId>
<xr:ObjectId>615f1330-d148-44bc-81e1-d389e9534f40</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>e3687481-0a87-462c-a166-9f34594f9bba</xr:ClassId>
<xr:ObjectId>9d7d7a29-ce18-4327-8f0b-b8df2dbbd874</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>9de14907-ec23-4a07-96f0-85521cb6b53b</xr:ClassId>
<xr:ObjectId>ca6af699-2199-42ec-bb6e-99f983b52a6d</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>51f2d5d8-ea4d-4064-8892-82951750031e</xr:ClassId>
<xr:ObjectId>d26202dc-649d-4c29-84aa-8808df2f5766</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>e68182ea-4237-4383-967f-90c1e3370bc7</xr:ClassId>
<xr:ObjectId>aa2cb56c-2f15-40a1-9784-2c51145f0955</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>fb282519-d103-4dd3-bc12-cb271d631dfc</xr:ClassId>
<xr:ObjectId>d898cfc2-b545-41a8-9812-66ebf3c9c613</xr:ObjectId>
</xr:ContainedObject>
</InternalInfo>
<Properties>
<Name>HTTPServices</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>HTTP Service</v8:content>
</v8:item>
</Synonym>
<Comment/>
<ConfigurationExtensionPurpose>AddOn</ConfigurationExtensionPurpose>
<ObjectBelonging>Adopted</ObjectBelonging>
<KeepMappingToExtendedConfigurationObjectsByIDs>true</KeepMappingToExtendedConfigurationObjectsByIDs>
<NamePrefix>HS_</NamePrefix>
<ConfigurationExtensionCompatibilityMode>Version8_3_13</ConfigurationExtensionCompatibilityMode>
<DefaultRunMode>ManagedApplication</DefaultRunMode>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
</UsePurposes>
<ScriptVariant>Russian</ScriptVariant>
<Vendor>ZheLeZ0</Vendor>
<Version>0.0.0.01</Version>
<DefaultLanguage>Language.Русский</DefaultLanguage>
<BriefInformation/>
<DetailedInformation/>
<Copyright/>
<VendorInformationAddress/>
<ConfigurationInformationAddress/>
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
</Properties>
<ChildObjects>
<Language>Русский</Language>
<CommonModule>HS_ОбработкаМетодовHTTP</CommonModule>
<CommonModule>HS_ОбщиеПроцедурыИФункции</CommonModule>
<CommonModule>HS_ОбработкаУниверсальныхМетодов</CommonModule>
<HTTPService>HS_CSM_API</HTTPService>
<HTTPService>HS_ПолучитьКонтрагентаПоИНН</HTTPService>
<DefinedType>ВладелецСостоянияДокумента</DefinedType>
<Catalog>Контрагенты</Catalog>
<Catalog>КонтактныеЛица</Catalog>
<Catalog>ДоговорыКонтрагентов</Catalog>
<Catalog>ВидыСостоянийДокументов</Catalog>
<Document>ЗаказКлиента</Document>
<Document>СчетНаОплатуПокупателю</Document>
<Document>Заявка</Document>
<Enum>ЮридическоеФизическоеЛицо</Enum>
<InformationRegister>СостоянияДокументов</InformationRegister>
<AccumulationRegister>ОплатаСчетовПокупателями</AccumulationRegister>
</ChildObjects>
</Configuration>
</MetaDataObject>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<DefinedType uuid="12c4ae52-5833-41cf-9de9-c06aef76318c">
<InternalInfo>
<xr:GeneratedType name="DefinedType.ВладелецСостоянияДокумента" category="DefinedType">
<xr:TypeId>623cdbde-d542-4321-9ef8-9979f4cf1996</xr:TypeId>
<xr:ValueId>a5e9bc2b-6f5e-4195-9f39-c688e2d061cf</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ВладелецСостоянияДокумента</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>3861957d-a588-4af9-a8b7-a411a11a8ece</ExtendedConfigurationObject>
</Properties>
</DefinedType>
</MetaDataObject>

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<Document uuid="a9636ff6-5343-4f84-9b22-1603674221f7">
<InternalInfo>
<xr:GeneratedType name="DocumentObject.ЗаказКлиента" category="Object">
<xr:TypeId>1fc2fe80-b1fd-4c54-8933-7337bed7622c</xr:TypeId>
<xr:ValueId>121adbc6-315a-44ce-86d5-dbb3bbcf8b34</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DocumentRef.ЗаказКлиента" category="Ref">
<xr:TypeId>99682e32-8f08-4415-8945-18f2cfb2c698</xr:TypeId>
<xr:ValueId>22ea2404-6f88-4e1c-a3d0-a9fb672244c4</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DocumentSelection.ЗаказКлиента" category="Selection">
<xr:TypeId>17784b97-8952-4269-8127-eec82314d5c0</xr:TypeId>
<xr:ValueId>c53cc267-54b3-4213-9857-70e9b9005429</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DocumentList.ЗаказКлиента" category="List">
<xr:TypeId>1a17ee1b-1965-4a51-9e28-8cc90ecb0c56</xr:TypeId>
<xr:ValueId>728516be-3e4f-478e-b34a-32d5e84f04d6</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DocumentManager.ЗаказКлиента" category="Manager">
<xr:TypeId>1fd43968-a80b-40a6-aac3-b75775b086a7</xr:TypeId>
<xr:ValueId>376cb175-3063-40d3-9010-65aa205a61bc</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ЗаказКлиента</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>d54e9a32-b5b5-4e5d-856e-f937a589dec9</ExtendedConfigurationObject>
<RegisterRecords/>
</Properties>
<ChildObjects>
<Attribute uuid="e1450e3a-fbf8-47c8-ace4-f4527dc42cd9">
<InternalInfo/>
<Properties>
<Name>Контрагент</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>b379ea5a-d702-4929-99b7-a388c4e0f842</ExtendedConfigurationObject>
<Type>
<v8:Type>cfg:CatalogRef.Контрагенты</v8:Type>
</Type>
</Properties>
</Attribute>
</ChildObjects>
</Document>
</MetaDataObject>

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<Document uuid="312a1769-7455-434d-beec-7b31670b94de">
<InternalInfo>
<xr:GeneratedType name="DocumentObject.Заявка" category="Object">
<xr:TypeId>875c13c4-f9e2-43a6-921c-6f2db25866c9</xr:TypeId>
<xr:ValueId>51a8277d-9f17-45ef-97a1-d3db60cd017c</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DocumentRef.Заявка" category="Ref">
<xr:TypeId>8f8429b6-5e4f-4588-a591-d6ea043dcad0</xr:TypeId>
<xr:ValueId>c228c381-5793-4d23-b479-fa814b7b965d</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DocumentSelection.Заявка" category="Selection">
<xr:TypeId>09faca81-eb5c-4f5a-a390-e78a0dd46d4d</xr:TypeId>
<xr:ValueId>a19f0a8d-e757-4d0a-95cc-458b763359ca</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DocumentList.Заявка" category="List">
<xr:TypeId>272168a9-4966-4504-a6c4-9a0ca061beb8</xr:TypeId>
<xr:ValueId>524d114c-697d-4840-8688-120700773f3f</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DocumentManager.Заявка" category="Manager">
<xr:TypeId>adf20928-a602-438c-9181-379d3146d4ff</xr:TypeId>
<xr:ValueId>18e552f1-bd14-48c6-ada4-1f469461adfe</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>Заявка</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>eab53d5f-9cb7-4e46-909c-277a2cc4086f</ExtendedConfigurationObject>
<RegisterRecords/>
</Properties>
<ChildObjects/>
</Document>
</MetaDataObject>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<Document uuid="a272a4bc-e693-4f7b-830b-e39b4c27f6a9">
<InternalInfo>
<xr:GeneratedType name="DocumentObject.СчетНаОплатуПокупателю" category="Object">
<xr:TypeId>53f32b88-5fd6-4a3c-abba-8af925bbe948</xr:TypeId>
<xr:ValueId>36395368-2cb8-46be-ab56-e5d06f82aae6</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DocumentRef.СчетНаОплатуПокупателю" category="Ref">
<xr:TypeId>13d17769-1e97-4e5c-aec4-70653e0e67cb</xr:TypeId>
<xr:ValueId>aec00980-02f1-4529-a043-c48b1de57dcf</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DocumentSelection.СчетНаОплатуПокупателю" category="Selection">
<xr:TypeId>1eeb11a4-2f77-4b0f-813c-0ce8fc0a79ee</xr:TypeId>
<xr:ValueId>53658bbc-ac29-499e-a470-72e256043bcb</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DocumentList.СчетНаОплатуПокупателю" category="List">
<xr:TypeId>448cd624-6a37-459b-a517-3a2b84623def</xr:TypeId>
<xr:ValueId>38fab049-9da3-495c-bdf6-4cdea52816e7</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="DocumentManager.СчетНаОплатуПокупателю" category="Manager">
<xr:TypeId>0a8bcd54-22c7-4250-b32e-97503943de3c</xr:TypeId>
<xr:ValueId>ff5c52f7-7366-4482-aac8-9a80e56e6ecb</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>СчетНаОплатуПокупателю</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>459ebe0d-2cf6-494c-914a-64b8956306fe</ExtendedConfigurationObject>
<RegisterRecords/>
</Properties>
<ChildObjects>
<Attribute uuid="f77bba15-7dfe-4369-ba1f-65e9282588c9">
<InternalInfo/>
<Properties>
<Name>Контрагент</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>39147772-977f-4479-be80-ef84677e1718</ExtendedConfigurationObject>
<Type>
<v8:Type>cfg:CatalogRef.Контрагенты</v8:Type>
</Type>
</Properties>
</Attribute>
<Attribute uuid="4164786f-5689-4581-a010-0869cc00e2f3">
<InternalInfo/>
<Properties>
<Name>ЗаявкаОснование</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>c0105859-1a24-4564-b27a-8b76dd76d218</ExtendedConfigurationObject>
<Type>
<v8:TypeSet>cfg:AnyRef</v8:TypeSet>
</Type>
</Properties>
</Attribute>
</ChildObjects>
</Document>
</MetaDataObject>

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<Enum uuid="fec3c2c9-4eec-450a-968e-f74f6fe6af73">
<InternalInfo>
<xr:GeneratedType name="EnumRef.ЮридическоеФизическоеЛицо" category="Ref">
<xr:TypeId>b03a3038-53f0-49e2-8f18-eb91bc3ca579</xr:TypeId>
<xr:ValueId>cb714364-2bb4-442e-b339-5598f7d9ade4</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="EnumManager.ЮридическоеФизическоеЛицо" category="Manager">
<xr:TypeId>dda68179-8676-490d-90d5-53bd7cdad290</xr:TypeId>
<xr:ValueId>474e1cf6-2c6f-4e96-a88e-7c0f9e874547</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="EnumList.ЮридическоеФизическоеЛицо" category="List">
<xr:TypeId>a2100e67-6819-46e7-b64e-5d4cfe458219</xr:TypeId>
<xr:ValueId>3246b09b-86c7-47a2-98ce-744fea156c3a</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ЮридическоеФизическоеЛицо</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>8c0047ed-e38e-494c-9c23-096db84ac345</ExtendedConfigurationObject>
</Properties>
<ChildObjects>
<EnumValue uuid="dd36bfb7-6583-413a-8797-4b28fc4194c5">
<InternalInfo/>
<Properties>
<Name>ЮридическоеЛицо</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>e88926ba-5730-4b05-bf70-311b35a06afc</ExtendedConfigurationObject>
</Properties>
</EnumValue>
<EnumValue uuid="bdd1bc6a-2b59-4a65-b61d-ab1a036d104f">
<InternalInfo/>
<Properties>
<Name>ФизическоеЛицо</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>bd634b28-d5b7-4ac7-aac9-2ff113f90e9e</ExtendedConfigurationObject>
</Properties>
</EnumValue>
</ChildObjects>
</Enum>
</MetaDataObject>

View File

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<HTTPService uuid="75f1821c-6241-4c4e-a86a-af75ca68cb33">
<Properties>
<Name>HS_CSM_API</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>CSM API</v8:content>
</v8:item>
</Synonym>
<Comment>API интерфейс для получения информации на сайт прямыми запросами</Comment>
<RootURL>CSM-API</RootURL>
<ReuseSessions>AutoUse</ReuseSessions>
<SessionMaxAge>20</SessionMaxAge>
</Properties>
<ChildObjects>
<URLTemplate uuid="85ad2366-6768-4573-af96-9a34c1330659">
<Properties>
<Name>CSM_API</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>CSM API</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Template>/{ИмяМетода}</Template>
</Properties>
<ChildObjects>
<Method uuid="6f8e95c5-5b73-4db1-946e-770af212d73b">
<Properties>
<Name>POST</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>POST</v8:content>
</v8:item>
</Synonym>
<Comment/>
<HTTPMethod>POST</HTTPMethod>
<Handler>CSM_API_POST</Handler>
</Properties>
</Method>
</ChildObjects>
</URLTemplate>
</ChildObjects>
</HTTPService>
</MetaDataObject>

View File

@ -0,0 +1,30 @@

Функция CSM_API_POST(Запрос)
СтруктураВхПараметров = Новый Структура;
//Получаем имя метода
перИмяМетода = Запрос.ПараметрыURL["ИмяМетода"];
//Помещаем имя метода в структуру
СтруктураВхПараметров.Вставить("ИмяМетода",перИмяМетода);
//Метод запроса
СтруктураВхПараметров.Вставить("МетодЗапроса",Запрос.HTTPМетод);
//Тело запроса
ЗапросОтКлиента = Запрос.ПолучитьТелоКакСтроку();
СтруктураВхПараметров.Вставить("ТелоЗапроса",ЗапросОтКлиента);
//Передаем входящие параметры (Модуль для метода POST)
СтруктураОтвет = HS_ОбработкаМетодовHTTP.HS_ОбработкаМетодовPOST(СтруктураВхПараметров);
Ответ = Новый HTTPСервисОтвет(СтруктураОтвет.КодОтвета);
Если СтруктураОтвет.Отработало Тогда
Ответ.УстановитьТелоИзСтроки(СтруктураОтвет.ДанныеОтвета,КодировкаТекста.UTF8);
Иначе
Ответ.УстановитьТелоИзСтроки(СтруктураОтвет.ТекстОшибки,КодировкаТекста.UTF8);
КонецЕсли;
//В зависимости от формата меняем "Content-Type"
HS_ОбщиеПроцедурыИФункции.ВозвращаемНужныйФорматОтвета(Ответ,СтруктураОтвет);
Возврат Ответ;
КонецФункции

View File

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<HTTPService uuid="43d2d49d-e7ef-4d93-84a3-ada4453539b5">
<Properties>
<Name>HS_ПолучитьКонтрагентаПоИНН</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>HS получить контрагента по ИНН</v8:content>
</v8:item>
</Synonym>
<Comment/>
<RootURL>ContFromINN</RootURL>
<ReuseSessions>AutoUse</ReuseSessions>
<SessionMaxAge>20</SessionMaxAge>
</Properties>
<ChildObjects>
<URLTemplate uuid="861d2c29-f1de-4c08-b93b-609eb7ce8414">
<Properties>
<Name>ContFromINN</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Cont from INN</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Template>/*</Template>
</Properties>
<ChildObjects>
<Method uuid="6c72de34-f170-46e5-b6be-d12128f94196">
<Properties>
<Name>POST</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>POST</v8:content>
</v8:item>
</Synonym>
<Comment/>
<HTTPMethod>POST</HTTPMethod>
<Handler>ContFromINN_POST</Handler>
</Properties>
</Method>
</ChildObjects>
</URLTemplate>
</ChildObjects>
</HTTPService>
</MetaDataObject>

View File

@ -0,0 +1,30 @@

Функция ContFromINN_POST(Запрос)
СтруктураВхПараметров = Новый Структура;
//Получаем имя метода
перИмяМетода = Запрос.ПараметрыURL["ИмяМетода"];
//Помещаем имя метода в структуру
СтруктураВхПараметров.Вставить("ИмяМетода",перИмяМетода);
//Метод запроса
СтруктураВхПараметров.Вставить("МетодЗапроса",Запрос.HTTPМетод);
//Тело запроса
ЗапросОтКлиента = Запрос.ПолучитьТелоКакСтроку();
СтруктураВхПараметров.Вставить("ТелоЗапроса",ЗапросОтКлиента);
//Передаем входящие параметры (Модуль для метода POST)
СтруктураОтвет = HS_ОбработкаМетодовHTTP.HS_ОбработкаМетодовPOST(СтруктураВхПараметров);
Ответ = Новый HTTPСервисОтвет(СтруктураОтвет.КодОтвета);
Если СтруктураОтвет.Отработало Тогда
Ответ.УстановитьТелоИзСтроки(СтруктураОтвет.ДанныеОтвета,КодировкаТекста.UTF8);
Иначе
Ответ.УстановитьТелоИзСтроки(СтруктураОтвет.ТекстОшибки,КодировкаТекста.UTF8);
КонецЕсли;
//В зависимости от формата меняем "Content-Type"
HS_ОбщиеПроцедурыИФункции.ВозвращаемНужныйФорматОтвета(Ответ,СтруктураОтвет);
Возврат Ответ;
КонецФункции

View File

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<InformationRegister uuid="3640257c-818e-4426-97a1-69a1e6ee1030">
<InternalInfo>
<xr:GeneratedType name="InformationRegisterRecord.СостоянияДокументов" category="Record">
<xr:TypeId>2cbfd297-691a-411c-9615-4c85ed3844a0</xr:TypeId>
<xr:ValueId>d41f8ae2-8b7d-4e27-ae96-685329e33cc5</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterManager.СостоянияДокументов" category="Manager">
<xr:TypeId>136d6574-034e-4bbd-9983-8c1a13ebc64d</xr:TypeId>
<xr:ValueId>977e61e4-d19b-4f91-90c3-7fe35715147f</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterSelection.СостоянияДокументов" category="Selection">
<xr:TypeId>1fbb3c2f-340d-4f35-8507-c3524d6bfe5f</xr:TypeId>
<xr:ValueId>641ad8a9-b123-4472-866e-42f1e279e830</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterList.СостоянияДокументов" category="List">
<xr:TypeId>ed1611e2-7cd0-4d84-8849-a9df97072bf2</xr:TypeId>
<xr:ValueId>bb5d1d03-d9f6-486a-a74e-27d5a05714a6</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterRecordSet.СостоянияДокументов" category="RecordSet">
<xr:TypeId>e17f64a3-4631-4950-b435-61faca15de96</xr:TypeId>
<xr:ValueId>38929359-c0c8-4094-954a-6b39ada009f4</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterRecordKey.СостоянияДокументов" category="RecordKey">
<xr:TypeId>2f032c61-1087-48da-b05e-3bf088ccc7bb</xr:TypeId>
<xr:ValueId>38903448-09b9-4163-a865-1777a61ba447</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterRecordManager.СостоянияДокументов" category="RecordManager">
<xr:TypeId>b3d6e851-9dca-41ac-aa8d-277a707e0d19</xr:TypeId>
<xr:ValueId>be71de9d-78a0-435c-824e-b34c726f0bcf</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>СостоянияДокументов</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>ac764ded-add7-4c91-99bb-788fb1883dad</ExtendedConfigurationObject>
<InformationRegisterPeriodicity>Nonperiodical</InformationRegisterPeriodicity>
<WriteMode>Independent</WriteMode>
</Properties>
<ChildObjects>
<Resource uuid="e68d72c2-147d-46c4-8648-cb10df9b49b9">
<InternalInfo/>
<Properties>
<Name>Состояние</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>b9cc309d-1af2-4cbf-8f1c-28da9102b2b1</ExtendedConfigurationObject>
<Type>
<v8:Type>cfg:CatalogRef.ВидыСостоянийДокументов</v8:Type>
</Type>
</Properties>
</Resource>
<Attribute uuid="27b6d888-bc3b-426c-aa84-a591205f3a57">
<InternalInfo/>
<Properties>
<Name>ДатаУстановкиСостояния</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>cb537565-2fcc-4356-8388-845a3103b8ea</ExtendedConfigurationObject>
<Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</Type>
</Properties>
</Attribute>
<Dimension uuid="7d986f6d-ead2-486b-a8ee-e038b0aebb59">
<InternalInfo/>
<Properties>
<Name>Документ</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>76ff0a9e-630e-4589-86a9-8b4c0f670eb3</ExtendedConfigurationObject>
<Type>
<v8:TypeSet>cfg:DefinedType.ВладелецСостоянияДокумента</v8:TypeSet>
</Type>
</Properties>
</Dimension>
</ChildObjects>
</InformationRegister>
</MetaDataObject>

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.13">
<Language uuid="fb4fccf2-1785-4a1c-93f5-a471a35692ac">
<InternalInfo/>
<Properties>
<Name>Русский</Name>
<Comment/>
<ObjectBelonging>Adopted</ObjectBelonging>
<ExtendedConfigurationObject>27b83b64-c15f-4ab2-95af-13baf11f9fe4</ExtendedConfigurationObject>
<LanguageCode>ru</LanguageCode>
</Properties>
</Language>
</MetaDataObject>