Compare commits

..

111 Commits

Author SHA1 Message Date
Профи-Софт a973efa4c9 v3.0.0.120 2026-07-24 04:04:32 +00:00
Профи-Софт 82cf0044cc v3.0.0.119 2026-07-23 18:43:07 +00:00
Профи-Софт f726980064 v3.0.0.118 2026-07-23 16:23:07 +00:00
Профи-Софт de99bfa191 v3.0.0.117 2026-07-23 15:35:35 +00:00
Профи-Софт 7e16c0144c v3.0.0.116 2026-07-23 15:16:53 +00:00
Профи-Софт 52a5532685 v3.0.0.115 2026-07-23 14:56:51 +00:00
Профи-Софт 7ba85d3ee0 v3.0.0.114 2026-07-23 14:39:47 +00:00
Профи-Софт 37219c2c03 v3.0.0.113 2026-07-23 14:15:59 +00:00
Профи-Софт 18c098936b v3.0.0.112 2026-07-23 12:54:47 +00:00
Профи-Софт 31b6177ce4 v3.0.0.111 2026-07-23 08:11:37 +00:00
Профи-Софт aa3c4401ce v3.0.0.110 2026-07-23 04:21:14 +00:00
Профи-Софт f1796f537a v3.0.0.109 2026-07-22 13:53:36 +00:00
Профи-Софт e06ce3bf10 v3.0.0.108 2026-07-22 12:28:01 +00:00
Профи-Софт fa48a4924c v3.0.0.107 2026-07-22 11:56:49 +00:00
Профи-Софт 38216bf7a0 v3.0.0.106 2026-07-22 09:13:44 +00:00
Профи-Софт 7346734a09 v3.0.0.105 2026-07-21 17:49:17 +00:00
Профи-Софт 49a4b89f00 v3.0.0.104 2026-07-21 17:28:23 +00:00
Профи-Софт 0082bb833f v3.0.0.103 2026-07-21 06:16:29 +00:00
Профи-Софт 5a6357af20 v3.0.0.102 2026-07-21 05:47:51 +00:00
Профи-Софт 93f02db1ca v3.0.0.101 2026-07-20 18:02:37 +00:00
Профи-Софт 90ccb07660 v3.0.0.98 2026-07-20 17:50:23 +00:00
Профи-Софт e3f3cd603c v3.0.0.97 2026-07-20 17:28:26 +00:00
Профи-Софт 73abcfbe0b v3.0.0.96 2026-07-20 17:18:20 +00:00
Профи-Софт 321b27ad8b v3.0.0.95 2026-07-20 17:10:04 +00:00
Профи-Софт 5fd5e65ef1 v3.0.0.94 2026-07-20 14:39:48 +00:00
Профи-Софт 971436b89a v3.0.0.93 2026-07-20 14:22:37 +00:00
Профи-Софт e917b0a818 v3.0.0.92 2026-07-20 14:08:41 +00:00
Профи-Софт 8504860515 v3.0.0.91 2026-07-17 17:19:42 +00:00
Профи-Софт 9e739aa65f v3.0.0.90 2026-07-17 07:04:58 +00:00
Профи-Софт 40e0f771a9 v3.0.0.89 2026-07-17 06:42:01 +00:00
Профи-Софт b81a0b9a36 v3.0.0.88 2026-07-17 06:26:12 +00:00
Профи-Софт 160efc2440 v3.0.0.87 2026-07-17 05:44:05 +00:00
Профи-Софт cb2a6b6dca v3.0.0.86 2026-07-17 04:54:35 +00:00
Профи-Софт d920222cce v3.0.0.85 2026-07-17 04:11:29 +00:00
Профи-Софт e7f33c7e30 v3.0.0.84 2026-07-16 14:42:45 +00:00
Профи-Софт 17ad003fb2 v3.0.0.83 2026-07-16 11:02:58 +00:00
Профи-Софт 8a15d19f03 v3.0.0.78 2026-07-16 10:49:03 +00:00
Профи-Софт 12665eb8e7 v3.0.0.77 2026-07-16 10:36:35 +00:00
Профи-Софт 44b7d5e26d v3.0.0.76 2026-07-16 08:33:10 +00:00
Профи-Софт 65657932bd v3.0.0.75 2026-07-16 08:07:43 +00:00
Профи-Софт 055c9c3f45 v3.0.0.71 2026-07-16 07:08:38 +00:00
Профи-Софт 230e88ed63 v3.0.0.70 2026-07-14 07:08:18 +00:00
Профи-Софт 60b6facf84 v3.0.0.69 2026-07-14 06:57:43 +00:00
Профи-Софт 08a49e51a3 v3.0.0.68 2026-07-14 06:08:02 +00:00
Профи-Софт 919c573195 v3.0.0.67 2026-07-14 05:14:14 +00:00
Профи-Софт 4497ed6f6e v3.0.0.66 2026-07-14 04:51:54 +00:00
Профи-Софт 4ef4eda26f v3.0.0.65 2026-07-14 04:43:12 +00:00
Профи-Софт 8971b63915 v3.0.0.64 2026-07-14 04:35:21 +00:00
Профи-Софт 1fed6f9d32 v3.0.0.63 2026-07-14 04:29:32 +00:00
Профи-Софт aae744ba6a v3.0.0.62 2026-07-14 04:20:08 +00:00
Профи-Софт 0cfcfcf715 v3.0.0.61 2026-07-13 10:49:52 +00:00
Профи-Софт 9d51359c04 v3.0.0.60 2026-07-13 10:36:23 +00:00
Профи-Софт 5cae812406 v3.0.0.59 2026-07-13 10:30:30 +00:00
Профи-Софт 0c560f29b6 v3.0.0.58 2026-07-13 10:23:57 +00:00
Профи-Софт 546352ce27 v3.0.0.57 2026-07-13 10:07:15 +00:00
Профи-Софт e188c9dad1 v3.0.0.56 2026-07-13 01:31:35 +00:00
Профи-Софт 9bcefd4785 v3.0.0.55 2026-07-13 01:13:53 +00:00
Профи-Софт 1fcb34f07a v3.0.0.54 2026-07-13 00:42:34 +00:00
Профи-Софт e79fca3415 v3.0.0.53 2026-07-12 22:37:06 +00:00
Профи-Софт 215c470da7 v3.0.0.52 2026-07-12 22:30:41 +00:00
Профи-Софт 66627825ae v3.0.0.51 2026-07-12 22:15:24 +00:00
Профи-Софт 634e7fe39b v3.0.0.50 2026-07-12 22:06:29 +00:00
Профи-Софт 7d0c799fa1 v3.0.0.49 2026-07-12 21:48:38 +00:00
Профи-Софт 8e30983149 v3.0.0.48 2026-07-12 21:41:59 +00:00
Профи-Софт 0c6247c090 v3.0.0.47 2026-07-12 21:21:43 +00:00
Профи-Софт 5e6ea1bad0 v3.0.0.46 2026-07-12 21:12:34 +00:00
Профи-Софт ba69e9d10e v3.0.0.45 2026-07-12 19:16:54 +00:00
Профи-Софт 062305d35c v3.0.0.44-fix-funcname-final 2026-07-12 19:16:30 +00:00
Профи-Софт 4ebfe907ce v3.0.0.44 2026-07-12 18:50:00 +00:00
Профи-Софт 0f72b48c29 v3.0.0.43 2026-07-12 15:46:04 +00:00
Профи-Софт 6aa29cd4f8 v3.0.0.42-fix-tryexcept 2026-07-12 15:45:40 +00:00
Профи-Софт bf802837fc v3.0.0.42 2026-07-12 15:15:23 +00:00
Профи-Софт c3b94e8336 v3.0.0.41-fix-syntax 2026-07-12 15:14:59 +00:00
Профи-Софт c4ea98b3ab v3.0.0.41 2026-07-12 13:47:52 +00:00
Профи-Софт ea377c7100 v3.0.0.40 2026-07-12 13:46:33 +00:00
Профи-Софт 75545c1905 v3.0.0.39-borrow-catalogs 2026-07-12 13:46:08 +00:00
Профи-Софт 01b1d196a9 v3.0.0.38 2026-07-12 13:01:02 +00:00
Профи-Софт 1ad62e27ba v3.0.0.38: implement register writing (8 registers) 2026-07-12 13:00:39 +00:00
Профи-Софт d1e5cd57a6 v3.0.0.37 2026-07-12 12:56:58 +00:00
Профи-Софт 5df5dffb6a v3.0.0.35: add org/funding/calendar fields to form 2026-07-12 12:56:34 +00:00
Профи-Софт 23ba643a3f v3.0.0.35: fix XML attribute quoting 2026-07-12 12:54:25 +00:00
Профи-Софт 96ec41dbd4 v3.0.0.34: fix Form.xml encoding 2026-07-12 12:53:04 +00:00
Профи-Софт 45779431ca v3.0.0.33: add org/funding fields and calendar days to form 2026-07-12 12:51:13 +00:00
Профи-Софт f62237e24d v3.0.0.33: fix org/funding/month reading 2026-07-12 12:49:49 +00:00
Профи-Софт 7ce513bd0b v3.0.0.33 2026-07-12 12:43:32 +00:00
Профи-Софт 2b3c4e3d41 v3.0.0.31 2026-07-09 15:28:13 +00:00
Профи-Софт 6c10c21e5a v3.0.0.30 2026-07-09 15:16:33 +00:00
Профи-Софт 5c16b5f1c4 v3.0.0.29 2026-07-09 15:07:33 +00:00
Профи-Софт 7d966335e4 v3.0.0.28 2026-07-09 14:56:04 +00:00
Профи-Софт f759bd4103 v3.0.0.27 2026-07-09 14:50:40 +00:00
Профи-Софт e6e3d3651b v3.0.0.26 2026-07-09 14:45:03 +00:00
Профи-Софт 6a078ab00e v3.0.0.25 2026-07-09 14:37:07 +00:00
Профи-Софт a0df71a10a v3.0.0.24 2026-07-09 14:14:27 +00:00
Профи-Софт e079adba6f v3.0.0.23 2026-07-09 14:07:14 +00:00
Профи-Софт 38f7064250 v3.0.0.22-fix-name-mismatch 2026-07-09 13:54:47 +00:00
Профи-Софт cd9e373fec v3.0.0.22-fix-all-quotes 2026-07-09 13:51:28 +00:00
Профи-Софт c00921ac67 v3.0.0.22-add-advance-fields-utf8 2026-07-09 13:48:37 +00:00
Профи-Софт f5a92ad07a v3.0.0.22-restore-config 2026-07-09 13:45:51 +00:00
Профи-Софт 6ee305f117 v3.0.0.22-fix-config 2026-07-09 13:44:56 +00:00
Профи-Софт 89f74bb409 v3.0.0.22-add-advance-fields 2026-07-09 13:40:19 +00:00
Профи-Софт a175b27512 v3.0.0.21 hotfix: fix XML attribute quoting 2026-07-09 13:22:37 +00:00
Профи-Софт 679a7bae02 v3.0.0.21: fix employee card coords, month text display, copy DPTable colors 2026-07-09 13:19:30 +00:00
Профи-Софт 71e4582fa0 v3.0.0.20 hotfix: remove references to ГруппаМесяцГод/СтраницыДанные 2026-07-09 11:50:38 +00:00
Профи-Софт 0ed68d881c v3.0.0.20: fix Form.xml encoding 2026-07-09 09:26:57 +00:00
Профи-Софт 7756c6ca29 v3.0.0.20: Form.xml - all calc fields, reorder tabs, month/year display 2026-07-09 09:19:17 +00:00
Профи-Софт 6fa32d7e77 v3.0.0.20: fix СтрНайти, ИтогоУдержано/Выплачено, месяц/год UI 2026-07-09 09:10:06 +00:00
Профи-Софт c21328cac8 v3.0.0.19: new algorithm - always find employee sheet, skip headers, start at row 17 2026-07-09 08:16:43 +00:00
Профи-Софт 75be8ab2b7 v3.0.0.18: full rebuild - all calc fields, fix NDFL, employees tab 2026-07-09 07:28:52 +00:00
Профи-Софт 09548865fc Update version to 3.0.0.17 2026-07-09 07:00:20 +00:00
Профи-Софт 0bd398f28c v3.0.0.17: NDFL/SV from employee sheets, employee IDs, DDD naming 2026-07-09 00:06:09 +00:00
Профи-Софт 0e23d0e00f v3.0.0.17: add NDFL page to form between ZP and SV 2026-07-08 23:55:12 +00:00
14 changed files with 6391 additions and 2838 deletions
+34
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.21">
<Catalog uuid="83abe7be-da90-47b4-8a9c-8c8d4551d3d9">
<InternalInfo>
<xr:GeneratedType name="CatalogObject.Организации" category="Object">
<xr:TypeId>61bbd389-303c-4c96-af21-94d6cb728e43</xr:TypeId>
<xr:ValueId>1c52485f-9f93-48f4-8d3f-6894c070db31</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogRef.Организации" category="Ref">
<xr:TypeId>db846157-496a-4a4a-944d-dd49652b787d</xr:TypeId>
<xr:ValueId>d9b1fa3a-d66d-49f4-95d6-191e566147de</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogSelection.Организации" category="Selection">
<xr:TypeId>fed04009-5184-498d-b393-f89db6455959</xr:TypeId>
<xr:ValueId>585591e0-ab40-4303-80ce-a94f2a131a0b</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogList.Организации" category="List">
<xr:TypeId>649ea164-e192-4000-b461-883a9b25e3f8</xr:TypeId>
<xr:ValueId>881159c0-80dd-48b4-b2ae-0b3ac41188d8</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogManager.Организации" category="Manager">
<xr:TypeId>c37a251f-d758-491c-a626-e3bac1098d61</xr:TypeId>
<xr:ValueId>61fa2ff4-dab4-4de7-a769-54821bd0b088</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<ObjectBelonging>Adopted</ObjectBelonging>
<Name>Организации</Name>
<Comment/>
<ExtendedConfigurationObject>b8a966ba-3452-44df-91d0-7040ecd3e4c2</ExtendedConfigurationObject>
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>
@@ -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.21">
<Catalog uuid="70851537-ebfa-455f-a91b-5fe3dae2a553">
<InternalInfo>
<xr:GeneratedType name="CatalogObject.СтатьиРасходовЗарплата" category="Object">
<xr:TypeId>ab73c7b9-c4d4-4c96-beb0-c9679ad7da52</xr:TypeId>
<xr:ValueId>70b7ac41-c3ef-41a6-abe2-0c189e77b81e</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogRef.СтатьиРасходовЗарплата" category="Ref">
<xr:TypeId>9d8b93cd-3d40-454e-8a0a-7f3075cc02ad</xr:TypeId>
<xr:ValueId>7b178214-806d-4e73-90ee-0b43b6fd7bd9</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogSelection.СтатьиРасходовЗарплата" category="Selection">
<xr:TypeId>b8cfdb6f-8609-468a-99eb-35fe81235201</xr:TypeId>
<xr:ValueId>c2e56d68-edea-41e5-8205-6d48bfc98021</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogList.СтатьиРасходовЗарплата" category="List">
<xr:TypeId>afb7d797-5356-41bc-bfbb-c05390c3cad9</xr:TypeId>
<xr:ValueId>3bcf0ef2-5e0d-4579-8fbe-16d92ca99d65</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogManager.СтатьиРасходовЗарплата" category="Manager">
<xr:TypeId>31459f27-a9e9-40dc-a72a-a4b6710f10b5</xr:TypeId>
<xr:ValueId>a2154203-bc7d-46ac-8f69-8b85cec3c5cc</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<ObjectBelonging>Adopted</ObjectBelonging>
<Name>СтатьиРасходовЗарплата</Name>
<Comment/>
<ExtendedConfigurationObject>d9e30baf-cdc7-4617-bd3f-3ba73a476d7e</ExtendedConfigurationObject>
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>
@@ -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.21">
<Catalog uuid="bebddb4f-6439-4e57-82b7-6010127fcff2">
<InternalInfo>
<xr:GeneratedType name="CatalogObject.СтатьиФинансированияЗарплата" category="Object">
<xr:TypeId>efa0d339-a6cf-41de-a5fc-a7ff54600636</xr:TypeId>
<xr:ValueId>3d64f157-d255-4440-8de8-83c67c8a7de9</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogRef.СтатьиФинансированияЗарплата" category="Ref">
<xr:TypeId>2ba32d96-1212-432e-9587-c5826bb94eec</xr:TypeId>
<xr:ValueId>22f5f329-4fbd-47ac-8a24-ddb0e5c7847f</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogSelection.СтатьиФинансированияЗарплата" category="Selection">
<xr:TypeId>f44ca5da-0f81-40b0-97a5-774ef7582501</xr:TypeId>
<xr:ValueId>01cd8c3b-f0f5-4a57-b8e4-14b29fe541aa</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogList.СтатьиФинансированияЗарплата" category="List">
<xr:TypeId>5d76d7a3-134b-468e-9128-93e50b30f138</xr:TypeId>
<xr:ValueId>58d30a56-53d8-4e20-a5a1-44eff359db83</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogManager.СтатьиФинансированияЗарплата" category="Manager">
<xr:TypeId>0516b29b-0ca8-4b72-a75b-acbeff0f9640</xr:TypeId>
<xr:ValueId>10797cdf-ea53-4ef9-8fc4-6e4c0a5941b1</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<ObjectBelonging>Adopted</ObjectBelonging>
<Name>СтатьиФинансированияЗарплата</Name>
<Comment/>
<ExtendedConfigurationObject>83024cbe-c18b-4c72-93df-580d52d1a49f</ExtendedConfigurationObject>
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:v8="http://v8.1c.ru/8.1/data/core">
<CommonModule uuid="95b559dc-5653-44e6-9eb3-312f0e28dc68">
<Properties>
<Name>ЗагрузкаДанныхИзExcel_ЗаписьВРегистры</Name>
<Synonym><v8:item><v8:lang>ru</v8:lang><v8:content>Запись</v8:content></v8:item></Synonym>
<Comment/>
<Global>false</Global>
<Server>true</Server>
<ServerCall>true</ServerCall>
<ClientManagedApplication>false</ClientManagedApplication>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ExternalConnection>false</ExternalConnection>
<Privileged>false</Privileged>
</Properties>
</CommonModule>
</MetaDataObject>
@@ -0,0 +1,312 @@
// Запись данных в регистры 1С
// Серверный модуль для записи движений через документ ПереносДанных
&НаСервереБезКонтекста
Функция РазрешитьОрганизацию(Наименование) Экспорт
Если Не ЗначениеЗаполнено(Наименование) Тогда
Возврат Неопределено;
КонецЕсли;
Возврат Справочники.Организации.НайтиПоНаименованию(СокрЛП(Наименование), Истина);
КонецФункции
&НаСервереБезКонтекста
Функция РазрешитьСтатьюФинансирования(Наименование) Экспорт
Если Не ЗначениеЗаполнено(Наименование) Тогда
Возврат Неопределено;
КонецЕсли;
Возврат Справочники.СтатьиФинансированияЗарплата.НайтиПоНаименованию(СокрЛП(Наименование), Истина);
КонецФункции
&НаСервереБезКонтекста
Функция РазрешитьСтатьюРасходов(Код) Экспорт
Если Не ЗначениеЗаполнено(Код) Тогда
Возврат Неопределено;
КонецЕсли;
Возврат Справочники.СтатьиРасходовЗарплата.НайтиПоКоду(СокрЛП(Код));
КонецФункции
&НаСервереБезКонтекста
Процедура ПостроитьКэшСотрудников(ТЧСотрудники, КэшСотрудников) Экспорт
КэшСотрудников = Новый Соответствие;
Для Каждого Эл Из ТЧСотрудники Цикл
СотрСсылка = Неопределено;
Если ЗначениеЗаполнено(Эл.ИНН) Тогда
СотрСсылка = Справочники.Сотрудники.НайтиПоРеквизиту("ИНН", СокрЛП(Эл.ИНН));
КонецЕсли;
Если Не ЗначениеЗаполнено(СотрСсылка) И ЗначениеЗаполнено(Эл.СНИЛС) Тогда
ФЛ = Справочники.ФизическиеЛица.НайтиПоРеквизиту("СтраховойНомерПФР", СокрЛП(Эл.СНИЛС));
Если ЗначениеЗаполнено(ФЛ) Тогда
СотрСсылка = Справочники.Сотрудники.НайтиПоРеквизиту("ФизическоеЛицо", ФЛ, Истина);
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(СотрСсылка) И ЗначениеЗаполнено(Эл.ФИО) Тогда
СотрСсылка = Справочники.Сотрудники.НайтиПоНаименованию(СокрЛП(Эл.ФИО), Истина);
КонецЕсли;
Если ЗначениеЗаполнено(СотрСсылка) Тогда
КэшСотрудников.Вставить(Эл.Идентификатор, Новый Структура("Сотрудник, ФизическоеЛицо", СотрСсылка, СотрСсылка.ФизическоеЛицо));
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ЗаполнитьТЧ(МассивДанных, МассивВзносов, МассивНДФЛ, МассивСотрудников, ТЧЗП, ТЧВзносы, ТЧНДФЛ, ТЧСотрудники) Экспорт
ТЧЗП.Очистить();
ТЧВзносы.Очистить();
ТЧНДФЛ.Очистить();
ТЧСотрудники.Очистить();
Для Каждого Строка Из МассивДанных Цикл
НоваяСтрока = ТЧЗП.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
КонецЦикла;
Для Каждого Строка Из МассивВзносов Цикл
НоваяСтрока = ТЧВзносы.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
КонецЦикла;
Для Каждого Строка Из МассивНДФЛ Цикл
НоваяСтрока = ТЧНДФЛ.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
КонецЦикла;
Для Каждого Строка Из МассивСотрудников Цикл
НоваяСтрока = ТЧСотрудники.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ЗаписатьДанные(ГодЗагрузкиПараметр, МесяцЗагрузки, ОрганизацияНаименование, СтатьяФинансированияНаименование, СтатьяРасходовКод, ТЧДанныеРасчетаЗП, ТЧДанныеНДФЛ, ТЧДанныеСтраховыхВзносов, ТЧСотрудники) Экспорт
ГодЧисло = Число(ГодЗагрузкиПараметр);
МесяцЧисло = Цел(МесяцЗагрузки);
Если ГодЧисло = 0 Тогда ГодЧисло = Год(ТекущаяДата()); КонецЕсли;
Если МесяцЧисло < 1 Или МесяцЧисло > 12 Тогда
Сообщить("Ошибка: месяц = " + МесяцЧисло + ", год = " + ГодЧисло);
Возврат;
КонецЕсли;
Период = Дата(ГодЧисло, МесяцЧисло, 1);
Организация = Неопределено;
Если ЗначениеЗаполнено(ОрганизацияНаименование) Тогда
Организация = Справочники.Организации.НайтиПоНаименованию(СокрЛП(ОрганизацияНаименование), Истина);
КонецЕсли;
Если Не ЗначениеЗаполнено(Организация) Тогда
Сообщить("Не найдена организация: """ + ОрганизацияНаименование + """");
Возврат;
КонецЕсли;
СтатьяФинансирования = Неопределено;
Если ЗначениеЗаполнено(СтатьяФинансированияНаименование) Тогда
СтатьяФинансирования = Справочники.СтатьиФинансированияЗарплата.НайтиПоНаименованию(СокрЛП(СтатьяФинансированияНаименование), Истина);
КонецЕсли;
СтатьяРасходов = Неопределено;
Если ЗначениеЗаполнено(СтатьяРасходовКод) Тогда
СтатьяРасходов = Справочники.СтатьиРасходовЗарплата.НайтиПоКоду(СокрЛП(СтатьяРасходовКод));
КонецЕсли;
// Кэш сотрудников: ИНН → СНИЛС → ФИО
КэшСотрудников = Новый Соответствие;
Для Каждого Эл Из ТЧСотрудники Цикл
СотрСсылка = Неопределено;
Если ЗначениеЗаполнено(Эл.ИНН) Тогда
СотрСсылка = Справочники.Сотрудники.НайтиПоРеквизиту("ИНН", СокрЛП(Эл.ИНН));
КонецЕсли;
Если Не ЗначениеЗаполнено(СотрСсылка) И ЗначениеЗаполнено(Эл.СНИЛС) Тогда
ФЛ = Справочники.ФизическиеЛица.НайтиПоРеквизиту("СтраховойНомерПФР", СокрЛП(Эл.СНИЛС));
Если ЗначениеЗаполнено(ФЛ) Тогда
СотрСсылка = Справочники.Сотрудники.НайтиПоРеквизиту("ФизическоеЛицо", ФЛ, Истина);
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(СотрСсылка) И ЗначениеЗаполнено(Эл.ФИО) Тогда
СотрСсылка = Справочники.Сотрудники.НайтиПоНаименованию(СокрЛП(Эл.ФИО), Истина);
КонецЕсли;
Если ЗначениеЗаполнено(СотрСсылка) Тогда
КэшСотрудников.Вставить(Эл.Идентификатор, Новый Структура("Сотрудник, ФизическоеЛицо", СотрСсылка, СотрСсылка.ФизическоеЛицо));
КонецЕсли;
КонецЦикла;
ДокПеренос = Документы.ПереносДанных.СоздатьДокумент();
ДокПеренос.Дата = Период;
ВидРасчётаОклад = ПланыВидовРасчета.Начисления.НайтиПоНаименованию("Оклад", Истина);
// Регистр 1: НачисленияУдержанияПоСотрудникам
Для Каждого Строка Из ТЧДанныеРасчетаЗП Цикл
ДанныеСотр = КэшСотрудников.Получить(Строка.ИдентификаторСотрудника);
Если ДанныеСотр = Неопределено Тогда Продолжить; КонецЕсли;
ФизЛицо = ДанныеСотр.ФизическоеЛицо;
СотрудникСсылка = ДанныеСотр.Сотрудник;
// Начисления
ЗаписатьНачисление(ДокПеренос, Строка, "Оклад", Строка.Оклад, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "ДоплатаСовместительство", Строка.ДоплатаСовместительство, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "ДоплатаНочные", Строка.ДоплатаНочные, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "ДоплатаПраздничные", Строка.ДоплатаПраздничные, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "НадбавкаЗаКатегорию", Строка.НадбавкаЗаКатегорию, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "НадбавкаЗаВредность", Строка.НадбавкаЗаВредность, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "ПовышающийКоэффициент", Строка.ПовышающийКоэффициент, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "СтимулирующаяВыплата", Строка.СтимулирующиеВыплаты, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "РайонныйКоэффициент", Строка.РайонныйКоэффициент, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "ПремияРазовая", Строка.ПремияРазовая, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "Отпуск", Строка.Отпуск, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "КомпенсацияЗаНеиспользованныйОтпуск", Строка.КомпенсацияЗаОтпуск, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "ВыходноеПособие", Строка.ВыходноеПособие, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "Родовые", Строка.Родовые, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
// Удержания
ЗаписатьНачисление(ДокПеренос, Строка, "НДФЛ", Строка.НДФЛ, Перечисления.ГруппыНачисленияУдержанияВыплаты.Удержано, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "ПрофВзнос", Строка.ПрофВзнос, Перечисления.ГруппыНачисленияУдержанияВыплаты.Удержано, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "ИсполнительныйДокумент", Строка.ИсполнительныеДокументы, Перечисления.ГруппыНачисленияУдержанияВыплаты.Удержано, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
// Выплаты
ЗаписатьНачисление(ДокПеренос, Строка, "Оклад", Строка.Аванс, Перечисления.ГруппыНачисленияУдержанияВыплаты.Выплачено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "Оклад", Строка.ЗарплатаЗаПервуюПоловину, Перечисления.ГруппыНачисленияУдержанияВыплаты.Выплачено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "Касса1", Строка.Касса1, Перечисления.ГруппыНачисленияУдержанияВыплаты.Выплачено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "БезналичноеПеречисление", Строка.БезналичныеПеречисления, Перечисления.ГруппыНачисленияУдержанияВыплаты.Выплачено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "ПремияАванс", Строка.ПремияАванс, Перечисления.ГруппыНачисленияУдержанияВыплаты.Выплачено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
ЗаписатьНачисление(ДокПеренос, Строка, "ВыплатыВМежрасчетный", Строка.ВыплатыВМежрасчетный, Перечисления.ГруппыНачисленияУдержанияВыплаты.Выплачено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
КонецЦикла;
// Регистр 2: ОтработанноеВремяПоСотрудникам
Для Каждого Строка Из ТЧДанныеРасчетаЗП Цикл
ДанныеСотр = КэшСотрудников.Получить(Строка.ИдентификаторСотрудника);
Если ДанныеСотр = Неопределено Тогда Продолжить; КонецЕсли;
Если Строка.ОтработаноДней > 0 Или Строка.РабочиеЧасыПоТабелю > 0 Тогда
Движение = ДокПеренос.Движения.ОтработанноеВремяПоСотрудникам.Добавить();
Движение.Период = Период;
Движение.Организация = Организация;
Движение.ФизическоеЛицо = ДанныеСотр.ФизическоеЛицо;
Движение.Сотрудник = ДанныеСотр.Сотрудник;
Движение.Начисление = ВидРасчётаОклад;
Движение.ОтработаноДней = Строка.ОтработаноДней;
Движение.ОтработаноЧасов = Строка.РабочиеЧасыПоТабелю;
Движение.ОплаченоДней = Строка.ОтработаноДней;
Движение.ОплаченоЧасов = Строка.РабочиеЧасыПоТабелю;
КонецЕсли;
КонецЦикла;
// Регистр 3: СведенияОДоходахНДФЛ
Для Каждого Строка Из ТЧДанныеНДФЛ Цикл
ДанныеСотр = КэшСотрудников.Получить(Строка.ИдентификаторСотрудника);
Если ДанныеСотр = Неопределено Тогда Продолжить; КонецЕсли;
Движение = ДокПеренос.Движения.СведенияОДоходахНДФЛ.Добавить();
Движение.Период = Период;
Движение.ГоловнаяОрганизация = Организация;
Движение.Организация = Организация;
Движение.ФизическоеЛицо = ДанныеСотр.ФизическоеЛицо;
Движение.МесяцНалоговогоПериода = Период;
Движение.СуммаДохода = Строка.СуммаВаловогоДохода;
Движение.СуммаВычета = Строка.СкидкаДляНДФЛЗаМесяц + Строка.ВычетНаРаботникаЗаМесяц + Строка.ВычетНаИждивенцевЗаМесяц;
КонецЦикла;
// Регистр 4: СтраховыеВзносыПоФизическимЛицам
Для Каждого Строка Из ТЧДанныеСтраховыхВзносов Цикл
ДанныеСотр = КэшСотрудников.Получить(Строка.ИдентификаторСотрудника);
Если ДанныеСотр = Неопределено Тогда Продолжить; КонецЕсли;
Движение = ДокПеренос.Движения.СтраховыеВзносыПоФизическимЛицам.Добавить();
Движение.Период = Период;
Движение.Организация = Организация;
Движение.ФизическоеЛицо = ДанныеСотр.ФизическоеЛицо;
Движение.Сотрудник = ДанныеСотр.Сотрудник;
Движение.ПФРДоПредельнойВеличины = Строка.ДТ6Процент;
Движение.ПФРСтраховая = Строка.ПФСтраховая;
Движение.ФФОМС = Строка.ФССФОМС;
Движение.ФССНесчастныеСлучаи = Строка.НСПЗ;
КонецЦикла;
// Регистр 6: ВзаиморасчетыССотрудниками
ДвиженияВзаиморасчеты = ДокПеренос.Движения.ВзаиморасчетыССотрудниками;
Для Каждого Строка Из ТЧДанныеРасчетаЗП Цикл
ДанныеСотр = КэшСотрудников.Получить(Строка.ИдентификаторСотрудника);
Если ДанныеСотр = Неопределено Тогда Продолжить; КонецЕсли;
Если Строка.ВсегоНаРуки <> 0 Тогда
Движение = ДвиженияВзаиморасчеты.Добавить();
Движение.Период = Период;
Движение.Организация = Организация;
Движение.ФизическоеЛицо = ДанныеСотр.ФизическоеЛицо;
Движение.Сотрудник = ДанныеСотр.Сотрудник;
Движение.СтатьяФинансирования = СтатьяФинансирования;
Движение.СтатьяРасходов = СтатьяРасходов;
Движение.СуммаВзаиморасчетов = Строка.ВсегоНаРуки;
КонецЕсли;
КонецЦикла;
// Регистр 7: БухгалтерскиеВзаиморасчетыССотрудниками
ДвиженияБухВзаиморасчеты = ДокПеренос.Движения.БухгалтерскиеВзаиморасчетыССотрудниками;
Для Каждого Строка Из ТЧДанныеРасчетаЗП Цикл
ДанныеСотр = КэшСотрудников.Получить(Строка.ИдентификаторСотрудника);
Если ДанныеСотр = Неопределено Тогда Продолжить; КонецЕсли;
Если Строка.ВсегоНаРуки <> 0 Тогда
Движение = ДвиженияБухВзаиморасчеты.Добавить();
Движение.Период = Период;
Движение.Организация = Организация;
Движение.ФизическоеЛицо = ДанныеСотр.ФизическоеЛицо;
Движение.Сотрудник = ДанныеСотр.Сотрудник;
Движение.СтатьяФинансирования = СтатьяФинансирования;
Движение.СтатьяРасходов = СтатьяРасходов;
Движение.СуммаВзаиморасчетов = Строка.ВсегоНаРуки;
КонецЕсли;
КонецЦикла;
// Регистр 8: ДанныеОВремениДляРасчетаСреднегоОбщий
ДвиженияСреднего = ДокПеренос.Движения.ДанныеОВремениДляРасчетаСреднегоОбщий;
Для Каждого Строка Из ТЧДанныеРасчетаЗП Цикл
ДанныеСотр = КэшСотрудников.Получить(Строка.ИдентификаторСотрудника);
Если ДанныеСотр = Неопределено Тогда Продолжить; КонецЕсли;
Если Строка.ОтработаноДней <> 0 Тогда
Движение = ДвиженияСреднего.Добавить();
Движение.Период = Период;
Движение.Сотрудник = ДанныеСотр.Сотрудник;
Движение.ОтработаноДней = Строка.ОтработаноДней;
Движение.ОтработаноЧасов = Строка.РабочиеЧасыПоТабелю;
Движение.ОтработаноДнейКалендарных = Строка.ОтработаноДнейКалендарных;
КонецЕсли;
КонецЦикла;
ДокПеренос.Записать();
Сообщить("Данные записаны. Документ: " + ДокПеренос.Ссылка);
КонецПроцедуры
&НаСервере
Процедура ЗаписатьНачисление(ДокПеренос, Строка, ВидРасчета, Сумма, Группа, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка) Экспорт
Если Сумма = 0 Тогда Возврат; КонецЕсли;
ГруппаНаименование = "";
Если Группа = Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено Тогда
ГруппаНаименование = "";
ИначеЕсли Группа = Перечисления.ГруппыНачисленияУдержанияВыплаты.Удержано Тогда
ГруппаНаименование = "Удержание";
ИначеЕсли Группа = Перечисления.ГруппыНачисленияУдержанияВыплаты.Выплачено Тогда
ГруппаНаименование = "Выплата";
КонецЕсли;
Суффикс = "";
Если ЗначениеЗаполнено(СтатьяФинансирования) Тогда
НаименованиеСтатьи = СокрЛП(СтатьяФинансирования.Наименование);
Если СтрНайти(НаименованиеСтатьи, "ОМС") > 0 Тогда
Суффикс = " (ОМС)";
ИначеЕсли СтрНайти(НаименованиеСтатьи, "ПД") > 0 Тогда
Суффикс = " (ПД)";
КонецЕсли;
КонецЕсли;
ВидРасчёта = Неопределено;
Если ЗначениеЗаполнено(Суффикс) Тогда
ВидРасчёта = ПланыВидовРасчета.Начисления.НайтиПоНаименованию(ВидРасчета + Суффикс, Истина);
КонецЕсли;
Если ВидРасчёта = Неопределено Тогда
ВидРасчёта = ПланыВидовРасчета.Начисления.НайтиПоНаименованию(ВидРасчета, Истина);
КонецЕсли;
Если ВидРасчёта = Неопределено Тогда
Сообщить("Не найден ПВР: " + ВидРасчета + Суффикс);
Возврат;
КонецЕсли;
Движение = ДокПеренос.Движения.НачисленияУдержанияПоСотрудникам.Добавить();
Движение.Период = Период;
Движение.Организация = Организация;
Движение.ФизическоеЛицо = ФизЛицо;
Движение.Сотрудник = СотрудникСсылка;
Движение.НачислениеУдержание = ВидРасчёта;
Движение.Сумма = Сумма;
Движение.ГруппаНачисленияУдержанияВыплаты = Группа;
Движение.СтатьяФинансирования = СтатьяФинансирования;
Движение.СтатьяРасходов = СтатьяРасходов;
Движение.Сторно = Ложь;
КонецПроцедуры
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:v8="http://v8.1c.ru/8.1/data/core">
<CommonModule uuid="a3945307-e5b9-4d84-96e1-e13bbacabada">
<Properties>
<Name>ЗагрузкаДанныхИзExcel_МаппингДанных</Name>
<Synonym><v8:item><v8:lang>ru</v8:lang><v8:content>Маппинг</v8:content></v8:item></Synonym>
<Comment/>
<Global>false</Global>
<Server>false</Server>
<ServerCall>false</ServerCall>
<ClientManagedApplication>true</ClientManagedApplication>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ExternalConnection>false</ExternalConnection>
<Privileged>false</Privileged>
</Properties>
</CommonModule>
</MetaDataObject>
@@ -0,0 +1,187 @@
// Маппинг данных
// Парсинг Excel-листов, маппинг колонок на ПВР
// Зависит от: ЗагрузкаДанныхИзExcel_ЧтениеЭксель
&НаКлиенте
Функция НомерМесяцаВТекст(НомерМесяца) Экспорт
Массив = Новый Массив;
Массив.Добавить("Январь"); Массив.Добавить("Февраль");
Массив.Добавить("Март"); Массив.Добавить("Апрель");
Массив.Добавить("Май"); Массив.Добавить("Июнь");
Массив.Добавить("Июль"); Массив.Добавить("Август");
Массив.Добавить("Сентябрь"); Массив.Добавить("Октябрь");
Массив.Добавить("Ноябрь"); Массив.Добавить("Декабрь");
Если НомерМесяца >= 1 И НомерМесяца <= 12 Тогда
Возврат Массив[НомерМесяца - 1];
КонецЕсли;
Возврат "";
КонецФункции
&НаКлиенте
Функция СтрокаМесяцаНаЛистеСотрудника(МесяцЗагрузки) Экспорт
Смещение = МесяцЗагрузки;
Если Не ЗначениеЗаполнено(Смещение) Тогда Смещение = 1; КонецЕсли;
Возврат 35 + Смещение;
КонецФункции
&НаКлиенте
Функция НайтиЛистСотрудника(Книга, ЛистРасчет, НомерСтроки) Экспорт
Формула = ЛистРасчет.Cells(НомерСтроки, 1).Formula;
Если ЗначениеЗаполнено(Формула) Тогда
ИмяЛиста = ЗагрузкаДанныхИзExcel_ЧтениеЭксель.ИзвлечьИмяЛистаИзФормулы(Формула);
Если ЗначениеЗаполнено(ИмяЛиста) Тогда
Возврат ЗагрузкаДанныхИзExcel_ЧтениеЭксель.НайтиЛист(Книга, ИмяЛиста);
КонецЕсли;
КонецЕсли;
ФИО = ЗагрузкаДанныхИзExcel_ЧтениеЭксель.ПрочитатьЯчейкуСтрока(ЛистРасчет, НомерСтроки, 1);
Если ЗначениеЗаполнено(ФИО) Тогда
Возврат ЗагрузкаДанныхИзExcel_ЧтениеЭксель.НайтиЛист(Книга, ФИО);
КонецЕсли;
Возврат Неопределено;
КонецФункции
&НаКлиенте
Функция ПрочитатьКарточкуСотрудника(ЛистСотрудника) Экспорт
Данные = Новый Структура;
Данные.Вставить("ФИО", ЗагрузкаДанныхИзExcel_ЧтениеЭксель.ПрочитатьЯчейкуСтрока(ЛистСотрудника, 2, 3));
Данные.Вставить("ИНН", "");
Данные.Вставить("СНИЛС", "");
Данные.Вставить("ЛицевойСчетВБанке", ЗагрузкаДанныхИзExcel_ЧтениеЭксель.ПрочитатьЯчейкуСтрока(ЛистСотрудника, 3, 4));
Данные.Вставить("ВидЗанятости", ЗагрузкаДанныхИзExcel_ЧтениеЭксель.ПрочитатьЯчейкуСтрока(ЛистСотрудника, 5, 1));
Данные.Вставить("АдресРегистрации", "");
Возврат Данные;
КонецФункции
&НаКлиенте
Функция ПрочитатьРасчетныеДанные(ЛистРасчет, Ном, ФИО) Экспорт
Ч = ЗагрузкаДанныхИзExcel_ЧтениеЭксель;
С = Новый Структура;
С.Вставить("ФИО", ФИО);
С.Вставить("Должность", Ч.ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, 2));
С.Вставить("СчетБК", Ч.ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, 3));
С.Вставить("ВидЗанятости", Ч.ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, 4));
С.Вставить("Оклад", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 8, ФИО));
С.Вставить("КоличествоСтавок", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 7, ФИО));
С.Вставить("ОтработаноДней", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 6, ФИО));
С.Вставить("ЧасыДежурства", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 9, ФИО));
С.Вставить("ЧасыНочные", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 10, ФИО));
С.Вставить("ЧасыПраздничные", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 11, ФИО));
С.Вставить("РабочиеЧасыПоТабелю", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 12, ФИО));
С.Вставить("ИзРасчетаМесячногоОкладаДни", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 13, ФИО));
С.Вставить("ДоплатаСовместительство", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 14, ФИО));
С.Вставить("ДоплатаСовмещениеПроцент", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 15, ФИО));
С.Вставить("ДоплатаИнтенсивность", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 16, ФИО));
С.Вставить("ИзРасчетаМесячногоОкладаЧасы", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 17, ФИО));
С.Вставить("ДоплатаНочные", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 18, ФИО));
С.Вставить("ДоплатаПраздничные", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 19, ФИО));
С.Вставить("ЗаСтаж", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 20, ФИО));
С.Вставить("НадбавкаЗаКатегорию", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 21, ФИО));
С.Вставить("НадбавкаЗаВредность", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 22, ФИО));
С.Вставить("ПовышающийКоэффициент", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 23, ФИО));
С.Вставить("СтимулирующиеВыплаты", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 24, ФИО));
С.Вставить("СтимулирующаяНадбавка", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 25, ФИО));
С.Вставить("РайонныйКоэффициент", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 26, ФИО));
С.Вставить("ВыплатыПоУказу597", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 27, ФИО));
С.Вставить("ПремияРазовая", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 28, ФИО));
С.Вставить("БольничныйЛистЗаСчетПредприятия", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 29, ФИО));
С.Вставить("ДоплатаПрофактиву", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 30, ФИО));
С.Вставить("ПусковыеОбсервация", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 31, ФИО));
С.Вставить("Отпуск", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 32, ФИО));
С.Вставить("КомпенсацияЗаОтпуск", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 33, ФИО));
С.Вставить("ПрочиеКомандировочныйУчебныйОтпуск", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 34, ФИО));
С.Вставить("ВыходноеПособие", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 35, ФИО));
С.Вставить("ПоУходуЗаРебенкомИнвалидом", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 36, ФИО));
С.Вставить("ДоплатаДоМРОТ", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 37, ФИО));
С.Вставить("Родовые", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 38, ФИО));
С.Вставить("ИтогоНачислено", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 39, ФИО));
С.Вставить("НДФЛ", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 40, ФИО));
С.Вставить("ПрофВзнос", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 41, ФИО));
С.Вставить("ИсполнительныеДокументы", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 42, ФИО));
С.Вставить("Аванс", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 43, ФИО));
С.Вставить("ПФСофинансирование", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 44, ФИО));
С.Вставить("ПремияУдержание", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 45, ФИО));
С.Вставить("Касса1", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 46, ФИО));
С.Вставить("Касса2", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 47, ФИО));
С.Вставить("Касса3", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 48, ФИО));
С.Вставить("ПособиеДо3ЛетУдержание", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 49, ФИО));
С.Вставить("БезналичныеПеречисления", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 50, ФИО));
С.Вставить("ВозвратВКассу", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 51, ФИО));
С.Вставить("Депонент", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 52, ФИО));
С.Вставить("ОстатокНаНачало", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 54, ФИО));
С.Вставить("ВсегоНаРуки", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 55, ФИО));
С.Вставить("ЗарплатаЗаПервуюПоловину", 0); // TODO: определить колонку
С.Вставить("ПремияАванс", 0); // TODO: определить колонку
С.Вставить("ВыплатыВМежрасчетный", 0); // TODO: определить колонку
С.Вставить("ИтогоУдержано",
С.НДФЛ + С.ПрофВзнос + С.ИсполнительныеДокументы + С.ПФСофинансирование
+ С.ПремияУдержание + С.ПособиеДо3ЛетУдержание + С.Депонент);
С.Вставить("ИтогоВыплачено",
С.Аванс + С.Касса1 + С.Касса2 + С.Касса3
+ С.БезналичныеПеречисления + С.ВозвратВКассу);
Возврат С;
КонецФункции
&НаКлиенте
Функция ПрочитатьНДФЛСоЛиста(ЛистСотрудника, ФИО, МесяцЗагрузки) Экспорт
Ч = ЗагрузкаДанныхИзExcel_ЧтениеЭксель;
СД = СтрокаМесяцаНаЛистеСотрудника(МесяцЗагрузки);
Если СД = 0 Тогда Возврат Неопределено; КонецЕсли;
Если Не ЗначениеЗаполнено(ФИО) Тогда Возврат Неопределено; КонецЕсли;
С = Новый Структура;
С.Вставить("ФИО", ФИО);
С.Вставить("МесяцРасчета", Ч.ПрочитатьЯчейкуСтрока(ЛистСотрудника, СД, 1));
С.Вставить("СуммаВаловогоДохода", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 4, ФИО));
С.Вставить("СуммаВаловогоДоходаСНачалаГода", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 6, ФИО));
С.Вставить("СкидкаДляНДФЛЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 8, ФИО));
С.Вставить("СкидкаДляНДФЛЗаГод", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 9, ФИО));
С.Вставить("СкидкаДляСВЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 10, ФИО));
С.Вставить("ВычетНаРаботникаЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 12, ФИО));
С.Вставить("ВычетНаИждивенцевЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 13, ФИО));
С.Вставить("ВсегоВычетовЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 14, ФИО));
С.Вставить("ОблагаемыйДоходЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 15, ФИО));
С.Вставить("ОблагаемыйДоходЗаГод", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 16, ФИО));
С.Вставить("НачисленныйНДФЛЗаГод", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 17, ФИО));
С.Вставить("ИтогоНДФЛЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 18, ФИО));
С.Вставить("НалоговаяБазаПоСВЗаМесяц", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 23, ФИО));
С.Вставить("ИтогоФСС", Ч.ПрочитатьЯчейкуЧисло(ЛистСотрудника, СД, 37, ФИО));
Возврат С;
КонецФункции
&НаКлиенте
Функция ПрочитатьВзносыИзРасчета(ЛистРасчет, Ном, ФИО) Экспорт
Ч = ЗагрузкаДанныхИзExcel_ЧтениеЭксель;
С = Новый Структура;
С.Вставить("ФИО", ФИО);
С.Вставить("ДТ6Процент", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 58, ФИО));
С.Вставить("ДТ4Процент", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 59, ФИО));
С.Вставить("ПФСтраховая", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 60, ФИО));
С.Вставить("ФССФОМС", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 61, ФИО));
С.Вставить("НСПЗ", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 62, ФИО));
С.Вставить("Итого", Ч.ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 63, ФИО));
С.Вставить("НалоговаяБазаПоСВЗаМесяц", 0);
С.Вставить("ИтогоФСС", 0);
Возврат С;
КонецФункции
&НаКлиенте
Функция ОпределитьГодЗагрузки(ЛистРасчет) Экспорт
ГодЗначение = ЗагрузкаДанныхИзExcel_ЧтениеЭксель.ПрочитатьЯчейкуЧисло(ЛистРасчет, 3, 1, "");
Если ГодЗначение > 0 Тогда
Возврат Цел(ГодЗначение);
КонецЕсли;
ГодЗначение = ЗагрузкаДанныхИзExcel_ЧтениеЭксель.ПрочитатьЯчейкуЧисло(ЛистРасчет, 4, 1, "");
Если ГодЗначение > 2000 Тогда
Возврат Цел(ГодЗначение);
КонецЕсли;
Возврат 0;
КонецФункции
&НаКлиенте
Функция ОпределитьОрганизацию(ЛистРасчет) Экспорт
Возврат СокрЛП(Строка(ЛистРасчет.Cells(4, 20).Value));
КонецФункции
&НаКлиенте
Функция ОпределитьСтатьюФинансирования(ЛистРасчет) Экспорт
Возврат СокрЛП(Строка(ЛистРасчет.Cells(8, 20).Value));
КонецФункции
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:v8="http://v8.1c.ru/8.1/data/core">
<CommonModule uuid="fe651bfc-bbf0-4eda-b615-874d7cb06603">
<Properties>
<Name>ЗагрузкаДанныхИзExcel_ЧтениеЭксель</Name>
<Synonym><v8:item><v8:lang>ru</v8:lang><v8:content>Чтение Excel</v8:content></v8:item></Synonym>
<Comment/>
<Global>false</Global>
<Server>false</Server>
<ServerCall>false</ServerCall>
<ClientManagedApplication>true</ClientManagedApplication>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ExternalConnection>false</ExternalConnection>
<Privileged>false</Privileged>
</Properties>
</CommonModule>
</MetaDataObject>
@@ -0,0 +1,68 @@
// Клиентский модуль для COM-взаимодействия с Excel
// Содержит только COM-вызовы
&НаКлиенте
Функция ОткрытьФайлExcel(ПутьКФайлу) Экспорт
Попытка
Excel = Новый COMОбъект("Excel.Application");
Excel.Visible = Ложь;
Excel.DisplayAlerts = Ложь;
Книга = Excel.Workbooks.Open(ПутьКФайлу);
Возврат Новый Структура("Книга, Excel", Книга, Excel);
Исключение
Сообщить("Не удалось открыть Excel: " + ОписаниеОшибки());
Возврат Неопределено;
КонецПопытки;
КонецФункции
&НаКлиенте
Процедура ЗакрытьExcel(КонтекстExcel, ВременныйФайл) Экспорт
Если КонтекстExcel = Неопределено Тогда Возврат; КонецЕсли;
Попытка
КонтекстExcel.Книга.Close(Ложь);
КонтекстExcel.Excel.Quit();
Исключение
КонецПопытки;
Если ЗначениеЗаполнено(ВременныйФайл) Тогда УдалитьФайлы(ВременныйФайл); КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция ПрочитатьЯчейкуЧисло(Лист, Строка, Колонка, КонтекстОшибки) Экспорт
Попытка
Значение = Лист.Cells(Строка, Колонка).Value;
Если Значение = Неопределено ИЛИ Значение = "" Тогда Возврат 0; КонецЕсли;
Возврат Число(Значение);
Исключение
Сообщить("Ошибка чтения числа: " + КонтекстОшибки + " | строка " + Строка + " колонка " + Колонка);
Возврат 0;
КонецПопытки;
КонецФункции
&НаКлиенте
Функция ПрочитатьЯчейкуСтрока(Лист, Строка, Колонка) Экспорт
Попытка
Значение = Лист.Cells(Строка, Колонка).Value;
Если Значение = Неопределено Тогда Возврат ""; КонецЕсли;
Возврат СокрЛП("" + Значение);
Исключение
Возврат "";
КонецПопытки;
КонецФункции
&НаКлиенте
Функция ИзвлечьИмяЛистаИзФормулы(Формула) Экспорт
Если Формула = Неопределено Тогда Возврат ""; КонецЕсли;
Текст = СокрЛП("" + Формула);
Если Не СтрНачинаетсяС(Текст, "='") Тогда Возврат ""; КонецЕсли;
Поз = СтрНайти(Текст, "'!");
Если Поз = 0 Тогда Возврат ""; КонецЕсли;
Возврат Сред(Текст, 3, Поз - 3);
КонецФункции
&НаКлиенте
Функция НайтиЛист(Книга, ИмяЛиста) Экспорт
Для Каждого Лист Из Книга.Sheets Цикл
Если ВРег(Лист.Name) = ВРег(ИмяЛиста) Тогда Возврат Лист; КонецЕсли;
КонецЦикла;
Возврат Неопределено;
КонецФункции
+97 -25
View File
@@ -1,68 +1,140 @@
<?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.21">
<ConfigVersions>
<Metadata name="Catalog.Организации" id="83abe7be-da90-47b4-8a9c-8c8d4551d3d9" configVersion="8befc98fc51fe6da94938cfbc91fe2c2ac73367c"/>
<Metadata name="Catalog.СтатьиРасходовЗарплата" id="70851537-ebfa-455f-a91b-5fe3dae2a553" configVersion="9480e6d83feb612a4b195d7704e7bcc5ee257b28"/>
<Metadata name="Catalog.СтатьиФинансированияЗарплата" id="bebddb4f-6439-4e57-82b7-6010127fcff2" configVersion="6c27c4dfeadb179aeea3157df36e0d10d721f345"/>
<Metadata name="CommonPicture.Логотип" id="aa112233-4455-6677-8899-aabbccddeeff" configVersion="6f24d102553d8a92f749591fe9b03d4c92743c48"/>
<Metadata name="CommonPicture.Логотип.Picture" id="aa112233-4455-6677-8899-aabbccddeeff.0" configVersion="ea37a29e5a8c705c4fbee54aca915b0475b94941"/>
<Metadata name="Configuration.ЗагрузкаДанныхИзExcel" id="a1b2c3d4-e5f6-7890-abcd-ef1234567890" configVersion="491641d7c9933f425b060a73f27896304da115ca"/>
<Metadata name="Configuration.ЗагрузкаДанныхИзExcel" id="a1b2c3d4-e5f6-7890-abcd-ef1234567890" configVersion="cc150361937b8a864cc9c03e18a70edd080ea059"/>
<Metadata name="Configuration.ЗагрузкаДанныхИзExcel.Logo" id="b1c2d3e4-f5a6-7890-abcd-ef1234567890.1" configVersion="109ee3c69dbf183be1b179891821b3a3aa92c610"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel" id="f1e2d3c4-b5a6-7890-abcd-ef1234567890" configVersion="f392b54ac41ab343c98a42404f5fadc5c6409e03">
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel" id="f1e2d3c4-b5a6-7890-abcd-ef1234567890" configVersion="bb3bfaf8f297b9423aa23978e67a3fbba59aa66b">
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.СуммаВаловогоДоходаСНачалаГода" id="018266a1-4a61-4579-8f3f-db8e7968f829"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.ОблагаемыйДоходЗаМесяц" id="03e05328-7d4e-4c65-bcf0-e06f2f87584e"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Отпуск" id="03f3e152-1a35-4ee9-abf1-5069f70fa200"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.СкидкаДляСВЗаМесяц" id="0bc767bb-d1eb-454d-82a0-92232b738ec9"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ИтогоВыплачено" id="0ce65614-e10a-4246-9d95-dedbb50803d8"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.Attribute.ПутьКФайлу" id="11111111-1111-1111-1111-111111111111"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ИзРасчетаМесячногоОкладаДни" id="13b797d2-755f-4cf0-bbb4-60432eaac281"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ИтогоФСС" id="15bc92f0-0da1-407a-acf5-01aa528ec71c"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.Сотрудники.Attribute.Идентификатор" id="1a5f4127-13af-4aed-ab7e-970cbc2686ad"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.Итого" id="1b50e156-33a3-440d-b20b-56c481b18a82"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.ИдентификаторСотрудника" id="1c8e3f54-20eb-4051-befa-f18e586af498"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.ОблагаемыйДоходЗаГод" id="1de44479-7da3-41e2-ac53-d35a064863a2"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.ИтогоФСС" id="21928e13-e66f-4a44-9288-bfa9e0e505f8"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.Attribute.МесяцЗагрузки" id="22222222-2222-2222-2222-222222222222"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.НачисленныйНДФЛЗаГод" id="22737acf-8634-407a-97bc-963ae92b0d76"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ПремияРазовая" id="2666795f-5add-4e7a-9c5a-58b93ffb3624"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ИдентификаторСотрудника" id="2849bd1e-63dd-4a8c-a9b5-830150ff6d11"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.Attribute.Организация" id="2f194852-8fbc-446a-b652-1bdcb6faef41"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.СтимулирующиеВыплаты" id="31c52fa2-7b1f-46be-a56c-84da901d516e"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.ФИО" id="33180586-8e17-4eaa-9c04-cae6f120d23f"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП" id="33333333-3333-3333-3333-333333333333"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.Сотрудники.Attribute.ЛицевойСчетВБанке" id="336deef2-1607-42df-a1e3-6cfe0e79549c"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ПрофВзнос" id="354243c3-a181-462a-875f-0a31123f9244"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.НачисленоСНачалаГодаФСС" id="363bc4b6-4c10-4190-9e90-ed0d7ec092ed"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.НалоговаяБазаПоСВЗаМесяц" id="37aa20ad-2531-41d4-899b-340a006f3187"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.СкидкаДляНДФЛЗаМесяц" id="386c7a70-92ff-4ed9-ae3d-4c0509733a85"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Депонент" id="39bf3b1d-d6d3-4782-972a-f447de13c60e"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ПусковыеОбсервация" id="3cd75289-abdd-447c-a222-988c17aa1135"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.Сотрудники.Attribute.ВидЗанятости" id="3e319f0b-7c76-4108-94fe-1ba74cb6adb9"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ВозвратВКассу" id="3fd7b866-c6bc-48e6-a088-4b22ee2fbdf6"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.Сотрудники.Attribute.ИНН" id="4115be54-1336-47c1-9cf0-6750822b6078"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ПособиеДо3ЛетУдержание" id="42d86278-6a10-4844-a71e-3ec6ef0f4b26"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.КомпенсацияЗаОтпуск" id="4317904c-010b-45a0-b6a7-f97a4d6630cf"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов" id="44444444-4444-4444-4444-444444444444"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ПрофВзносНачальный" id="4b0d42a9-135f-4102-832c-132e2d2c31da"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.Сотрудники.Attribute.СНИЛС" id="511523fd-3327-4379-9e0c-d59669ca9ccc"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ПремияАванс" id="51fb61dc-2603-4494-a2c3-9c4a9570f94b"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ОплаченоСНачалаГодаНСПЗ" id="52b572c6-65aa-44cc-bee9-584170be4d2a"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ИзРасчетаМесячногоОкладаЧасы" id="537d54b1-8fa6-471a-bab6-0e5b42bbbd05"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.Сотрудники.Attribute.ФИО" id="54cfbf85-cfe0-4af3-9ad5-a3b7eb77d596"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.СтимулирующаяНадбавка" id="5b36b975-5b7f-4809-8470-61b12bac767f"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.НачисленоСНачалаГодаНСПЗ" id="5d0ab4f5-447e-49a5-af70-4dd9bc17805c"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ОплаченоСНачалаГодаФСС" id="5dd91c73-62c1-43af-8b86-8c5fe59301d5"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.СчетБК" id="5f69413c-9bd0-45d8-a9f5-0afaa33300f2"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ПФСтраховая" id="60b7d353-b0b8-48b9-a314-de4d1effd68f"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ДоплатаПраздничные" id="61a9a5a7-e85a-428b-be32-5141eee357a8"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.СкидкаДляНДФЛЗаГод" id="61e18cbf-6c63-4b6b-ae7f-7acd9a4f1205"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Касса2" id="6681f8b7-3658-42da-accc-f0a5c17fe08d"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ОтработаноДней" id="66904600-cf3a-46a5-b162-83aa428ca3c4"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ДТ6Процент" id="69808ef7-1694-436b-a575-37a54163566f"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.РабочиеЧасыПоТабелю" id="76403b94-9bcf-455c-949c-9c7988c9b36a"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.СтраховаяЧастьПФ" id="7796e786-a8c2-49be-bcd3-99f5d7d164de"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ЗарплатаЗаПервуюПоловину" id="782139cc-0e01-4c73-9e4e-fdf9e7e4b41f"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ФССИтого" id="78e61a6b-c37c-4109-999d-2193586f0a41"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ПовышающийКоэффициент" id="7a513202-03f4-4d05-9226-bc8e52d73470"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.НСПЗИтого" id="7a8df190-bd25-4f46-97ce-4c1b4af01691"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ЗаСтаж" id="7af06b92-c38d-4ba3-ae79-e69f27b35a9d"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ФИО" id="7eef7e97-7e6f-4ef1-911a-12f30ffe3d08"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ОстатокНаНачало" id="81b1ea36-ea5d-497c-b3c4-631e5dd801e6"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.БезналичныеПеречисления" id="83d0c062-99a4-4f86-b614-643d0f1bd901"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ" id="8730b401-1ffa-4a2d-b8e0-baebadf78a3c"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.Attribute.СтатьФинансирования" id="88c70291-7773-4305-b39a-0826e6ece436"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.ВсегоВычетовЗаМесяц" id="8945f1f2-78a2-4f13-b4e7-a8b8a0724251"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Должность" id="8b42d168-fe18-4b7a-9589-761770b3e5ee"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.Сотрудники" id="8bc2dbda-7cbd-4246-bb9e-5a93fb59cfea"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Аванс" id="8debf971-11fe-4b00-9b6c-06a7503ef65f"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.ИтогоНДФЛЗаМесяц" id="90a11a6a-e634-43bb-993d-85eff7d4e4b1"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ФИО" id="aa111111-1111-1111-1111-111111111111"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Должность" id="aa222222-2222-2222-2222-222222222222"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.СчетБК" id="aa333333-3333-3333-3333-333333333333"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ВидЗанятости" id="aa444444-4444-4444-4444-444444444444"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Оклад" id="aa555555-5555-5555-5555-555555555555"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.КоличествоСтавок" id="aa666666-6666-6666-6666-666666666666"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ОтработаноДней" id="aa777777-7777-7777-7777-777777777777"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ИтогоНачислено" id="aa888888-8888-8888-8888-888888888888"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.НДФЛ" id="aa999999-9999-9999-9999-999999999999"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ИтогоУдержано" id="ab111111-1111-1111-1111-111111111111"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ВсегоНаРуки" id="ab222222-2222-2222-2222-222222222222"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ИНН" id="ab333333-3333-3333-3333-333333333333"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.СНИЛС" id="ab444444-4444-4444-4444-444444444444"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Адрес" id="ab555555-5555-5555-5555-555555555555"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ФИО" id="ac111111-1111-1111-1111-111111111111"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ДТ6Процент" id="ac222222-2222-2222-2222-222222222222"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ДТ4Процент" id="ac333333-3333-3333-3333-333333333333"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ПФСтраховая" id="ac444444-4444-4444-4444-444444444444"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ФССФОМС" id="ac555555-5555-5555-5555-555555555555"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.НСПЗ" id="ac666666-6666-6666-6666-666666666666"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.Итого" id="ac777777-7777-7777-7777-777777777777"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ПоУходуЗаРебенкомИнвалидом" id="90b322c1-29ab-4d7f-8285-c978a7d65f9e"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ВыплатыПоУказу597" id="94665516-fb3a-408f-a19e-07702be752d3"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ДТ4Процент" id="98f60a1c-f7e9-434a-b020-d60f3dacd737"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ИдентификаторСотрудника" id="991afed3-d7df-4a95-b1aa-665377f86fd7"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Оклад" id="a0c2d3bd-6d9c-4a38-8903-44b3db223edb"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ПремияУдержание" id="a10ac824-3b83-4478-be28-4da991405f9d"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ФССФОМС" id="a1e60d86-89ef-4708-aef6-3b53ae819ad7"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.КоличествоСтавок" id="a209a03e-c6e6-4dfb-b84d-2e22ea9bdc47"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ОтработаноДнейКалендарных" id="a7f73479-ac15-46b3-b576-bd9b2e3c81ec"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.БольничныйЛистЗаСчетПредприятия" id="aade0d1d-b0ac-43ef-be39-91acb49b02a7"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.НадбавкаЗаКатегорию" id="b00d744f-fdde-4122-8d67-c780485c1243"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.Сотрудники.Attribute.АдресРегистрации" id="b0d5a24f-4598-4567-8b11-f923d624fd06"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Родовые" id="b2e75b46-6e14-4bd2-9512-e236db7297f8"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.НадбавкаЗаВредность" id="b3b096d6-68b5-431f-8804-98623bd79660"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ДоплатаИнтенсивность" id="b688d8a5-83ec-4f70-bcea-6d4026824d7e"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ВыплатыВМежрасчетный" id="b724575e-f1cf-421a-9b09-2b0989a92f79"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ДоплатаНочные" id="b8119ef2-62b4-4d38-8048-8bea66dd25aa"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ИтогоУдержано" id="b8a678e1-4ada-47d1-8669-42720c87a8f5"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ДоплатаПрофактиву" id="bbfdedd2-840f-48e4-8781-b98bce4e3235"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ПФСофинансирование" id="c2577564-40f1-4861-9e45-9830ebbf9625"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.ВычетНаРаботникаЗаГод" id="c27112d9-65fd-4012-9c35-c09f9425011a"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ИсполнительныеДокументы" id="d4126cf4-8580-4770-8f86-4c761e80eb5c"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ИтогоНачислено" id="d72c9b29-b760-4fce-9cce-06bf007651d5"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ВидЗанятости" id="d845821a-437c-4922-8e22-6d7a2c6e3770"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.МесяцРасчета" id="d8a5615f-5b47-4b14-a301-3a1d47c11ba9"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.Attribute.СтатьЯРасходов" id="dd2c4848-a8ee-480b-a789-1f80a89d8c97"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ФИО" id="df18de6b-67b9-436a-8981-34827c8a4ba5"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ДоплатаДоМРОТ" id="df1deba3-9757-4f7b-9f9a-3b27bc313a49"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ВыходноеПособие" id="e0c40567-ef78-41ba-87bf-dcef01a8aee5"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ДоплатаСовместительство" id="e0c4b196-7209-46ca-a3d1-ad2afd2698df"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ПрочиеКомандировочныйУчебныйОтпуск" id="e1b60f9a-786f-4f54-aabb-c2a2f02a83fc"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Касса1" id="e5a455b9-c2d1-4dde-ba21-094def8a5380"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ЧасыНочные" id="e6d6907c-6ced-4406-976e-61801acd52a1"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.ВычетНаИждивенцевЗаМесяц" id="e7673e37-72e5-4a88-8309-1d8b766307ce"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Касса3" id="e8713344-2f36-4cb4-b7a3-c315e8781ef1"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ЧасыПраздничные" id="ebe68ea5-8a4b-46bc-9201-047fff300a54"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ДоплатаСовмещениеПроцент" id="ec41459d-f59b-4d61-884f-58bf83f83595"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ЧасыДежурства" id="ecce8898-999e-4b6d-94a2-4b36c4779102"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.НалоговаяБазаПоСВЗаМесяц" id="ef620600-a592-4764-9ce9-14140bc68937"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.НДФЛ" id="f3baeaef-c136-4eea-b1ac-374983bb9510"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.НСПЗ" id="f432a822-2e43-49fc-ba1d-f93f4d1787cd"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.НакопительнаяЧастьПФ" id="f43ed8ba-05b8-4426-9c66-6cb3fa483027"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.СуммаВаловогоДохода" id="f5ef73da-d182-4c6c-b3fb-61cb0aa2f4a2"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.РайонныйКоэффициент" id="f71ba835-d7cf-415e-a4da-6b0bea379753"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ВсегоНаРуки" id="f797071d-6e4e-4883-b10c-665c5c6b117d"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.ВычетНаРаботникаЗаМесяц" id="fb3dd707-e1d6-4dd0-adb0-365953cc7b33"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.НалоговаяБазаСВЗаГод" id="fe83daa5-24f0-403e-a493-d206d6c83ed7"/>
</Metadata>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.Form.Форма" id="e1f2d3c4-b5a6-7890-abcd-ef123456789d" configVersion="b21ce57e599484cf63928d9d55447cdf249a9495"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.ManagerModule" id="f1e2d3c4-b5a6-7890-abcd-ef1234567890.2" configVersion="c5a872b5b985dec32e1b2f7666a1f95be02c8aa0"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.ObjectModule" id="f1e2d3c4-b5a6-7890-abcd-ef1234567890.0" configVersion="f754052b5cb542fceba77063397dd85e0cbe1d88"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.Form.Форма.Form" id="e1f2d3c4-b5a6-7890-abcd-ef123456789d.0" configVersion="4b79064c8353c97175a57265293fab3efe338fee"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.ManagerModule" id="f1e2d3c4-b5a6-7890-abcd-ef1234567890.2" configVersion="1f800cd2d18e1c6109cc9135ca6588cd898ce7bd"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.ObjectModule" id="f1e2d3c4-b5a6-7890-abcd-ef1234567890.0" configVersion="45688db0e74bd391fe23887a2d523e05814c9b60"/>
<Metadata name="Language.Русский" id="fa05057b-734b-49ef-8c58-5cc468580f33" configVersion="d445a81521243ad274dc3237022bcfeb0b640f59"/>
<Metadata name="Subsystem.Зарплата" id="55555555-5555-5555-5555-555555555555" configVersion="55c502e5fb642df4c059ed63fea339204c4a2334"/>
<Metadata name="CommonModule.ЗагрузкаДанныхИзExcel_ЧтениеЭксель" id="b393308e-13c2-4dfc-9045-3293b4af20c2" configVersion="a9cc68ae2ca9454697c22bb7a7ca6120"/>
<Metadata name="CommonModule.ЗагрузкаДанныхИзExcel_МаппингДанных" id="45ce4b90-17e1-4977-8a5d-e2342603c7eb" configVersion="b343ef1b5f3a47228dda8e9d6979129d"/>
<Metadata name="CommonModule.ЗагрузкаДанныхИзExcel_ЗаписьВРегистры" id="04ba0cd9-1384-4364-ab99-07b6f60cab13" configVersion="48b309c2a7264f18b4e7026856c0726e"/>
<Metadata name="CommonModule.ЗагрузкаДанныхИзExcel_ЧтениеЭксель" id="660d344d-c8cb-446d-b097-21912461ac65" configVersion="cd8cd4699c9247d4b0d0d29476884aa0"/>
<Metadata name="CommonModule.ЗагрузкаДанныхИзExcel_МаппингДанных" id="4b07a3e6-62ac-40d1-80fb-e4ff014a6876" configVersion="01a3a523b2e54fa5ab52cc22d4147dca"/>
<Metadata name="CommonModule.ЗагрузкаДанныхИзExcel_ЗаписьВРегистры" id="5a60cf1d-00df-4d36-9029-b42eeb94d9c1" configVersion="fee8f0eec6a74221907633b05f155f69"/>
</ConfigVersions>
</ConfigDumpInfo>
+7 -1
View File
@@ -56,7 +56,7 @@
<ScriptVariant>Russian</ScriptVariant>
<DefaultRoles/>
<Vendor>ООО "Профи-Софт", код партнера 42575-13, г.Байконур.</Vendor>
<Version>3.0.0.16</Version>
<Version>3.0.0.120</Version>
<Caption/>
<ShortCaption/>
<DefaultLanguage>Language.Русский</DefaultLanguage>
@@ -91,7 +91,13 @@
<Language>Русский</Language>
<Subsystem>Зарплата</Subsystem>
<CommonPicture>Логотип</CommonPicture>
<Catalog>Организации</Catalog>
<Catalog>СтатьиРасходовЗарплата</Catalog>
<Catalog>СтатьиФинансированияЗарплата</Catalog>
<DataProcessor>ЗагрузкаДанныхИзExcel</DataProcessor>
<CommonModule>ЗагрузкаДанныхИзExcel_ЧтениеЭксель</CommonModule>
<CommonModule>ЗагрузкаДанныхИзExcel_МаппингДанных</CommonModule>
<CommonModule>ЗагрузкаДанныхИзExcel_ЗаписьВРегистры</CommonModule>
</ChildObjects>
</Configuration>
</MetaDataObject>
File diff suppressed because it is too large Load Diff
@@ -86,11 +86,159 @@
<ContextMenu name="МесяцЗагрузкиКонтекстноеМеню" id="66"/>
<ExtendedTooltip name="МесяцЗагрузкиРасширеннаяПодсказка" id="67"/>
</InputField>
<LabelField name="ЗаголовокОрганизация" id="80">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Организация:</v8:content>
</v8:item>
</Title>
<ContextMenu name="ЗаголовокОрганизацияКонтекстноеМеню" id="81"/>
</LabelField>
<LabelField name="ПолеОрганизация" id="82">
<DataPath>Объект.Организация</DataPath>
<Width>60</Width>
<ContextMenu name="ПолеОрганизацияКонтекстноеМеню" id="83"/>
</LabelField>
<LabelField name="ЗаголовокСтатьяФинансирования" id="84">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Статья финансирования:</v8:content>
</v8:item>
</Title>
<ContextMenu name="ЗаголовокСтатьяФинансированияКонтекстноеМеню" id="85"/>
</LabelField>
<LabelField name="ПолеСтатьяФинансирования" id="86">
<DataPath>Объект.СтатьяФинансирования</DataPath>
<Width>40</Width>
<ContextMenu name="ПолеСтатьяФинансированияКонтекстноеМеню" id="87"/>
</LabelField>
<LabelField name="ЗаголовокСтатьяРасходов" id="88">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Статья расходов:</v8:content>
</v8:item>
</Title>
<ContextMenu name="ЗаголовокСтатьяРасходовКонтекстноеМеню" id="89"/>
</LabelField>
<LabelField name="ПолеСтатьяРасходов" id="90">
<DataPath>Объект.СтатьяРасходов</DataPath>
<Width>10</Width>
<ContextMenu name="ПолеСтатьяРасходовКонтекстноеМеню" id="91"/>
</LabelField>
</ChildItems>
</UsualGroup>
<LabelField name="Организация" id="68">
<DataPath>Объект.Организация</DataPath>
<ContextMenu name="ОрганизацияКонтекстноеМеню" id="70"/>
<ExtendedTooltip name="ОрганизацияРасширеннаяПодсказка" id="71"/>
</LabelField>
<LabelField name="СтатьяФинансирования" id="72">
<DataPath>Объект.СтатьяФинансирования</DataPath>
<ContextMenu name="СтатьяФинансированияКонтекстноеМеню" id="73"/>
<ExtendedTooltip name="СтатьяФинансированияРасширеннаяПодсказка" id="74"/>
</LabelField>
<LabelField name="СтатьяРасходов" id="75">
<DataPath>Объект.СтатьяРасходов</DataPath>
<ContextMenu name="СтатьяРасходовКонтекстноеМеню" id="76"/>
<ExtendedTooltip name="СтатьяРасходовРасширеннаяПодсказка" id="77"/>
</LabelField></UsualGroup>
<Pages name="ГруппаДанные" id="30">
<ExtendedTooltip name="ГруппаДанныеРасширеннаяПодсказка" id="69"/>
<ChildItems>
<Page name="СтраницаСотрудники" id="33">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сотрудники</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="СтраницаСотрудникиРасширеннаяПодсказка" id="700"/>
<ChildItems>
<Table name="ТаблицаСотрудники" id="1200">
<DataPath>Объект.Сотрудники</DataPath>
<RowFilter xsi:nil="true"/>
<ContextMenu name="ТаблицаСотрудникиКонтекстноеМеню" id="1201"/>
<AutoCommandBar name="ТаблицаСотрудникиКоманднаяПанель" id="1202"/>
<ExtendedTooltip name="ТаблицаСотрудникиРасширеннаяПодсказка" id="1203"/>
<SearchStringAddition name="ТаблицаСотрудникиСтрокаПоиска" id="1381">
<AdditionSource>
<Item>ТаблицаСотрудники</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="ТаблицаСотрудникиСтрокаПоискаКонтекстноеМеню" id="1382"/>
<ExtendedTooltip name="ТаблицаСотрудникиСтрокаПоискаРасширеннаяПодсказка" id="1383"/>
</SearchStringAddition>
<ViewStatusAddition name="ТаблицаСотрудникиСостояниеПросмотра" id="1384">
<AdditionSource>
<Item>ТаблицаСотрудники</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="ТаблицаСотрудникиСостояниеПросмотраКонтекстноеМеню" id="1385"/>
<ExtendedTooltip name="ТаблицаСотрудникиСостояниеПросмотраРасширеннаяПодсказка" id="1386"/>
</ViewStatusAddition>
<SearchControlAddition name="ТаблицаСотрудникиУправлениеПоиском" id="1387">
<AdditionSource>
<Item>ТаблицаСотрудники</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="ТаблицаСотрудникиУправлениеПоискомКонтекстноеМеню" id="1388"/>
<ExtendedTooltip name="ТаблицаСотрудникиУправлениеПоискомРасширеннаяПодсказка" id="1389"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="ТаблицаСотрудникиНомерСтроки" id="1300">
<DataPath>Объект.Сотрудники.LineNumber</DataPath>
<ContextMenu name="ТаблицаСотрудникиНомерСтрокиКонтекстноеМеню" id="1301"/>
<ExtendedTooltip name="ТаблицаСотрудникиНомерСтрокиРасширеннаяПодсказка" id="1302"/>
</LabelField>
<InputField name="ТаблицаСотрудникиФИО" id="1303">
<DataPath>Объект.Сотрудники.ФИО</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаСотрудникиФИОКонтекстноеМеню" id="1304"/>
<ExtendedTooltip name="ТаблицаСотрудникиФИОРасширеннаяПодсказка" id="1305"/>
</InputField>
<InputField name="ТаблицаСотрудникиИНН" id="1306">
<DataPath>Объект.Сотрудники.ИНН</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаСотрудникиИННКонтекстноеМеню" id="1307"/>
<ExtendedTooltip name="ТаблицаСотрудникиИННРасширеннаяПодсказка" id="1308"/>
</InputField>
<InputField name="ТаблицаСотрудникиСНИЛС" id="1309">
<DataPath>Объект.Сотрудники.СНИЛС</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаСотрудникиСНИЛСКонтекстноеМеню" id="1310"/>
<ExtendedTooltip name="ТаблицаСотрудникиСНИЛСРасширеннаяПодсказка" id="1311"/>
</InputField>
<InputField name="ТаблицаСотрудникиЛицевойСчет" id="1312">
<DataPath>Объект.Сотрудники.ЛицевойСчетВБанке</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаСотрудникиЛицевойСчетКонтекстноеМеню" id="1313"/>
<ExtendedTooltip name="ТаблицаСотрудникиЛицевойСчетРасширеннаяПодсказка" id="1314"/>
</InputField>
<InputField name="ТаблицаСотрудникиВидЗанятости" id="1315">
<DataPath>Объект.Сотрудники.ВидЗанятости</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаСотрудникиВидЗанятостиКонтекстноеМеню" id="1316"/>
<ExtendedTooltip name="ТаблицаСотрудникиВидЗанятостиРасширеннаяПодсказка" id="1317"/>
</InputField>
<InputField name="ТаблицаСотрудникиАдрес" id="1318">
<DataPath>Объект.Сотрудники.АдресРегистрации</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаСотрудникиАдресКонтекстноеМеню" id="1319"/>
<ExtendedTooltip name="ТаблицаСотрудникиАдресРасширеннаяПодсказка" id="1320"/>
</InputField>
</ChildItems>
</Table>
</ChildItems>
</Page>
<Page name="СтраницаРасчетЗП" id="31">
<Title>
<v8:item>
@@ -135,124 +283,434 @@
<ExtendedTooltip name="ДанныеРасчетаЗПУправлениеПоискомРасширеннаяПодсказка" id="124"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="ДанныеРасчетаЗПНомерСтроки" id="133">
<LabelField name="ДанныеРасчетаЗПНомерСтроки" id="900">
<DataPath>Объект.ДанныеРасчетаЗП.LineNumber</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ДанныеРасчетаЗПНомерСтрокиКонтекстноеМеню" id="134"/>
<ExtendedTooltip name="ДанныеРасчетаЗПНомерСтрокиРасширеннаяПодсказка" id="135"/>
<ContextMenu name="ДанныеРасчетаЗПНомерСтрокиКонтекстноеМеню" id="901"/>
<ExtendedTooltip name="ДанныеРасчетаЗПНомерСтрокиРасширеннаяПодсказка" id="902"/>
</LabelField>
<InputField name="ДанныеРасчетаЗПФИО" id="137">
<InputField name="ДанныеРасчетаЗПФИО" id="903">
<DataPath>Объект.ДанныеРасчетаЗП.ФИО</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПФИОКонтекстноеМеню" id="138"/>
<ExtendedTooltip name="ДанныеРасчетаЗПФИОРасширеннаяПодсказка" id="139"/>
<BackColor>#CCFFFF</BackColor>
<ContextMenu name="ДанныеРасчетаЗПФИОКонтекстноеМеню" id="904"/>
<ExtendedTooltip name="ДанныеРасчетаЗПФИОРасширеннаяПодсказка" id="905"/>
</InputField>
<InputField name="ДанныеРасчетаЗПДолжность" id="141">
<InputField name="ДанныеРасчетаЗПДолжность" id="906">
<DataPath>Объект.ДанныеРасчетаЗП.Должность</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПДолжностьКонтекстноеМеню" id="142"/>
<ExtendedTooltip name="ДанныеРасчетаЗПДолжностьРасширеннаяПодсказка" id="143"/>
<BackColor>#CCFFFF</BackColor>
<ContextMenu name="ДанныеРасчетаЗПДолжностьКонтекстноеМеню" id="907"/>
<ExtendedTooltip name="ДанныеРасчетаЗПДолжностьРасширеннаяПодсказка" id="908"/>
</InputField>
<InputField name="ДанныеРасчетаЗПСчетБК" id="145">
<InputField name="ДанныеРасчетаЗПСчетБК" id="909">
<DataPath>Объект.ДанныеРасчетаЗП.СчетБК</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПСчетБККонтекстноеМеню" id="146"/>
<ExtendedTooltip name="ДанныеРасчетаЗПСчетБКРасширеннаяПодсказка" id="147"/>
<BackColor>#CCFFFF</BackColor>
<ContextMenu name="ДанныеРасчетаЗПСчетБККонтекстноеМеню" id="910"/>
<ExtendedTooltip name="ДанныеРасчетаЗПСчетБКРасширеннаяПодсказка" id="911"/>
</InputField>
<InputField name="ДанныеРасчетаЗПВидЗанятости" id="149">
<InputField name="ДанныеРасчетаЗПВидЗанятости" id="912">
<DataPath>Объект.ДанныеРасчетаЗП.ВидЗанятости</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПВидЗанятостиКонтекстноеМеню" id="150"/>
<ExtendedTooltip name="ДанныеРасчетаЗПВидЗанятостиРасширеннаяПодсказка" id="151"/>
<BackColor>#CCFFFF</BackColor>
<ContextMenu name="ДанныеРасчетаЗПВидЗанятостиКонтекстноеМеню" id="913"/>
<ExtendedTooltip name="ДанныеРасчетаЗПВидЗанятостиРасширеннаяПодсказка" id="914"/>
</InputField>
<InputField name="ДанныеРасчетаЗПОклад" id="153">
<InputField name="ДанныеРасчетаЗПОклад" id="915">
<DataPath>Объект.ДанныеРасчетаЗП.Оклад</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПОкладКонтекстноеМеню" id="154"/>
<ExtendedTooltip name="ДанныеРасчетаЗПОкладРасширеннаяПодсказка" id="155"/>
<BackColor>#CCFFFF</BackColor>
<ContextMenu name="ДанныеРасчетаЗПОкладКонтекстноеМеню" id="916"/>
<ExtendedTooltip name="ДанныеРасчетаЗПОкладРасширеннаяПодсказка" id="917"/>
</InputField>
<InputField name="ДанныеРасчетаЗПКоличествоСтавок" id="157">
<InputField name="ДанныеРасчетаЗПКоличествоСтавок" id="918">
<DataPath>Объект.ДанныеРасчетаЗП.КоличествоСтавок</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПКоличествоСтавокКонтекстноеМеню" id="158"/>
<ExtendedTooltip name="ДанныеРасчетаЗПКоличествоСтавокРасширеннаяПодсказка" id="159"/>
<BackColor>#CCFFFF</BackColor>
<ContextMenu name="ДанныеРасчетаЗПКоличествоСтавокКонтекстноеМеню" id="919"/>
<ExtendedTooltip name="ДанныеРасчетаЗПКоличествоСтавокРасширеннаяПодсказка" id="920"/>
</InputField>
<InputField name="ДанныеРасчетаЗПОтработаноДней" id="161">
<InputField name="ДанныеРасчетаЗПОтработаноДней" id="921">
<DataPath>Объект.ДанныеРасчетаЗП.ОтработаноДней</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПОтработаноДнейКонтекстноеМеню" id="162"/>
<ExtendedTooltip name="ДанныеРасчетаЗПОтработаноДнейРасширеннаяПодсказка" id="163"/>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПОтработаноДнейКонтекстноеМеню" id="922"/>
<ExtendedTooltip name="ДанныеРасчетаЗПОтработаноДнейРасширеннаяПодсказка" id="923"/>
</InputField>
<InputField name="ДанныеРасчетаЗПИтогоНачислено" id="165">
<InputField name="ДанныеРасчетаЗПЧасыДежурства" id="924">
<DataPath>Объект.ДанныеРасчетаЗП.ЧасыДежурства</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПЧасыДежурстваКонтекстноеМеню" id="925"/>
<ExtendedTooltip name="ДанныеРасчетаЗПЧасыДежурстваРасширеннаяПодсказка" id="926"/>
</InputField>
<InputField name="ДанныеРасчетаЗПДоплатаСовместительство" id="927">
<DataPath>Объект.ДанныеРасчетаЗП.ДоплатаСовместительство</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПДоплатаСовместительствоКонтекстноеМеню" id="928"/>
<ExtendedTooltip name="ДанныеРасчетаЗПДоплатаСовместительствоРасширеннаяПодсказка" id="929"/>
</InputField>
<InputField name="ДанныеРасчетаЗПДоплатаСовмещениеПроцент" id="930">
<DataPath>Объект.ДанныеРасчетаЗП.ДоплатаСовмещениеПроцент</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПДоплатаСовмещениеПроцентКонтекстноеМеню" id="931"/>
<ExtendedTooltip name="ДанныеРасчетаЗПДоплатаСовмещениеПроцентРасширеннаяПодсказка" id="932"/>
</InputField>
<InputField name="ДанныеРасчетаЗПДоплатаИнтенсивность" id="933">
<DataPath>Объект.ДанныеРасчетаЗП.ДоплатаИнтенсивность</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПДоплатаИнтенсивностьКонтекстноеМеню" id="934"/>
<ExtendedTooltip name="ДанныеРасчетаЗПДоплатаИнтенсивностьРасширеннаяПодсказка" id="935"/>
</InputField>
<InputField name="ДанныеРасчетаЗПДоплатаНочные" id="936">
<DataPath>Объект.ДанныеРасчетаЗП.ДоплатаНочные</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПДоплатаНочныеКонтекстноеМеню" id="937"/>
<ExtendedTooltip name="ДанныеРасчетаЗПДоплатаНочныеРасширеннаяПодсказка" id="938"/>
</InputField>
<InputField name="ДанныеРасчетаЗПДоплатаПраздничные" id="939">
<DataPath>Объект.ДанныеРасчетаЗП.ДоплатаПраздничные</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПДоплатаПраздничныеКонтекстноеМеню" id="940"/>
<ExtendedTooltip name="ДанныеРасчетаЗПДоплатаПраздничныеРасширеннаяПодсказка" id="941"/>
</InputField>
<InputField name="ДанныеРасчетаЗПЗаСтаж" id="942">
<DataPath>Объект.ДанныеРасчетаЗП.ЗаСтаж</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПЗаСтажКонтекстноеМеню" id="943"/>
<ExtendedTooltip name="ДанныеРасчетаЗПЗаСтажРасширеннаяПодсказка" id="944"/>
</InputField>
<InputField name="ДанныеРасчетаЗПНадбавкаЗаКатегорию" id="945">
<DataPath>Объект.ДанныеРасчетаЗП.НадбавкаЗаКатегорию</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПНадбавкаЗаКатегориюКонтекстноеМеню" id="946"/>
<ExtendedTooltip name="ДанныеРасчетаЗПНадбавкаЗаКатегориюРасширеннаяПодсказка" id="947"/>
</InputField>
<InputField name="ДанныеРасчетаЗПНадбавкаЗаВредность" id="948">
<DataPath>Объект.ДанныеРасчетаЗП.НадбавкаЗаВредность</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПНадбавкаЗаВредностьКонтекстноеМеню" id="949"/>
<ExtendedTooltip name="ДанныеРасчетаЗПНадбавкаЗаВредностьРасширеннаяПодсказка" id="950"/>
</InputField>
<InputField name="ДанныеРасчетаЗППовышающийКоэффициент" id="951">
<DataPath>Объект.ДанныеРасчетаЗП.ПовышающийКоэффициент</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗППовышающийКоэффициентКонтекстноеМеню" id="952"/>
<ExtendedTooltip name="ДанныеРасчетаЗППовышающийКоэффициентРасширеннаяПодсказка" id="953"/>
</InputField>
<InputField name="ДанныеРасчетаЗПСтимулирующиеВыплаты" id="954">
<DataPath>Объект.ДанныеРасчетаЗП.СтимулирующиеВыплаты</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПСтимулирующиеВыплатыКонтекстноеМеню" id="955"/>
<ExtendedTooltip name="ДанныеРасчетаЗПСтимулирующиеВыплатыРасширеннаяПодсказка" id="956"/>
</InputField>
<InputField name="ДанныеРасчетаЗПРайонныйКоэффициент" id="957">
<DataPath>Объект.ДанныеРасчетаЗП.РайонныйКоэффициент</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПРайонныйКоэффициентКонтекстноеМеню" id="958"/>
<ExtendedTooltip name="ДанныеРасчетаЗПРайонныйКоэффициентРасширеннаяПодсказка" id="959"/>
</InputField>
<InputField name="ДанныеРасчетаЗППремияРазовая" id="960">
<DataPath>Объект.ДанныеРасчетаЗП.ПремияРазовая</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗППремияРазоваяКонтекстноеМеню" id="961"/>
<ExtendedTooltip name="ДанныеРасчетаЗППремияРазоваяРасширеннаяПодсказка" id="962"/>
</InputField>
<InputField name="ДанныеРасчетаЗПОтпуск" id="963">
<DataPath>Объект.ДанныеРасчетаЗП.Отпуск</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПОтпускКонтекстноеМеню" id="964"/>
<ExtendedTooltip name="ДанныеРасчетаЗПОтпускРасширеннаяПодсказка" id="965"/>
</InputField>
<InputField name="ДанныеРасчетаЗПКомпенсацияЗаОтпуск" id="966">
<DataPath>Объект.ДанныеРасчетаЗП.КомпенсацияЗаОтпуск</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПКомпенсацияЗаОтпускКонтекстноеМеню" id="967"/>
<ExtendedTooltip name="ДанныеРасчетаЗПКомпенсацияЗаОтпускРасширеннаяПодсказка" id="968"/>
</InputField>
<InputField name="ДанныеРасчетаЗПВыходноеПособие" id="969">
<DataPath>Объект.ДанныеРасчетаЗП.ВыходноеПособие</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПВыходноеПособиеКонтекстноеМеню" id="970"/>
<ExtendedTooltip name="ДанныеРасчетаЗПВыходноеПособиеРасширеннаяПодсказка" id="971"/>
</InputField>
<InputField name="ДанныеРасчетаЗПДоплатаДоМРОТ" id="972">
<DataPath>Объект.ДанныеРасчетаЗП.ДоплатаДоМРОТ</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПДоплатаДоМРОТКонтекстноеМеню" id="973"/>
<ExtendedTooltip name="ДанныеРасчетаЗПДоплатаДоМРОТРасширеннаяПодсказка" id="974"/>
</InputField>
<InputField name="ДанныеРасчетаЗПРодовые" id="975">
<DataPath>Объект.ДанныеРасчетаЗП.Родовые</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:PaleGreen</BackColor>
<ContextMenu name="ДанныеРасчетаЗПРодовыеКонтекстноеМеню" id="976"/>
<ExtendedTooltip name="ДанныеРасчетаЗПРодовыеРасширеннаяПодсказка" id="977"/>
</InputField>
<InputField name="ДанныеРасчетаЗПИтогоНачислено" id="1000">
<DataPath>Объект.ДанныеРасчетаЗП.ИтогоНачислено</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПИтогоНачисленоКонтекстноеМеню" id="166"/>
<ExtendedTooltip name="ДанныеРасчетаЗПИтогоНачисленоРасширеннаяПодсказка" id="167"/>
<TextColor>web:White</TextColor>
<BackColor>web:Black</BackColor>
<ContextMenu name="ДанныеРасчетаЗПИтогоНачисленоКонтекстноеМеню" id="1001"/>
<ExtendedTooltip name="ДанныеРасчетаЗПИтогоНачисленоРасширеннаяПодсказка" id="1002"/>
</InputField>
<InputField name="ДанныеРасчетаЗПНДФЛ" id="169">
<InputField name="ДанныеРасчетаЗПНДФЛ" id="1003">
<DataPath>Объект.ДанныеРасчетаЗП.НДФЛ</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПНДФЛКонтекстноеМеню" id="170"/>
<ExtendedTooltip name="ДанныеРасчетаЗПНДФЛРасширеннаяПодсказка" id="171"/>
<BackColor>web:MistyRose</BackColor>
<ContextMenu name="ДанныеРасчетаЗПНДФЛКонтекстноеМеню" id="1004"/>
<ExtendedTooltip name="ДанныеРасчетаЗПНДФЛРасширеннаяПодсказка" id="1005"/>
</InputField>
<InputField name="ДанныеРасчетаЗПИтогоУдержано" id="173">
<InputField name="ДанныеРасчетаЗППрофВзнос" id="1006">
<DataPath>Объект.ДанныеРасчетаЗП.ПрофВзнос</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:MistyRose</BackColor>
<ContextMenu name="ДанныеРасчетаЗППрофВзносКонтекстноеМеню" id="1007"/>
<ExtendedTooltip name="ДанныеРасчетаЗППрофВзносРасширеннаяПодсказка" id="1008"/>
</InputField>
<InputField name="ДанныеРасчетаЗПИсполнительныеДокументы" id="1009">
<DataPath>Объект.ДанныеРасчетаЗП.ИсполнительныеДокументы</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:MistyRose</BackColor>
<ContextMenu name="ДанныеРасчетаЗПИсполнительныеДокументыКонтекстноеМеню" id="1010"/>
<ExtendedTooltip name="ДанныеРасчетаЗПИсполнительныеДокументыРасширеннаяПодсказка" id="1011"/>
</InputField>
<InputField name="ДанныеРасчетаЗПИтогоУдержано" id="1018">
<DataPath>Объект.ДанныеРасчетаЗП.ИтогоУдержано</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПИтогоУдержаноКонтекстноеМеню" id="174"/>
<ExtendedTooltip name="ДанныеРасчетаЗПИтогоУдержаноРасширеннаяПодсказка" id="175"/>
<TextColor>web:White</TextColor>
<BackColor>web:Black</BackColor>
<ContextMenu name="ДанныеРасчетаЗПИтогоУдержаноКонтекстноеМеню" id="1019"/>
<ExtendedTooltip name="ДанныеРасчетаЗПИтогоУдержаноРасширеннаяПодсказка" id="1020"/>
</InputField>
<InputField name="ДанныеРасчетаЗПВсегоНаРуки" id="177">
<InputField name="ДанныеРасчетаЗПАванс" id="1012">
<DataPath>Объект.ДанныеРасчетаЗП.Аванс</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:LightYellow</BackColor>
<ContextMenu name="ДанныеРасчетаЗПАвансКонтекстноеМеню" id="1013"/>
<ExtendedTooltip name="ДанныеРасчетаЗПАвансРасширеннаяПодсказка" id="1014"/>
</InputField>
<InputField name="ДанныеРасчетаЗПЗарплатаЗаПервуюПоловину" id="1030">
<DataPath>Объект.ДанныеРасчетаЗП.ЗарплатаЗаПервуюПоловину</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:LightYellow</BackColor>
<ContextMenu name="ДанныеРасчетаЗПЗарплатаЗаПервуюПоловинуКонтекстноеМеню" id="1031"/>
<ExtendedTooltip name="ДанныеРасчетаЗПЗарплатаЗаПервуюПоловинуРасширеннаяПодсказка" id="1032"/>
</InputField>
<InputField name="ДанныеРасчетаЗППремияАванс" id="1033">
<DataPath>Объект.ДанныеРасчетаЗП.ПремияАванс</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:LightYellow</BackColor>
<ContextMenu name="ДанныеРасчетаЗППремияАвансКонтекстноеМеню" id="1034"/>
<ExtendedTooltip name="ДанныеРасчетаЗППремияАвансРасширеннаяПодсказка" id="1035"/>
</InputField>
<InputField name="ДанныеРасчетаЗПВыплатыВМежрасчетный" id="1036">
<DataPath>Объект.ДанныеРасчетаЗП.ВыплатыВМежрасчетный</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:LightYellow</BackColor>
<ContextMenu name="ДанныеРасчетаЗПВыплатыВМежрасчетныйКонтекстноеМеню" id="1037"/>
<ExtendedTooltip name="ДанныеРасчетаЗПВыплатыВМежрасчетныйРасширеннаяПодсказка" id="1038"/>
</InputField>
<InputField name="ДанныеРасчетаЗПБезналичныеПеречисления" id="1015">
<DataPath>Объект.ДанныеРасчетаЗП.БезналичныеПеречисления</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<BackColor>web:LightYellow</BackColor>
<ContextMenu name="ДанныеРасчетаЗПБезналичныеПеречисленияКонтекстноеМеню" id="1016"/>
<ExtendedTooltip name="ДанныеРасчетаЗПБезналичныеПеречисленияРасширеннаяПодсказка" id="1017"/>
</InputField>
<InputField name="ДанныеРасчетаЗПИтогоВыплачено" id="1021">
<DataPath>Объект.ДанныеРасчетаЗП.ИтогоВыплачено</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<TextColor>web:White</TextColor>
<BackColor>web:Black</BackColor>
<ContextMenu name="ДанныеРасчетаЗПИтогоВыплаченоКонтекстноеМеню" id="1022"/>
<ExtendedTooltip name="ДанныеРасчетаЗПИтогоВыплаченоРасширеннаяПодсказка" id="1023"/>
</InputField>
<InputField name="ДанныеРасчетаЗПВсегоНаРуки" id="1024">
<DataPath>Объект.ДанныеРасчетаЗП.ВсегоНаРуки</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПВсегоНаРукиКонтекстноеМеню" id="178"/>
<ExtendedTooltip name="ДанныеРасчетаЗПВсегоНаРукиРасширеннаяПодсказка" id="179"/>
<ContextMenu name="ДанныеРасчетаЗПВсегоНаРукиКонтекстноеМеню" id="1025"/>
<ExtendedTooltip name="ДанныеРасчетаЗПВсегоНаРукиРасширеннаяПодсказка" id="1026"/>
</InputField>
<InputField name="ДанныеРасчетаЗПИНН" id="181">
<DataPath>Объект.ДанныеРасчетаЗП.ИНН</DataPath>
</ChildItems>
</Table>
</ChildItems>
</Page>
<Page name="СтраницаДанныеНДФЛ" id="32">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Данные НДФЛ</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="СтраницаДанныеНДФЛРасширеннаяПодсказка" id="301"/>
<ChildItems>
<Table name="ТаблицаДанныеНДФЛ" id="400">
<DataPath>Объект.ДанныеНДФЛ</DataPath>
<RowFilter xsi:nil="true"/>
<ContextMenu name="ТаблицаДанныеНДФЛКонтекстноеМеню" id="401"/>
<AutoCommandBar name="ТаблицаДанныеНДФЛКоманднаяПанель" id="402"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛРасширеннаяПодсказка" id="403"/>
<SearchStringAddition name="ТаблицаДанныеНДФЛСтрокаПоиска" id="404">
<AdditionSource>
<Item>ТаблицаДанныеНДФЛ</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="ТаблицаДанныеНДФЛСтрокаПоискаКонтекстноеМеню" id="405"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛСтрокаПоискаРасширеннаяПодсказка" id="406"/>
</SearchStringAddition>
<ViewStatusAddition name="ТаблицаДанныеНДФЛСостояниеПросмотра" id="407">
<AdditionSource>
<Item>ТаблицаДанныеНДФЛ</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="ТаблицаДанныеНДФЛСостояниеПросмотраКонтекстноеМеню" id="408"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛСостояниеПросмотраРасширеннаяПодсказка" id="409"/>
</ViewStatusAddition>
<SearchControlAddition name="ТаблицаДанныеНДФЛУправлениеПоиском" id="410">
<AdditionSource>
<Item>ТаблицаДанныеНДФЛ</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="ТаблицаДанныеНДФЛУправлениеПоискомКонтекстноеМеню" id="411"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛУправлениеПоискомРасширеннаяПодсказка" id="412"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="ТаблицаДанныеНДФЛНомерСтроки" id="500">
<DataPath>Объект.ДанныеНДФЛ.LineNumber</DataPath>
<ContextMenu name="ТаблицаДанныеНДФЛНомерСтрокиКонтекстноеМеню" id="501"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛНомерСтрокиРасширеннаяПодсказка" id="502"/>
</LabelField>
<InputField name="ТаблицаДанныеНДФЛФИО" id="503">
<DataPath>Объект.ДанныеНДФЛ.ФИО</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПИННКонтекстноеМеню" id="182"/>
<ExtendedTooltip name="ДанныеРасчетаЗПИННРасширеннаяПодсказка" id="183"/>
<ContextMenu name="ТаблицаДанныеНДФЛФИОКонтекстноеМеню" id="504"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛФИОРасширеннаяПодсказка" id="505"/>
</InputField>
<InputField name="ДанныеРасчетаЗПСНИЛС" id="185">
<DataPath>Объект.ДанныеРасчетаЗП.СНИЛС</DataPath>
<InputField name="ТаблицаДанныеНДФЛМесяцРасчета" id="506">
<DataPath>Объект.ДанныеНДФЛ.МесяцРасчета</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПСНИЛСКонтекстноеМеню" id="186"/>
<ExtendedTooltip name="ДанныеРасчетаЗПСНИЛСРасширеннаяПодсказка" id="187"/>
<ContextMenu name="ТаблицаДанныеНДФЛМесяцРасчетаКонтекстноеМеню" id="507"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛМесяцРасчетаРасширеннаяПодсказка" id="508"/>
</InputField>
<InputField name="ДанныеРасчетаЗПАдрес" id="189">
<DataPath>Объект.ДанныеРасчетаЗП.Адрес</DataPath>
<InputField name="ТаблицаДанныеНДФЛСуммаВаловогоДохода" id="509">
<DataPath>Объект.ДанныеНДФЛ.СуммаВаловогоДохода</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПАдресКонтекстноеМеню" id="190"/>
<ExtendedTooltip name="ДанныеРасчетаЗПАдресРасширеннаяПодсказка" id="191"/>
<ContextMenu name="ТаблицаДанныеНДФЛСуммаВаловогоДоходаКонтекстноеМеню" id="510"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛСуммаВаловогоДоходаРасширеннаяПодсказка" id="511"/>
</InputField>
<InputField name="ТаблицаДанныеНДФЛСкидкаДляНДФЛЗаМесяц" id="512">
<DataPath>Объект.ДанныеНДФЛ.СкидкаДляНДФЛЗаМесяц</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаДанныеНДФЛСкидкаДляНДФЛЗаМесяцКонтекстноеМеню" id="513"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛСкидкаДляНДФЛЗаМесяцРасширеннаяПодсказка" id="514"/>
</InputField>
<InputField name="ТаблицаДанныеНДФЛВычетНаРаботникаЗаМесяц" id="515">
<DataPath>Объект.ДанныеНДФЛ.ВычетНаРаботникаЗаМесяц</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаДанныеНДФЛВычетНаРаботникаЗаМесяцКонтекстноеМеню" id="516"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛВычетНаРаботникаЗаМесяцРасширеннаяПодсказка" id="517"/>
</InputField>
<InputField name="ТаблицаДанныеНДФЛВычетНаИждивенцевЗаМесяц" id="518">
<DataPath>Объект.ДанныеНДФЛ.ВычетНаИждивенцевЗаМесяц</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаДанныеНДФЛВычетНаИждивенцевЗаМесяцКонтекстноеМеню" id="519"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛВычетНаИждивенцевЗаМесяцРасширеннаяПодсказка" id="520"/>
</InputField>
<InputField name="ТаблицаДанныеНДФЛОблагаемыйДоходЗаМесяц" id="521">
<DataPath>Объект.ДанныеНДФЛ.ОблагаемыйДоходЗаМесяц</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаДанныеНДФЛОблагаемыйДоходЗаМесяцКонтекстноеМеню" id="522"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛОблагаемыйДоходЗаМесяцРасширеннаяПодсказка" id="523"/>
</InputField>
<InputField name="ТаблицаДанныеНДФЛНачисленныйНДФЛЗаГод" id="524">
<DataPath>Объект.ДанныеНДФЛ.НачисленныйНДФЛЗаГод</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаДанныеНДФЛНачисленныйНДФЛЗаГодКонтекстноеМеню" id="525"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛНачисленныйНДФЛЗаГодРасширеннаяПодсказка" id="526"/>
</InputField>
<InputField name="ТаблицаДанныеНДФЛИтогоНДФЛЗаМесяц" id="527">
<DataPath>Объект.ДанныеНДФЛ.ИтогоНДФЛЗаМесяц</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаДанныеНДФЛИтогоНДФЛЗаМесяцКонтекстноеМеню" id="528"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛИтогоНДФЛЗаМесяцРасширеннаяПодсказка" id="529"/>
</InputField>
<InputField name="ТаблицаДанныеНДФЛНалоговаяБазаПоСВЗаМесяц" id="530">
<DataPath>Объект.ДанныеНДФЛ.НалоговаяБазаПоСВЗаМесяц</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаДанныеНДФЛНалоговаяБазаПоСВЗаМесяцКонтекстноеМеню" id="531"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛНалоговаяБазаПоСВЗаМесяцРасширеннаяПодсказка" id="532"/>
</InputField>
<InputField name="ТаблицаДанныеНДФЛИтогоФСС" id="533">
<DataPath>Объект.ДанныеНДФЛ.ИтогоФСС</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаДанныеНДФЛИтогоФССКонтекстноеМеню" id="534"/>
<ExtendedTooltip name="ТаблицаДанныеНДФЛИтогоФССРасширеннаяПодсказка" id="535"/>
</InputField>
</ChildItems>
</Table>
@@ -297,7 +755,6 @@
<ContextMenu name="ТаблицаСтраховыеВзносыУправлениеПоискомКонтекстноеМеню" id="102"/>
<ExtendedTooltip name="ТаблицаСтраховыеВзносыУправлениеПоискомРасширеннаяПодсказка" id="103"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="ТаблицаСтраховыеВзносыНомерСтроки" id="200">
<DataPath>Объект.ДанныеСтраховыхВзносов.LineNumber</DataPath>
@@ -355,7 +812,21 @@
</InputField>
</ChildItems>
</Table>
</ChildItems>
<InputField name="ТаблицаСтраховыеВзносыНалоговаяБазаПоСВЗаМесяц" id="224">
<DataPath>Объект.ДанныеСтраховыхВзносов.НалоговаяБазаПоСВЗаМесяц</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаСтраховыеВзносыНалоговаяБазаПоСВЗаМесяцКонтекстноеМеню" id="225"/>
<ExtendedTooltip name="ТаблицаСтраховыеВзносыНалоговаяБазаПоСВЗаМесяцРасширеннаяПодсказка" id="226"/>
</InputField>
<InputField name="ТаблицаСтраховыеВзносыИтогоФСС" id="227">
<DataPath>Объект.ДанныеСтраховыхВзносов.ИтогоФСС</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаСтраховыеВзносыИтогоФССКонтекстноеМеню" id="228"/>
<ExtendedTooltip name="ТаблицаСтраховыеВзносыИтогоФССРасширеннаяПодсказка" id="229"/>
</InputField></ChildItems>
</Page>
</ChildItems>
</Pages>
@@ -369,6 +840,15 @@
</Type>
<MainAttribute>true</MainAttribute>
</Attribute>
<Attribute name="МесяцТекст" id="65">
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="Прогресс" id="50">
<Type>
<v8:Type>xs:decimal</v8:Type>
@@ -2,7 +2,18 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ИнициализироватьТаблицы();
КонецПроцедуры
&НаСервере
Процедура ЗаписатьДанныеНаСервере(ГодЗагрузкиПараметр, МесяцЗагрузки, ОрганизацияНаименование, СтатьяФинансированияНаименование, СтатьяРасходовКод)
Период = Дата(Год(ТекущаяДата()), МесяцЗагрузки, 1);
Орг = Справочники.Организации.НайтиПоНаименованию(СокрЛП(ОрганизацияНаименование), Истина);
Док = Документы.ПереносДанных.СоздатьДокумент();
Док.Дата = Период;
Док.Организация = Орг;
Док.Записать();
Сообщить("Документ записан: " + Док.Ссылка);
КонецПроцедуры
#КонецОбласти
@@ -13,7 +24,7 @@
Процедура ВыбратьФайл(Команда)
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.МножественныйВыбор = Ложь;
Диалог.Фильтр = "Excel файлы (*.xls;*.xlsx;*.xlsm)|*.xls;*.xlsx;*.xlsm";
Диалог.Фильтр = "Excel (*.xlsx;*.xlsm;*.xls)|*.xlsx;*.xlsm;*.xls";
Если Диалог.Выбрать() Тогда
Объект.ПутьКФайлу = Диалог.ПолноеИмяФайла;
КонецЕсли;
@@ -25,12 +36,24 @@
Сообщить("Выберите файл!");
Возврат;
КонецЕсли;
Состояние("Инициализация загрузки...", 0);
Прогресс = 0;
СтатусЗагрузки = "Подготовка...";
ПрочитатьExcelНаКлиенте();
Состояние("Загрузка файла...");
АдресФайла = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(Объект.ПутьКФайлу), УникальныйИдентификатор);
Состояние("Чтение данных...");
Результат = ПрочитатьФайлНаСервере(АдресФайла);
Если Результат = Неопределено Тогда
Сообщить("Ошибка чтения файла!");
Возврат;
КонецЕсли;
// Заполняем реквизиты формы
Объект._ГодЗагрузки = Результат.ГодЗагрузки;
Объект.МесяцЗагрузки = Результат.МесяцЗагрузки;
Объект._ОрганизацияНаименование = Результат.Организация;
Объект._СтатьяФинансированияНаименование = Результат.СтатьяФинансирования;
Объект._СтатьяРасходовКод = "211";
// Заполняем таблицы
ЗаполнитьТаблицыНаСервере(Результат.Данные, Результат.Взносы, Результат.НДФЛ, Результат.Сотрудники);
СтатусЗагрузки = "Загружено: " + Результат.Данные.Количество() + " записей, " + Результат.Сотрудники.Количество() + " сотр.";
Состояние("Готово", 100);
КонецПроцедуры
&НаКлиенте
@@ -39,528 +62,205 @@
Сообщить("Нет данных для записи!");
Возврат;
КонецЕсли;
ЗаписатьДанныеНаСервере();
ЗаписатьДанныеНаСервере(Объект._ГодЗагрузки, Объект.МесяцЗагрузки,
Объект._ОрганизацияНаименование, Объект._СтатьяФинансированияНаименование, Объект._СтатьяРасходовКод);
Сообщить("Данные записаны!");
КонецПроцедуры
#КонецОбласти
#Область ЧтениеExcel_Домен
// ============================================================================
// ДОМЕН: Чтение Excel
// Ответственность: открытие файла, поиск листов, чтение ячеек
// ============================================================================
// Создаёт COM-объект Excel и открывает файл.
// Возвращает структуру {Книга, Excel} или Неопределено при ошибке.
&НаКлиенте
Функция ОткрытьФайлExcel(ПутьКФайлу)
Попытка
Excel = Новый COMОбъект("Excel.Application");
Excel.Visible = Ложь;
Excel.DisplayAlerts = Ложь;
Книга = Excel.Workbooks.Open(ПутьКФайлу);
Возврат Новый Структура("Книга, Excel", Книга, Excel);
Исключение
Сообщить("Не удалось открыть Excel: " + ОписаниеОшибки());
Возврат Неопределено;
КонецПопытки;
КонецФункции
// Закрывает книгу и приложение Excel, удаляет временный файл.
&НаКлиенте
Процедура ЗакрытьExcel(КонтекстExcel, ВременныйФайл)
Если КонтекстExcel = Неопределено Тогда Возврат; КонецЕсли;
Попытка
КонтекстExcel.Книга.Close(Ложь);
КонтекстExcel.Excel.Quit();
Исключение
КонецПопытки;
Если ЗначениеЗаполнено(ВременныйФайл) Тогда
УдалитьФайлы(ВременныйФайл);
КонецЕсли;
КонецПроцедуры
// Читает числовое значение ячейки с обработкой ошибок.
&НаКлиенте
Функция ПрочитатьЯчейкуЧисло(Лист, Строка, Колонка, КонтекстОшибки)
Попытка
Значение = Лист.Cells(Строка, Колонка).Value;
Если Значение = Неопределено ИЛИ Значение = "" Тогда
Возврат 0;
КонецЕсли;
Возврат Число(Значение);
Исключение
Сообщить("Ошибка чтения числа: " + КонтекстОшибки
+ " | строка " + Строка + " колонка " + Колонка
+ " | значение: """ + Значение + """ | " + ОписаниеОшибки());
Возврат 0;
КонецПопытки;
КонецФункции
// Читает строковое значение ячейки.
&НаКлиенте
Функция ПрочитатьЯчейкуСтрока(Лист, Строка, Колонка)
Попытка
Значение = Лист.Cells(Строка, Колонка).Value;
Если Значение = Неопределено Тогда Возврат ""; КонецЕсли;
Возврат СокрЛП("" + Значение);
Исключение
Возврат "";
КонецПопытки;
КонецФункции
// Извлекает имя листа сотрудника из формулы вида ='ИмяЛиста'!C2
// Возвращает имя листа или пустую строку.
&НаКлиенте
Функция ИзвлечьИмяЛистаИзФормулы(Формула)
Если Формула = Неопределено Тогда Возврат ""; КонецЕсли;
ТекстФормулы = СокрЛП("" + Формула);
Если Не СтрНачинаетсяС(ТекстФормулы, "='") Тогда Возврат ""; КонецЕсли;
// Ищем закрывающую кавычку после ='
ПозицияНачала = 3; // после ='
ПозицияКонца = СтрНайти(ТекстФормулы, "'!", , , ПозицияНачала);
Если ПозицияКонца = 0 Тогда Возврат ""; КонецЕсли;
Возврат Сред(ТекстФормулы, ПозицияНачала, ПозицияКонца - ПозицияНачала);
КонецФункции
// Ищет лист по имени (регистронезависимо).
&НаКлиенте
Функция НайтиЛист(Книга, ИмяЛиста)
Для Каждого Лист Из Книга.Sheets Цикл
Если ВРег(Лист.Name) = ВРег(ИмяЛиста) Тогда
Возврат Лист;
КонецЕсли;
КонецЦикла;
Возврат Неопределено;
КонецФункции
#КонецОбласти
#Область МаппингЗаголовков_Домен
// ============================================================================
// ДОМЕН: Маппинг заголовков
// Ответственность: сопоставление имён колонок Excel с полями данных
// ============================================================================
// Создаёт Соответствие для поиска колонок по имени заголовка.
// Ключ — имя заголовка (нижний регистр), значение — номер колонки (1-based).
&НаКлиенте
Функция СоздатьИндексЗаголовков(Лист, НомерСтрокиЗаголовков)
Индекс = Новый Соответствие;
// Определяем количество колонок: ищем последнюю непустую колонку
ПоследняяКолонка = 1;
Для Колонка = 1 По 100 Цикл
Значение = Лист.Cells(НомерСтрокиЗаголовков, Колонка).Value;
Если Значение <> Неопределено И Значение <> "" Тогда
ПоследняяКолонка = Колонка;
КонецЕсли;
КонецЦикла;
Для Колонка = 1 По ПоследняяКолонка Цикл
Имя = СокрЛП(НРег(Лист.Cells(НомерСтрокиЗаголовков, Колонка).Value));
Если ЗначениеЗаполнено(Имя) Тогда
Индекс.Вставить(Имя, Колонка);
КонецЕсли;
КонецЦикла;
Возврат Индекс;
КонецФункции
// Находит номер колонки по ключевому слову в заголовке.
// Возвращает номер колонки (1-based) или -1 если не найдено.
&НаКлиенте
Функция НайтиКолонкуПоЗаголовку(ИндексЗаголовков, КлючевоеСлово)
Ключ = НРег(КлючевоеСлово);
Для Каждого Эл Из ИндексЗаголовков Цикл
Если СтрНайти(Эл.Ключ, Ключ) > 0 Тогда
Возврат Эл.Значение;
КонецЕсли;
КонецЦикла;
Возврат -1;
КонецФункции
// Находит строку заголовков таблицы данных.
// Ищет строку, содержащую ХОТЯ БЫ 2 ключевых слова из списка одновременно.
// Это исключает ложные срабатывания на метаданных (строки 0-14).
&НаКлиенте
Функция НайтиСтрокуЗаголовков(ЛистРасчет)
// Ключевые слова заголовков (в нижнем регистре)
КлючевыеСлова = Новый Массив;
КлючевыеСлова.Добавить("сотрудник");
КлючевыеСлова.Добавить("должность");
КлючевыеСлова.Добавить("счет");
КлючевыеСлова.Добавить("вид занятости");
// Ищем строку с минимум 2 совпадениями ключевых слов
Для Ном = 1 По Мин(30, ЛистРасчет.Rows.Count) Цикл
КоличествоСовпадений = 0;
Для Каждого КлючевоеСлово Из КлючевыеСлова Цикл
Для Колонка = 1 По Мин(10, ЛистРасчет.Columns.Count) Цикл
Значение = ЛистРасчет.Cells(Ном, Колонка).Value;
Если Значение <> Неопределено Тогда
Если СтрНайти(НРег(СокрЛП("" + Значение)), КлючевоеСлово) > 0 Тогда
КоличествоСовпадений = КоличествоСовпадений + 1;
Прервать;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
// Строка заголовков содержит 2+ ключевых слова
Если КоличествоСовпадений >= 2 Тогда
Возврат Ном;
КонецЕсли;
КонецЦикла;
// Fallback: строка 15 (для старых xls)
Возврат 15;
КонецФункции
// Читает данные из листа сотрудника напрямую из ячеек.
// Формулы в РАСЧЕТ ссылаются на: C2(ФИО), C3(Должность), D3(Счет), A5(Вид занятости),
// и OFFSET-формулы для месячных данных (строка 12 + смещение по A4).
&НаКлиенте
Функция ПрочитатьДанныеИзЛистаСотрудника(ЛистСотрудника, ФИО)
Строка = Новый Структура;
Строка.Вставить("ФИО", ФИО);
Строка.Вставить("Должность", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 3, 3)); // C3
Строка.Вставить("СчетБК", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 3, 4)); // D3
Строка.Вставить("ВидЗанятости", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 5, 1)); // A5
// Месяц загрузки определяет смещение для OFFSET-формул
// Базовая строка данных — строка 12, смещение = месяц
БазоваяСтрока = 12;
Смещение = Объект.МесяцЗагрузки;
Если Не ЗначениеЗаполнено(Смещение) Тогда Смещение = 1; КонецЕсли;
СтрокаДанных = БазоваяСтрока + Смещение;
// Часовая норма (столбец C, т.е. колонка 3)
Строка.Вставить("Оклад", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 3, ФИО + " Оклад"));
Строка.Вставить("КоличествоСтавок", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 4, ФИО + " Ставки"));
Строка.Вставить("ОтработаноДней", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 5, ФИО + " Отработано"));
Строка.Вставить("ИтогоНачислено", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 10, ФИО + " Итого начислено"));
Строка.Вставить("НДФЛ", 0); // НДФЛ не на листе сотрудника
Строка.Вставить("ИтогоУдержано", 0); // Удержания не на листе сотрудника
Строка.Вставить("ВсегоНаРуки", 0); // Итого на руки не на листе сотрудника
Возврат Строка;
КонецФункции
// Определяет номер строки первого сотрудника (первая непустая строка после заголовков).
&НаКлиенте
Функция НайтиСтрокуПервогоСотрудника(ЛистРасчет, НомерСтрокиЗаголовков)
Для Ном = НомерСтрокиЗаголовков + 1 По ЛистРасчет.Rows.Count Цикл
Значение = ЛистРасчет.Cells(Ном, 1).Value;
Если ЗначениеЗаполнено(Значение)
И Не СтрНачинаетсяС(ВРег(СокрЛП("" + Значение)), "ИТОГО") Тогда
Возврат Ном;
КонецЕсли;
КонецЦикла;
Возврат -1;
КонецФункции
// Извлекает значение из текста вида "ИНН 990100718541" → "990100718541"
&НаКлиенте
Функция ИзвлечьЗначениеИзТекста(Текст, Префикс)
Если Не ЗначениеЗаполнено(Текст) Тогда Возврат ""; КонецЕсли;
Позиция = СтрНайти(ВРег(Текст), ВРег(Префикс));
Если Позиция = 0 Тогда Возврат СокрЛП(Текст); КонецЕсли;
Возврат СокрЛП(Сред(Текст, Позиция + СтрДлина(Префикс)));
КонецФункции
#КонецОбласти
#Область ЧтениеДанныхСотрудника_Домен
// ============================================================================
// ДОМЕН: Чтение данных сотрудника
// Ответственность: извлечение данных из строки листа "Расчет"
// ============================================================================
// Читает одну строку данных сотрудника из листа "Расчет".
// ИндексЗаголовков — Соответствие для динамического поиска колонок.
&НаКлиенте
Функция ПрочитатьСтрокуРасчета(ЛистРасчет, Ном, ФИО, ИндексЗаголовков)
Строка = Новый Структура;
Строка.Вставить("ФИО", ФИО);
// Поиск колонок по заголовкам
// Маппинг: "Счет БК" в Excel = "Лицевой счет сотрудника в банке для зарплатного проекта" в 1С ЗиКГУ
КолДолжность = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "должность");
КолСчетБК = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "счет");
КолВидЗанятости = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "вид занятости");
КолОклад = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "оклад");
КолСтавки = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "ставок");
КолОтработано = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "отработано");
КолИтогоНачислено = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "итого начислено");
КолНДФЛ = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "ндфл");
КолИтогоУдержано = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "итого удержано");
КолВсегоНаРуки = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "всего на руки");
Строка.Вставить("Должность", ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, КолДолжность));
Строка.Вставить("СчетБК", ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, КолСчетБК));
Строка.Вставить("ВидЗанятости", ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, КолВидЗанятости));
Строка.Вставить("Оклад", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолОклад, ФИО + " Оклад"));
Строка.Вставить("КоличествоСтавок", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолСтавки, ФИО + " Ставки"));
Строка.Вставить("ОтработаноДней", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолОтработано, ФИО + " Отработано"));
Строка.Вставить("ИтогоНачислено", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолИтогоНачислено, ФИО + " Итого начислено"));
Строка.Вставить("НДФЛ", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолНДФЛ, ФИО + " НДФЛ"));
Строка.Вставить("ИтогоУдержано", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолИтогоУдержано, ФИО + " Итого удержано"));
Строка.Вставить("ВсегоНаРуки", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолВсегоНаРуки, ФИО + " Всего на руки"));
Возврат Строка;
КонецФункции
// Читает страховые взносы из строки листа "Расчет".
&НаКлиенте
Функция ПрочитатьСтрокуВзносов(ЛистРасчет, Ном, ФИО, ИндексЗаголовков)
КолДТ6 = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "дт 6");
КолДТ4 = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "дт 4");
КолПФ = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "пф страховая");
КолФСС = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "фсс");
КолНСПЗ = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "нс и пз");
КолСВИтого = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "св итого");
СВ = ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолСВИтого, ФИО + " СВ итого");
Если СВ <= 0 Тогда Возврат Неопределено; КонецЕсли;
СтрВзносов = Новый Структура;
СтрВзносов.Вставить("ФИО", ФИО);
СтрВзносов.Вставить("ДТ6Процент", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолДТ6, ФИО + " ДТ 6%"));
СтрВзносов.Вставить("ДТ4Процент", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолДТ4, ФИО + " ДТ 4%"));
СтрВзносов.Вставить("ПФСтраховая", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолПФ, ФИО + " ПФ"));
СтрВзносов.Вставить("ФССФОМС", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолФСС, ФИО + " ФСС/ФОМС"));
СтрВзносов.Вставить("НСПЗ", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолНСПЗ, ФИО + " НС и ПЗ"));
СтрВзносов.Вставить("Итого", СВ);
Возврат СтрВзносов;
КонецФункции
// Читает личные данные из листа сотрудника (шапка строк 0-3).
&НаКлиенте
Функция ПрочитатьЛичныеДанные(Книга, ФИО)
ЛичныеДанные = Новый Структура("ИНН, СНИЛС, Паспорт, Адрес", "", "", "", "");
ЛистСотрудника = НайтиЛист(Книга, ФИО);
Если ЛистСотрудника = Неопределено Тогда
Возврат ЛичныеДанные;
КонецЕсли;
ЛичныеДанные.ИНН = ИзвлечьЗначениеИзТекста(
ПрочитатьЯчейкуСтрока(ЛистСотрудника, 0, 10), "ИНН");
ЛичныеДанные.СНИЛС = ИзвлечьЗначениеИзТекста(
ПрочитатьЯчейкуСтрока(ЛистСотрудника, 1, 10), "СНИЛС");
ЛичныеДанные.Паспорт = ИзвлечьЗначениеИзТекста(
ПрочитатьЯчейкуСтрока(ЛистСотрудника, 2, 10), "Паспорт");
ЛичныеДанные.Адрес = ПрочитатьЯчейкуСтрока(ЛистСотрудника, 3, 10);
Возврат ЛичныеДанные;
КонецФункции
#КонецОбласти
#Область ОсновнаяПроцедура_Домен
// ============================================================================
// ДОМЕН: Оркестрация загрузки
// Ответственность: координация всех этапов загрузки
// ============================================================================
&НаКлиенте
Процедура ПрочитатьExcelНаКлиенте()
// Этап 1: Подготовка файла
СтатусЗагрузки = "Копирование файла...";
Состояние("Копирование файла...", 5);
ВременныйФайл = КаталогВременныхФайлов() + "temp_data.xls";
КопироватьФайл(Объект.ПутьКФайлу, ВременныйФайл);
// Этап 2: Открытие Excel
СтатусЗагрузки = "Открытие Excel...";
Состояние("Открытие Excel...", 10);
КонтекстExcel = ОткрытьФайлExcel(ВременныйФайл);
Если КонтекстExcel = Неопределено Тогда
УдалитьФайлы(ВременныйФайл);
Возврат;
КонецЕсли;
// Этап 3: Поиск листа "Расчет"
СтатусЗагрузки = "Поиск листа 'Расчет'...";
Состояние("Поиск листа 'Расчет'...", 15);
ЛистРасчет = НайтиЛист(КонтекстExcel.Книга, "Расчет");
Если ЛистРасчет = Неопределено Тогда
Сообщить("Лист 'Расчет' не найден!");
ЗакрытьExcel(КонтекстExcel, ВременныйФайл);
СтатусЗагрузки = "Ошибка: лист не найден";
Состояние("Ошибка: лист 'Расчет' не найден", 0);
Возврат;
КонецЕсли;
// Этап 4: Определение месяца
СтатусЗагрузки = "Определение месяца...";
Состояние("Определение месяца...", 20);
МесяцЗначение = ЛистРасчет.Cells(4, 1).Value;
Если ЗначениеЗаполнено(МесяцЗначение) Тогда
Попытка
Объект.МесяцЗагрузки = Число(МесяцЗначение);
Исключение
Сообщить("Не удалось определить месяц: " + МесяцЗначение);
КонецПопытки;
КонецЕсли;
// Этап 5: Построение индекса заголовков
СтатусЗагрузки = "Анализ заголовков...";
Состояние("Анализ заголовков...", 22);
НомерСтрокиЗаголовков = НайтиСтрокуЗаголовков(ЛистРасчет);
ИндексЗаголовков = СоздатьИндексЗаголовков(ЛистРасчет, НомерСтрокиЗаголовков);
// Этап 6: Определение строки первого сотрудника
СтатусЗагрузки = "Поиск данных...";
Состояние("Поиск данных...", 25);
Ном = НайтиСтрокуПервогоСотрудника(ЛистРасчет, НомерСтрокиЗаголовков);
Если Ном = -1 Тогда
Сообщить("Данные сотрудников не найдены!");
ЗакрытьExcel(КонтекстExcel, ВременныйФайл);
Возврат;
КонецЕсли;
// Этап 7: Чтение данных
МассивДанных = Новый Массив;
МассивВзносов = Новый Массив;
ПустыхПодряд = 0;
МаксПустых = 5;
КоличествоСтрок = ЛистРасчет.Rows.Count;
Пока Истина Цикл
// Попытка 1: читаем значение напрямую (xls)
ФИО = ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, 1);
// Попытка 2: если значение пустое — проверяем формулу (xlsm)
ЛистСотрудника = Неопределено;
Если Не ЗначениеЗаполнено(ФИО) Тогда
Формула = ЛистРасчет.Cells(Ном, 1).Formula;
Если ЗначениеЗаполнено(Формула) Тогда
ИмяЛиста = ИзвлечьИмяЛистаИзФормулы(Формула);
Если ЗначениеЗаполнено(ИмяЛиста) Тогда
ЛистСотрудника = НайтиЛист(КонтекстExcel.Книга, ИмяЛиста);
Если ЛистСотрудника <> Неопределено Тогда
ФИО = ПрочитатьЯчейкуСтрока(ЛистСотрудника, 2, 3);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(ФИО) Тогда
ПустыхПодряд = ПустыхПодряд + 1;
Если ПустыхПодряд >= МаксПустых Тогда Прервать; КонецЕсли;
Ном = Ном + 1;
Продолжить;
КонецЕсли;
ПустыхПодряд = 0;
Если СтрНачинаетсяС(ВРег(ФИО), "ИТОГО") Тогда Прервать; КонецЕсли;
ПрогрессЗаписи = 25 + 65 * (Ном - 1) / Макс(КоличествоСтрок, 1);
Состояние("Расчет ЗП: " + ФИО, ПрогрессЗаписи);
// Если есть лист сотрудника — читаем напрямую из его ячеек
Если ЛистСотрудника <> Неопределено Тогда
Строка = ПрочитатьДанныеИзЛистаСотрудника(ЛистСотрудника, ФИО);
Иначе
Строка = ПрочитатьСтрокуРасчета(ЛистРасчет, Ном, ФИО, ИндексЗаголовков);
КонецЕсли;
// Чтение личных данных
ЛичныеДанные = ПрочитатьЛичныеДанные(КонтекстExcel.Книга, ФИО);
Для Каждого КлючЗначение Из ЛичныеДанные Цикл
Строка.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение);
КонецЦикла;
МассивДанных.Добавить(Строка);
// Чтение страховых взносов (из РАСЧЕТ, т.к. на листах сотрудников взносов нет)
СтрВзносов = ПрочитатьСтрокуВзносов(ЛистРасчет, Ном, ФИО, ИндексЗаголовков);
Если СтрВзносов <> Неопределено Тогда
МассивВзносов.Добавить(СтрВзносов);
КонецЕсли;
Ном = Ном + 1;
КонецЦикла;
// Этап 8: Закрытие Excel
СтатусЗагрузки = "Закрытие Excel...";
Состояние("Закрытие Excel...", 95);
ЗакрытьExcel(КонтекстExcel, ВременныйФайл);
// Этап 9: Передача на сервер
СтатусЗагрузки = "Передача данных на сервер...";
Состояние("Передача данных на сервер...", 98);
ЗаполнитьТаблицыНаСервере(МассивДанных, МассивВзносов);
// Этап 10: Обновление формы
Прогресс = 100;
СтатусЗагрузки = "Готово! Загружено: " + МассивДанных.Количество() + " сотрудников";
Состояние("Готово! Загружено: " + МассивДанных.Количество() + " сотрудников", 100);
Сообщить(СтатусЗагрузки);
// Обновление формы
ОбновитьОтображениеДанных();
КонецПроцедуры
#КонецОбласти
#Область СерверныеПроцедуры
// ============================================================================
// ДОМЕН: Серверная обработка данных
// Ответственность: заполнение таблиц значений, запись в 1С
// ============================================================================
// Главная функция: читает Excel файл из временного хранилища на сервере
&НаСервере
Процедура ИнициализироватьТаблицы()
КонецПроцедуры
// Заполняет табличные части объекта из массивов структур.
// TabularSection не поддерживает РеквизитФормыВЗначение — работаем через Объект напрямую.
&НаСервере
Процедура ЗаполнитьТаблицыНаСервере(МассивДанных, МассивВзносов)
// Очистка и заполнение ДанныеРасчетаЗП
Объект.ДанныеРасчетаЗП.Очистить();
Для Каждого Эл Из МассивДанных Цикл
Строка = Объект.ДанныеРасчетаЗП.Добавить();
ЗаполнитьЗначенияСвойств(Строка, Эл);
КонецЦикла;
// Очистка и заполнение ДанныеСтраховыхВзносов
Объект.ДанныеСтраховыхВзносов.Очистить();
Для Каждого Эл Из МассивВзносов Цикл
Строка = Объект.ДанныеСтраховыхВзносов.Добавить();
ЗаполнитьЗначенияСвойств(Строка, Эл);
КонецЦикла;
КонецПроцедуры
// Записывает данные в документы 1С.
// Работает напрямую с TabularSection через Объект.
&НаСервере
Процедура ЗаписатьДанныеНаСервере()
ГодЗагрузки = ТекущаяДата().Год();
Период = Дата(ГодЗагрузки, Объект.МесяцЗагрузки, 1);
Объект.ЗаписатьДанныеРасчета(Объект.ДанныеРасчетаЗП, Период);
Если Объект.ДанныеСтраховыхВзносов.Количество() > 0 Тогда
Объект.ЗаписатьДанныеСтраховыхВзносов(Объект.ДанныеСтраховыхВзносов, Период);
Функция ПрочитатьФайлНаСервере(АдресФайла) Экспорт
ДД = ПолучитьИзВременногоХранилища(АдресФайла);
Если ДД = Неопределено Тогда
Сообщить("Файл не получен!");
Возврат Неопределено;
КонецЕсли;
// Сохраняем во временный файл на сервере
ВремКаталог = КаталогВременныхФайлов();
ПутьВрем = ВремКаталог + "temp_load.xlsx";
ДД.Записать(ПутьВрем);
// Читаем в ТабличныйДокумент
ТаблДок = Новый ТабличныйДокумент;
ТаблДок.Прочитать(ПутьВрем);
УдалитьФайлы(ПутьВрем);
// Строим карту: ИмяОбласти -> Верх (абсолютная строка)
КартаОбластей = Новый Соответствие;
Для Каждого Область Из ТаблДок.Области Цикл
КартаОбластей.Вставить(Область.Имя, Область.Верх);
КонецЦикла;
// Находим лист "Расчет"
ВерхРасчет = КартаОбластей.Получить("Расчет");
Если ВерхРасчет = Неопределено Тогда
Сообщить("Лист 'Расчет' не найден!");
Возврат Неопределено;
КонецЕсли;
// Читаем шапку листа "Расчет"
ГодЗагрузки = "" + ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, 4, 1);
МесяцЗагрузки = Число(ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, 4, 1));
Организация = СокрЛП(ПрочитатьСтрокуИзТД(ТаблДок, ВерхРасчет, 4, 20));
СтатьяФинансирования = СокрЛП(ПрочитатьСтрокуИзТД(ТаблДок, ВерхРасчет, 8, 20));
// === ЭТАП 1: Обход листов сотрудников ===
КэшФИО = Новый Соответствие;
МассивСотрудников = Новый Массив;
МассивНДФЛ = Новый Массив;
Счетчик = 0;
Для Каждого Область Из ТаблДок.Области Цикл
Если Область.Верх = ВерхРасчет Тогда Продолжить; КонецЕсли;
Вх = Область.Верх;
ФИО = ПрочитатьСтрокуИзТД(ТаблДок, Вх, 2, 3);
Если Не ЗначениеЗаполнено(ФИО) Тогда Продолжить; КонецЕсли;
Если СтрНачинаетсяС(ВРег(ФИО), "ИТОГО") Тогда Продолжить; КонецЕсли;
Счетчик = Счетчик + 1;
// Карточка сотрудника
Карточка = Новый Структура;
Карточка.Вставить("ФИО", ФИО);
Карточка.Вставить("ИНН", "");
Карточка.Вставить("СНИЛС", "");
Карточка.Вставить("ЛицевойСчетВБанке", ПрочитатьСтрокуИзТД(ТаблДок, Вх, 3, 4));
Карточка.Вставить("ВидЗанятости", ПрочитатьСтрокуИзТД(ТаблДок, Вх, 5, 1));
Карточка.Вставить("АдресРегистрации", "");
Карточка.Вставить("Идентификатор", Счетчик);
МассивСотрудников.Добавить(Карточка);
// НДФЛ
СтрокаМесяца = 35 + МесяцЗагрузки;
Если СтрокаМесяца <= 47 Тогда
ДанныеНДФЛ = Новый Структура;
ДанныеНДФЛ.Вставить("ФИО", ФИО);
ДанныеНДФЛ.Вставить("ИдентификаторСотрудника", Счетчик);
ДанныеНДФЛ.Вставить("МесяцРасчета", ПрочитатьСтрокуИзТД(ТаблДок, Вх, СтрокаМесяца, 1));
ДанныеНДФЛ.Вставить("СуммаВаловогоДохода", ПрочитатьЧислоИзТД(ТаблДок, Вх, СтрокаМесяца, 4));
ДанныеНДФЛ.Вставить("СкидкаДляНДФЛЗаМесяц", ПрочитатьЧислоИзТД(ТаблДок, Вх, СтрокаМесяца, 8));
ДанныеНДФЛ.Вставить("ВычетНаРаботникаЗаМесяц", ПрочитатьЧислоИзТД(ТаблДок, Вх, СтрокаМесяца, 12));
ДанныеНДФЛ.Вставить("ВычетНаИждивенцевЗаМесяц", ПрочитатьЧислоИзТД(ТаблДок, Вх, СтрокаМесяца, 13));
ДанныеНДФЛ.Вставить("ИтогоНДФЛЗаМесяц", ПрочитатьЧислоИзТД(ТаблДок, Вх, СтрокаМесяца, 18));
ДанныеНДФЛ.Вставить("НалоговаяБазаПоСВЗаМесяц", ПрочитатьЧислоИзТД(ТаблДок, Вх, СтрокаМесяца, 23));
ДанныеНДФЛ.Вставить("ИтогоФСС", ПрочитатьЧислоИзТД(ТаблДок, Вх, СтрокаМесяца, 37));
МассивНДФЛ.Добавить(ДанныеНДФЛ);
КонецЕсли;
КэшФИО.Вставить(ФИО, Счетчик);
КонецЦикла;
// === ЭТАП 2: Чтение листа "Расчет" ===
МассивДанных = Новый Массив;
МассивВзносов = Новый Массив;
НачальнаяСтрока = 0;
Для Ном = 17 По 30 Цикл
ФТ = ПрочитатьСтрокуИзТД(ТаблДок, ВерхРасчет, Ном, 1);
Если Не ЗначениеЗаполнено(ФТ) Тогда Продолжить; КонецЕсли;
Если Не СтрНачинаетсяС(ВРег(ФТ), "ИТОГО") И Не СтрНачинаетсяС(ВРег(ФТ), "СОТРУДНИК") И Не СтрНачинаетсяС(ВРег(ФТ), "ФАМИЛИЯ") И СтрДлина(ФТ) > 3 Тогда
НачальнаяСтрока = Ном; Прервать;
КонецЕсли;
КонецЦикла;
Если НачальнаяСтрока = 0 Тогда
Сообщить("Данные не найдены!");
Возврат Неопределено;
КонецЕсли;
Счетчик = 0;
Для Ном = НачальнаяСтрока По 500 Цикл
ФИОТекст = ПрочитатьСтрокуИзТД(ТаблДок, ВерхРасчет, Ном, 1);
Если Не ЗначениеЗаполнено(ФИОТекст) Тогда Продолжить; КонецЕсли;
Если СтрНачинаетсяС(ВРег(ФИОТекст), "ИТОГО") Тогда Прервать; КонецЕсли;
ИдСотр = КэшФИО.Получить(ФИОТекст);
Если ИдСотр = Неопределено Тогда Продолжить; КонецЕсли;
Счетчик = Счетчик + 1;
С = Новый Структура;
С.Вставить("ФИО", ФИОТекст);
С.Вставить("ИдентификаторСотрудника", ИдСотр);
С.Вставить("Должность", ПрочитатьСтрокуИзТД(ТаблДок, ВерхРасчет, Ном, 2));
С.Вставить("СчетБК", ПрочитатьСтрокуИзТД(ТаблДок, ВерхРасчет, Ном, 3));
С.Вставить("ВидЗанятости", ПрочитатьСтрокуИзТД(ТаблДок, ВерхРасчет, Ном, 4));
С.Вставить("КоличествоСтавок", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 7));
С.Вставить("Оклад", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 8));
С.Вставить("ОтработаноДней", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 6));
С.Вставить("РабочиеЧасыПоТабелю", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 12));
С.Вставить("ДоплатаСовместительство", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 14));
С.Вставить("ДоплатаИнтенсивность", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 16));
С.Вставить("ДоплатаНочные", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 18));
С.Вставить("ДоплатаПраздничные", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 19));
С.Вставить("НадбавкаЗаКатегорию", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 21));
С.Вставить("НадбавкаЗаВредность", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 22));
С.Вставить("ПовышающийКоэффициент", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 23));
С.Вставить("СтимулирующиеВыплаты", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 24));
С.Вставить("РайонныйКоэффициент", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 26));
С.Вставить("ПремияРазовая", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 28));
С.Вставить("Отпуск", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 32));
С.Вставить("КомпенсацияЗаОтпуск", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 33));
С.Вставить("ВыходноеПособие", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 35));
С.Вставить("ДоплатаДоМРОТ", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 37));
С.Вставить("Родовые", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 38));
С.Вставить("ИтогоНачислено", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 39));
С.Вставить("НДФЛ", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 40));
С.Вставить("ПрофВзнос", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 41));
С.Вставить("ИсполнительныеДокументы", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 42));
С.Вставить("Аванс", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 43));
С.Вставить("Касса1", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 46));
С.Вставить("Касса2", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 47));
С.Вставить("Касса3", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 48));
С.Вставить("БезналичныеПеречисления", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 50));
С.Вставить("ВсегоНаРуки", ПрочитатьЧислоИзТД(ТаблДок, ВерхРасчет, Ном, 55));
С.Вставить("ЗарплатаЗаПервуюПоловину", 0);
С.Вставить("ПремияАванс", 0);
С.Вставить("ВыплатыВМежрасчетный", 0);
С.Вставить("ОтработаноДнейКалендарных", 0);
С.Вставить("ИтогоУдержано", С.НДФЛ + С.ПрофВзнос + С.ИсполнительныеДокументы);
С.Вставить("ИтогоВыплачено", С.Аванс + С.Касса1 + С.Касса2 + С.Касса3 + С.БезналичныеПеречисления);
МассивДанных.Добавить(С);
КонецЦикла;
// Возвращаем результат
Результат = Новый Структура;
Результат.Вставить("ГодЗагрузки", ГодЗагрузки);
Результат.Вставить("МесяцЗагрузки", МесяцЗагрузки);
Результат.Вставить("Организация", Организация);
Результат.Вставить("СтатьяФинансирования", СтатьяФинансирования);
Результат.Вставить("Данные", МассивДанных);
Результат.Вставить("Взносы", МассивВзносов);
Результат.Вставить("НДФЛ", МассивНДФЛ);
Результат.Вставить("Сотрудники", МассивСотрудников);
Возврат Результат;
КонецФункции
&НаСервере
Функция ПрочитатьЧислоИзТД(ТаблДок, ВерхОбласти, Строка, Колонка)
Попытка
АбсСтрока = ВерхОбласти + Строка - 1;
Значение = ТаблДок.Область(АбсСтрока, Колонка, АбсСтрока, Колонка).Текст;
Если Не ЗначениеЗаполнено(Значение) Тогда Возврат 0; КонецЕсли;
Возврат Число(СокрЛП(Значение));
Исключение
Возврат 0;
КонецПопытки;
КонецФункции
&НаСервере
Функция ПрочитатьСтрокуИзТД(ТаблДок, ВерхОбласти, Строка, Колонка)
Попытка
АбсСтрока = ВерхОбласти + Строка - 1;
Возврат СокрЛП("" + ТаблДок.Область(АбсСтрока, Колонка, АбсСтрока, Колонка).Текст);
Исключение
Возврат "";
КонецПопытки;
КонецФункции
&НаСервере
Процедура ЗаполнитьТаблицыНаСервере(МассивДанных, МассивВзносов, МассивНДФЛ, МассивСотрудников)
Объект.ДанныеРасчетаЗП.Очистить();
Объект.ДанныеСтраховыхВзносов.Очистить();
Объект.ДанныеНДФЛ.Очистить();
Объект.Сотрудники.Очистить();
Для Каждого Строка Из МассивДанных Цикл НоваяСтрока = Объект.ДанныеРасчетаЗП.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка); КонецЦикла;
Для Каждого Строка Из МассивВзносов Цикл НоваяСтрока = Объект.ДанныеСтраховыхВзносов.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка); КонецЦикла;
Для Каждого Строка Из МассивНДФЛ Цикл НоваяСтрока = Объект.ДанныеНДФЛ.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка); КонецЦикла;
Для Каждого Строка Из МассивСотрудников Цикл НоваяСтрока = Объект.Сотрудники.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка); КонецЦикла;
КонецПроцедуры
#КонецОбласти