v3.0.0.18: full rebuild - all calc fields, fix NDFL, employees tab

This commit is contained in:
Профи-Софт
2026-07-09 07:28:52 +00:00
parent 09548865fc
commit 75be8ab2b7
5 changed files with 2696 additions and 695 deletions
+78 -25
View File
@@ -3,65 +3,118 @@
<ConfigVersions> <ConfigVersions>
<Metadata name="CommonPicture.Логотип" id="aa112233-4455-6677-8899-aabbccddeeff" configVersion="6f24d102553d8a92f749591fe9b03d4c92743c48"/> <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="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="b24c0e73ffce270596ab6de7e1366c8481757a97"/>
<Metadata name="Configuration.ЗагрузкаДанныхИзExcel.Logo" id="b1c2d3e4-f5a6-7890-abcd-ef1234567890.1" configVersion="109ee3c69dbf183be1b179891821b3a3aa92c610"/> <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="171d829249f1ca31ae202e93944daf0b15ef04d3">
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.СуммаВаловогоДоходаСНачалаГода" id="018266a1-4a61-4579-8f3f-db8e7968f829"/> <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="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="0bc767bb-d1eb-454d-82a0-92232b738ec9"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.Attribute.ПутьКФайлу" id="11111111-1111-1111-1111-111111111111"/> <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="1a5f4127-13af-4aed-ab7e-970cbc2686ad"/> <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="1c8e3f54-20eb-4051-befa-f18e586af498"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.ОблагаемыйДоходЗаГод" id="1de44479-7da3-41e2-ac53-d35a064863a2"/> <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.TabularSection.ДанныеНДФЛ.Attribute.ИтогоФСС" id="21928e13-e66f-4a44-9288-bfa9e0e505f8"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.Attribute.МесяцЗагрузки" id="22222222-2222-2222-2222-222222222222"/> <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="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.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.ДанныеНДФЛ.Attribute.ФИО" id="33180586-8e17-4eaa-9c04-cae6f120d23f"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП" id="33333333-3333-3333-3333-333333333333"/> <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="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="37aa20ad-2531-41d4-899b-340a006f3187"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.СкидкаДляНДФЛЗаМесяц" id="386c7a70-92ff-4ed9-ae3d-4c0509733a85"/> <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="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.ИНН" 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.ДанныеСтраховыхВзносов" 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="511523fd-3327-4379-9e0c-d59669ca9ccc"/>
<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="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.СкидкаДляНДФЛЗаГод" 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="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.TabularSection.ДанныеНДФЛ" id="8730b401-1ffa-4a2d-b8e0-baebadf78a3c"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеНДФЛ.Attribute.ВсегоВычетовЗаМесяц" id="8945f1f2-78a2-4f13-b4e7-a8b8a0724251"/> <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.Сотрудники" 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="90a11a6a-e634-43bb-993d-85eff7d4e4b1"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ФИО" id="aa111111-1111-1111-1111-111111111111"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ПоУходуЗаРебенкомИнвалидом" id="90b322c1-29ab-4d7f-8285-c978a7d65f9e"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Должность" id="aa222222-2222-2222-2222-222222222222"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ВыплатыПоУказу597" id="94665516-fb3a-408f-a19e-07702be752d3"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.СчетБК" id="aa333333-3333-3333-3333-333333333333"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ДТ4Процент" id="98f60a1c-f7e9-434a-b020-d60f3dacd737"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ВидЗанятости" id="aa444444-4444-4444-4444-444444444444"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ИдентификаторСотрудника" id="991afed3-d7df-4a95-b1aa-665377f86fd7"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Оклад" id="aa555555-5555-5555-5555-555555555555"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.Оклад" id="a0c2d3bd-6d9c-4a38-8903-44b3db223edb"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.КоличествоСтавок" id="aa666666-6666-6666-6666-666666666666"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ПремияУдержание" id="a10ac824-3b83-4478-be28-4da991405f9d"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ОтработаноДней" id="aa777777-7777-7777-7777-777777777777"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.ФССФОМС" id="a1e60d86-89ef-4708-aef6-3b53ae819ad7"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ИтогоНачислено" id="aa888888-8888-8888-8888-888888888888"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.КоличествоСтавок" id="a209a03e-c6e6-4dfb-b84d-2e22ea9bdc47"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.НДФЛ" id="aa999999-9999-9999-9999-999999999999"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.БольничныйЛистЗаСчетПредприятия" id="aade0d1d-b0ac-43ef-be39-91acb49b02a7"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.ИтогоУдержано" id="ab111111-1111-1111-1111-111111111111"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеРасчетаЗП.Attribute.НадбавкаЗаКатегорию" id="b00d744f-fdde-4122-8d67-c780485c1243"/>
<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="b0d5a24f-4598-4567-8b11-f923d624fd06"/> <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="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="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.TabularSection.ДанныеНДФЛ.Attribute.МесяцРасчета" id="d8a5615f-5b47-4b14-a301-3a1d47c11ba9"/>
<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.ВычетНаИждивенцевЗаМесяц" 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="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="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="fb3dd707-e1d6-4dd0-adb0-365953cc7b33"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.TabularSection.ДанныеСтраховыхВзносов.Attribute.НалоговаяБазаСВЗаГод" id="fe83daa5-24f0-403e-a493-d206d6c83ed7"/>
</Metadata> </Metadata>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.Form.Форма" id="e1f2d3c4-b5a6-7890-abcd-ef123456789d" configVersion="b21ce57e599484cf63928d9d55447cdf249a9495"/> <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.Form.Форма.Form" id="e1f2d3c4-b5a6-7890-abcd-ef123456789d.0" configVersion="2a4728288c94bb3d05a42a8115241ea5221933a6"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.ObjectModule" id="f1e2d3c4-b5a6-7890-abcd-ef1234567890.0" configVersion="f754052b5cb542fceba77063397dd85e0cbe1d88"/> <Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.ManagerModule" id="f1e2d3c4-b5a6-7890-abcd-ef1234567890.2" configVersion="c8140e43013608e07f4494ce2c9a99ea84bab853"/>
<Metadata name="DataProcessor.ЗагрузкаДанныхИзExcel.ObjectModule" id="f1e2d3c4-b5a6-7890-abcd-ef1234567890.0" configVersion="bc38771ea40c113bf59a4bea1f569109af8bafb7"/>
<Metadata name="Language.Русский" id="fa05057b-734b-49ef-8c58-5cc468580f33" configVersion="d445a81521243ad274dc3237022bcfeb0b640f59"/> <Metadata name="Language.Русский" id="fa05057b-734b-49ef-8c58-5cc468580f33" configVersion="d445a81521243ad274dc3237022bcfeb0b640f59"/>
<Metadata name="Subsystem.Зарплата" id="55555555-5555-5555-5555-555555555555" configVersion="55c502e5fb642df4c059ed63fea339204c4a2334"/> <Metadata name="Subsystem.Зарплата" id="55555555-5555-5555-5555-555555555555" configVersion="55c502e5fb642df4c059ed63fea339204c4a2334"/>
</ConfigVersions> </ConfigVersions>
+96 -96
View File
@@ -1,97 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.21"> <MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.21">
<Configuration uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890"> <Configuration uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890">
<InternalInfo> <InternalInfo>
<xr:ContainedObject> <xr:ContainedObject>
<xr:ClassId>9cd510cd-abfc-11d4-9434-004095e12fc7</xr:ClassId> <xr:ClassId>9cd510cd-abfc-11d4-9434-004095e12fc7</xr:ClassId>
<xr:ObjectId>b1c2d3e4-f5a6-7890-abcd-ef1234567890</xr:ObjectId> <xr:ObjectId>b1c2d3e4-f5a6-7890-abcd-ef1234567890</xr:ObjectId>
</xr:ContainedObject> </xr:ContainedObject>
<xr:ContainedObject> <xr:ContainedObject>
<xr:ClassId>9fcd25a0-4822-11d4-9414-008048da11f9</xr:ClassId> <xr:ClassId>9fcd25a0-4822-11d4-9414-008048da11f9</xr:ClassId>
<xr:ObjectId>c2d3e4f5-a6b7-8901-bcde-f12345678901</xr:ObjectId> <xr:ObjectId>c2d3e4f5-a6b7-8901-bcde-f12345678901</xr:ObjectId>
</xr:ContainedObject> </xr:ContainedObject>
<xr:ContainedObject> <xr:ContainedObject>
<xr:ClassId>e3687481-0a87-462c-a166-9f34594f9bba</xr:ClassId> <xr:ClassId>e3687481-0a87-462c-a166-9f34594f9bba</xr:ClassId>
<xr:ObjectId>d3e4f5a6-b7c8-9012-cdef-123456789012</xr:ObjectId> <xr:ObjectId>d3e4f5a6-b7c8-9012-cdef-123456789012</xr:ObjectId>
</xr:ContainedObject> </xr:ContainedObject>
<xr:ContainedObject> <xr:ContainedObject>
<xr:ClassId>9de14907-ec23-4a07-96f0-85521cb6b53b</xr:ClassId> <xr:ClassId>9de14907-ec23-4a07-96f0-85521cb6b53b</xr:ClassId>
<xr:ObjectId>e4f5a6b7-c8d9-0123-defa-234567890123</xr:ObjectId> <xr:ObjectId>e4f5a6b7-c8d9-0123-defa-234567890123</xr:ObjectId>
</xr:ContainedObject> </xr:ContainedObject>
<xr:ContainedObject> <xr:ContainedObject>
<xr:ClassId>51f2d5d8-ea4d-4064-8892-82951750031e</xr:ClassId> <xr:ClassId>51f2d5d8-ea4d-4064-8892-82951750031e</xr:ClassId>
<xr:ObjectId>f5a6b7c8-d9e0-1234-efab-345678901234</xr:ObjectId> <xr:ObjectId>f5a6b7c8-d9e0-1234-efab-345678901234</xr:ObjectId>
</xr:ContainedObject> </xr:ContainedObject>
<xr:ContainedObject> <xr:ContainedObject>
<xr:ClassId>e68182ea-4237-4383-967f-90c1e3370bc7</xr:ClassId> <xr:ClassId>e68182ea-4237-4383-967f-90c1e3370bc7</xr:ClassId>
<xr:ObjectId>a6b7c8d9-e0f1-2345-fabc-456789012345</xr:ObjectId> <xr:ObjectId>a6b7c8d9-e0f1-2345-fabc-456789012345</xr:ObjectId>
</xr:ContainedObject> </xr:ContainedObject>
<xr:ContainedObject> <xr:ContainedObject>
<xr:ClassId>fb282519-d103-4dd3-bc12-cb271d631dfc</xr:ClassId> <xr:ClassId>fb282519-d103-4dd3-bc12-cb271d631dfc</xr:ClassId>
<xr:ObjectId>b7c8d9e0-f1a2-3456-abcd-567890123456</xr:ObjectId> <xr:ObjectId>b7c8d9e0-f1a2-3456-abcd-567890123456</xr:ObjectId>
</xr:ContainedObject> </xr:ContainedObject>
<xr:PropertyState> <xr:PropertyState>
<xr:Property>Logo</xr:Property> <xr:Property>Logo</xr:Property>
<xr:State>Extended</xr:State> <xr:State>Extended</xr:State>
</xr:PropertyState> </xr:PropertyState>
</InternalInfo> </InternalInfo>
<Properties> <Properties>
<ObjectBelonging>Adopted</ObjectBelonging> <ObjectBelonging>Adopted</ObjectBelonging>
<Name>ЗагрузкаДанныхИзExcel</Name> <Name>ЗагрузкаДанныхИзExcel</Name>
<Synonym> <Synonym>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Загрузка данных из Excel</v8:content> <v8:content>Загрузка данных из Excel</v8:content>
</v8:item> </v8:item>
</Synonym> </Synonym>
<Comment>Расширение для загрузки данных о заработной плате из Excel</Comment> <Comment>Расширение для загрузки данных о заработной плате из Excel</Comment>
<ConfigurationExtensionPurpose>AddOn</ConfigurationExtensionPurpose> <ConfigurationExtensionPurpose>AddOn</ConfigurationExtensionPurpose>
<KeepMappingToExtendedConfigurationObjectsByIDs>true</KeepMappingToExtendedConfigurationObjectsByIDs> <KeepMappingToExtendedConfigurationObjectsByIDs>true</KeepMappingToExtendedConfigurationObjectsByIDs>
<NamePrefix>ЗДЭ_</NamePrefix> <NamePrefix>ЗДЭ_</NamePrefix>
<ConfigurationExtensionCompatibilityMode>Version8_3_24</ConfigurationExtensionCompatibilityMode> <ConfigurationExtensionCompatibilityMode>Version8_3_24</ConfigurationExtensionCompatibilityMode>
<DefaultRunMode>ManagedApplication</DefaultRunMode> <DefaultRunMode>ManagedApplication</DefaultRunMode>
<UsePurposes> <UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value> <v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
</UsePurposes> </UsePurposes>
<ScriptVariant>Russian</ScriptVariant> <ScriptVariant>Russian</ScriptVariant>
<DefaultRoles/> <DefaultRoles/>
<Vendor>ООО "Профи-Софт", код партнера 42575-13, г.Байконур.</Vendor> <Vendor>ООО "Профи-Софт", код партнера 42575-13, г.Байконур.</Vendor>
<Version>3.0.0.17</Version> <Version>3.0.0.18</Version>
<Caption/> <Caption/>
<ShortCaption/> <ShortCaption/>
<DefaultLanguage>Language.Русский</DefaultLanguage> <DefaultLanguage>Language.Русский</DefaultLanguage>
<BriefInformation> <BriefInformation>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Загрузка данных о заработной плате из Excel в 1С ЗГУ</v8:content> <v8:content>Загрузка данных о заработной плате из Excel в 1С ЗГУ</v8:content>
</v8:item> </v8:item>
</BriefInformation> </BriefInformation>
<DetailedInformation> <DetailedInformation>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Обработка для загрузки данных о расчете заработной платы, страховых взносов и НДФЛ из Excel-файлов в конфигурацию "1С:Зарплата и кадры государственного учреждения". Разработка выполнена при участии AI-ассистента MiMo Code.</v8:content> <v8:content>Обработка для загрузки данных о расчете заработной платы, страховых взносов и НДФЛ из Excel-файлов в конфигурацию "1С:Зарплата и кадры государственного учреждения". Разработка выполнена при участии AI-ассистента MiMo Code.</v8:content>
</v8:item> </v8:item>
</DetailedInformation> </DetailedInformation>
<Copyright> <Copyright>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>© ООО "Профи-Софт", 2026</v8:content> <v8:content>© ООО "Профи-Софт", 2026</v8:content>
</v8:item> </v8:item>
</Copyright> </Copyright>
<VendorInformationAddress> <VendorInformationAddress>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>https://profi-soft.ru</v8:content> <v8:content>https://profi-soft.ru</v8:content>
</v8:item> </v8:item>
</VendorInformationAddress> </VendorInformationAddress>
<ConfigurationInformationAddress/> <ConfigurationInformationAddress/>
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode> <InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
</Properties> </Properties>
<ChildObjects> <ChildObjects>
<Language>Русский</Language> <Language>Русский</Language>
<Subsystem>Зарплата</Subsystem> <Subsystem>Зарплата</Subsystem>
<CommonPicture>Логотип</CommonPicture> <CommonPicture>Логотип</CommonPicture>
<DataProcessor>ЗагрузкаДанныхИзExcel</DataProcessor> <DataProcessor>ЗагрузкаДанныхИзExcel</DataProcessor>
</ChildObjects> </ChildObjects>
</Configuration> </Configuration>
</MetaDataObject> </MetaDataObject>
File diff suppressed because it is too large Load Diff
@@ -230,35 +230,11 @@
<ContextMenu name="ДанныеРасчетаЗПВсегоНаРукиКонтекстноеМеню" id="178"/> <ContextMenu name="ДанныеРасчетаЗПВсегоНаРукиКонтекстноеМеню" id="178"/>
<ExtendedTooltip name="ДанныеРасчетаЗПВсегоНаРукиРасширеннаяПодсказка" id="179"/> <ExtendedTooltip name="ДанныеРасчетаЗПВсегоНаРукиРасширеннаяПодсказка" id="179"/>
</InputField> </InputField>
<InputField name="ДанныеРасчетаЗПИНН" id="181">
<DataPath>Объект.ДанныеРасчетаЗП.ИНН</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПИННКонтекстноеМеню" id="182"/>
<ExtendedTooltip name="ДанныеРасчетаЗПИННРасширеннаяПодсказка" id="183"/>
</InputField>
<InputField name="ДанныеРасчетаЗПСНИЛС" id="185">
<DataPath>Объект.ДанныеРасчетаЗП.СНИЛС</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПСНИЛСКонтекстноеМеню" id="186"/>
<ExtendedTooltip name="ДанныеРасчетаЗПСНИЛСРасширеннаяПодсказка" id="187"/>
</InputField>
<InputField name="ДанныеРасчетаЗПАдрес" id="189">
<DataPath>Объект.ДанныеРасчетаЗП.Адрес</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ДанныеРасчетаЗПАдресКонтекстноеМеню" id="190"/>
<ExtendedTooltip name="ДанныеРасчетаЗПАдресРасширеннаяПодсказка" id="191"/>
</InputField>
</ChildItems> </ChildItems>
</Table> </Table>
</ChildItems> </ChildItems>
</Page> </Page>
<Page name="СтраницаДанныеНДФЛ" id="32"> <Page name="СтраницаДанныеНДФЛ" id="32">
<Title> <Title>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
@@ -423,7 +399,6 @@
<ContextMenu name="ТаблицаСтраховыеВзносыУправлениеПоискомКонтекстноеМеню" id="102"/> <ContextMenu name="ТаблицаСтраховыеВзносыУправлениеПоискомКонтекстноеМеню" id="102"/>
<ExtendedTooltip name="ТаблицаСтраховыеВзносыУправлениеПоискомРасширеннаяПодсказка" id="103"/> <ExtendedTooltip name="ТаблицаСтраховыеВзносыУправлениеПоискомРасширеннаяПодсказка" id="103"/>
</SearchControlAddition> </SearchControlAddition>
<ChildItems> <ChildItems>
<LabelField name="ТаблицаСтраховыеВзносыНомерСтроки" id="200"> <LabelField name="ТаблицаСтраховыеВзносыНомерСтроки" id="200">
<DataPath>Объект.ДанныеСтраховыхВзносов.LineNumber</DataPath> <DataPath>Объект.ДанныеСтраховыхВзносов.LineNumber</DataPath>
@@ -480,7 +455,74 @@
<ExtendedTooltip name="ТаблицаСтраховыеВзносыИтогоРасширеннаяПодсказка" id="223"/> <ExtendedTooltip name="ТаблицаСтраховыеВзносыИтогоРасширеннаяПодсказка" id="223"/>
</InputField> </InputField>
</ChildItems> </ChildItems>
</Table> </Table>
</ChildItems>
</Page>
<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="800">
<DataPath>Объект.Сотрудники</DataPath>
<RowFilter xsi:nil="true"/>
<ContextMenu name="ТаблицаСотрудникиКонтекстноеМеню" id="801"/>
<AutoCommandBar name="ТаблицаСотрудникиКоманднаяПанель" id="802"/>
<ExtendedTooltip name="ТаблицаСотрудникиРасширеннаяПодсказка" id="803"/>
<ChildItems>
<LabelField name="ТаблицаСотрудникиНомерСтроки" id="900">
<DataPath>Объект.Сотрудники.LineNumber</DataPath>
<ContextMenu name="ТаблицаСотрудникиНомерСтрокиКонтекстноеМеню" id="901"/>
<ExtendedTooltip name="ТаблицаСотрудникиНомерСтрокиРасширеннаяПодсказка" id="902"/>
</LabelField>
<InputField name="ТаблицаСотрудникиФИО" id="903">
<DataPath>Объект.Сотрудники.ФИО</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаСотрудникиФИОКонтекстноеМеню" id="904"/>
<ExtendedTooltip name="ТаблицаСотрудникиФИОРасширеннаяПодсказка" id="905"/>
</InputField>
<InputField name="ТаблицаСотрудникиИНН" id="906">
<DataPath>Объект.Сотрудники.ИНН</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаСотрудникиИННКонтекстноеМеню" id="907"/>
<ExtendedTooltip name="ТаблицаСотрудникиИННРасширеннаяПодсказка" id="908"/>
</InputField>
<InputField name="ТаблицаСотрудникиСНИЛС" id="909">
<DataPath>Объект.Сотрудники.СНИЛС</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаСотрудникиСНИЛСКонтекстноеМеню" id="910"/>
<ExtendedTooltip name="ТаблицаСотрудникиСНИЛСРасширеннаяПодсказка" id="911"/>
</InputField>
<InputField name="ТаблицаСотрудникиЛицевойСчет" id="912">
<DataPath>Объект.Сотрудники.ЛицевойСчетВБанке</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаСотрудникиЛицевойСчетКонтекстноеМеню" id="913"/>
<ExtendedTooltip name="ТаблицаСотрудникиЛицевойСчетРасширеннаяПодсказка" id="914"/>
</InputField>
<InputField name="ТаблицаСотрудникиВидЗанятости" id="915">
<DataPath>Объект.Сотрудники.ВидЗанятости</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаСотрудникиВидЗанятостиКонтекстноеМеню" id="916"/>
<ExtendedTooltip name="ТаблицаСотрудникиВидЗанятостиРасширеннаяПодсказка" id="917"/>
</InputField>
<InputField name="ТаблицаСотрудникиАдрес" id="918">
<DataPath>Объект.Сотрудники.АдресРегистрации</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoEditMode>true</AutoEditMode>
<ContextMenu name="ТаблицаСотрудникиАдресКонтекстноеМеню" id="919"/>
<ExtendedTooltip name="ТаблицаСотрудникиАдресРасширеннаяПодсказка" id="920"/>
</InputField>
</ChildItems>
</Table>
</ChildItems> </ChildItems>
</Page> </Page>
</ChildItems> </ChildItems>
@@ -2,7 +2,6 @@
&НаСервере &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ИнициализироватьТаблицы();
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -25,11 +24,9 @@
Сообщить("Выберите файл!"); Сообщить("Выберите файл!");
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Состояние("Инициализация загрузки...", 0); Состояние("Инициализация загрузки...", 0);
Прогресс = 0; Прогресс = 0;
СтатусЗагрузки = "Подготовка..."; СтатусЗагрузки = "Подготовка...";
ПрочитатьExcelНаКлиенте(); ПрочитатьExcelНаКлиенте();
КонецПроцедуры КонецПроцедуры
@@ -47,11 +44,6 @@
#Область ЧтениеExcel_Домен #Область ЧтениеExcel_Домен
// ============================================================================
// ДОМЕН: Чтение Excel
// Ответственность: открытие файла, поиск листов, чтение ячеек
// ============================================================================
&НаКлиенте &НаКлиенте
Функция ОткрытьФайлExcel(ПутьКФайлу) Функция ОткрытьФайлExcel(ПутьКФайлу)
Попытка Попытка
@@ -83,14 +75,10 @@
Функция ПрочитатьЯчейкуЧисло(Лист, Строка, Колонка, КонтекстОшибки) Функция ПрочитатьЯчейкуЧисло(Лист, Строка, Колонка, КонтекстОшибки)
Попытка Попытка
Значение = Лист.Cells(Строка, Колонка).Value; Значение = Лист.Cells(Строка, Колонка).Value;
Если Значение = Неопределено ИЛИ Значение = "" Тогда Если Значение = Неопределено ИЛИ Значение = "" Тогда Возврат 0; КонецЕсли;
Возврат 0;
КонецЕсли;
Возврат Число(Значение); Возврат Число(Значение);
Исключение Исключение
Сообщить("Ошибка чтения числа: " + КонтекстОшибки Сообщить("Ошибка чтения числа: " + КонтекстОшибки + " | строка " + Строка + " колонка " + Колонка + " | " + ОписаниеОшибки());
+ " | строка " + Строка + " колонка " + Колонка
+ " | значение: """ + Значение + """ | " + ОписаниеОшибки());
Возврат 0; Возврат 0;
КонецПопытки; КонецПопытки;
КонецФункции КонецФункции
@@ -111,93 +99,23 @@
Если Формула = Неопределено Тогда Возврат ""; КонецЕсли; Если Формула = Неопределено Тогда Возврат ""; КонецЕсли;
ТекстФормулы = СокрЛП("" + Формула); ТекстФормулы = СокрЛП("" + Формула);
Если Не СтрНачинаетсяС(ТекстФормулы, "='") Тогда Возврат ""; КонецЕсли; Если Не СтрНачинаетсяС(ТекстФормулы, "='") Тогда Возврат ""; КонецЕсли;
ПозицияНачала = 3; ПозицияНачала = 3;
ПозицияКонца = СтрНайти(ТекстФормулы, "'!", , , ПозицияНачала); ПозицияКонца = СтрНайти(ТекстФормулы, "'!", , , ПозицияНачала);
Если ПозицияКонца = 0 Тогда Возврат ""; КонецЕсли; Если ПозицияКонца = 0 Тогда Возврат ""; КонецЕсли;
Возврат Сред(ТекстФормулы, ПозицияНачала, ПозицияКонца - ПозицияНачала); Возврат Сред(ТекстФормулы, ПозицияНачала, ПозицияКонца - ПозицияНачала);
КонецФункции КонецФункции
&НаКлиенте &НаКлиенте
Функция НайтиЛист(Книга, ИмяЛиста) Функция НайтиЛист(Книга, ИмяЛиста)
Для Каждого Лист Из Книга.Sheets Цикл Для Каждого Лист Из Книга.Sheets Цикл
Если ВРег(Лист.Name) = ВРег(ИмяЛиста) Тогда Если ВРег(Лист.Name) = ВРег(ИмяЛиста) Тогда Возврат Лист; КонецЕсли;
Возврат Лист;
КонецЕсли;
КонецЦикла; КонецЦикла;
Возврат Неопределено; Возврат Неопределено;
КонецФункции КонецФункции
#КонецОбласти #КонецОбласти
#Область МаппингЗаголовков_Домен #Область ЧтениеДанныхСотрудника_Домен
// ============================================================================
// ДОМЕН: Маппинг заголовков
// Ответственность: сопоставление имён колонок Excel с полями данных
// ============================================================================
&НаКлиенте
Функция СоздатьИндексЗаголовков(Лист, НомерСтрокиЗаголовков)
Индекс = Новый Соответствие;
ПоследняяКолонка = 1;
Для Колонка = 1 По 100 Цикл
Значение = Лист.Cells(НомерСтрокиЗаголовков, Колонка).Value;
Если Значение <> Неопределено И Значение <> "" Тогда
ПоследняяКолонка = Колонка;
КонецЕсли;
КонецЦикла;
Для Колонка = 1 По ПоследняяКолонка Цикл
Имя = СокрЛП(НРег(Лист.Cells(НомерСтрокиЗаголовков, Колонка).Value));
Если ЗначениеЗаполнено(Имя) Тогда
Индекс.Вставить(Имя, Колонка);
КонецЕсли;
КонецЦикла;
Возврат Индекс;
КонецФункции
&НаКлиенте
Функция НайтиКолонкуПоЗаголовку(ИндексЗаголовков, КлючевоеСлово)
Ключ = НРег(КлючевоеСлово);
Для Каждого Эл Из ИндексЗаголовков Цикл
Если СтрНайти(Эл.Ключ, Ключ) > 0 Тогда
Возврат Эл.Значение;
КонецЕсли;
КонецЦикла;
Возврат -1;
КонецФункции
&НаКлиенте
Функция НайтиСтрокуЗаголовков(ЛистРасчет)
КлючевыеСлова = Новый Массив;
КлючевыеСлова.Добавить("сотрудник");
КлючевыеСлова.Добавить("должность");
КлючевыеСлова.Добавить("счет");
КлючевыеСлова.Добавить("вид занятости");
Для Ном = 1 По Мин(30, ЛистРасчет.Rows.Count) Цикл
КоличествоСовпадений = 0;
Для Каждого КлючевоеСлово Из КлючевыеСлова Цикл
Для Колонка = 1 По Мин(10, ЛистРасчет.Columns.Count) Цикл
Значение = ЛистРасчет.Cells(Ном, Колонка).Value;
Если Значение <> Неопределено Тогда
Если СтрНайти(НРег(СокрЛП("" + Значение)), КлючевоеСлово) > 0 Тогда
КоличествоСовпадений = КоличествоСовпадений + 1;
Прервать;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Если КоличествоСовпадений >= 2 Тогда
Возврат Ном;
КонецЕсли;
КонецЦикла;
Возврат 15;
КонецФункции
&НаКлиенте &НаКлиенте
Функция ПрочитатьДанныеИзЛистаСотрудника(ЛистСотрудника, ФИО) Функция ПрочитатьДанныеИзЛистаСотрудника(ЛистСотрудника, ФИО)
@@ -206,256 +124,182 @@
Строка.Вставить("Должность", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 3, 3)); Строка.Вставить("Должность", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 3, 3));
Строка.Вставить("СчетБК", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 3, 4)); Строка.Вставить("СчетБК", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 3, 4));
Строка.Вставить("ВидЗанятости", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 5, 1)); Строка.Вставить("ВидЗанятости", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 5, 1));
БазоваяСтрока = 12; БазоваяСтрока = 12;
Смещение = Объект.МесяцЗагрузки; Смещение = Объект.МесяцЗагрузки;
Если Не ЗначениеЗаполнено(Смещение) Тогда Смещение = 1; КонецЕсли; Если Не ЗначениеЗаполнено(Смещение) Тогда Смещение = 1; КонецЕсли;
СтрокаДанных = БазоваяСтрока + Смещение; Стр = БазоваяСтрока + Смещение;
Строка.Вставить("Оклад", ПрочитатьЯчейкуЧисло(ЛистСотрудника, Стр, 3, ФИО + " Оклад"));
Строка.Вставить("Оклад", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 3, ФИО + " Оклад")); Строка.Вставить("КоличествоСтавок", ПрочитатьЯчейкуЧисло(ЛистСотрудника, Стр, 4, ФИО + " Ставки"));
Строка.Вставить("КоличествоСтавок", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 4, ФИО + " Ставки")); Строка.Вставить("ОтработаноДней", ПрочитатьЯчейкуЧисло(ЛистСотрудника, Стр, 5, ФИО + " Отработано"));
Строка.Вставить("ОтработаноДней", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 5, ФИО + " Отработано")); Строка.Вставить("ИтогоНачислено", ПрочитатьЯчейкуЧисло(ЛистСотрудника, Стр, 10, ФИО + " Итого начислено"));
Строка.Вставить("ИтогоНачислено", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 10, ФИО + " Итого начислено"));
Строка.Вставить("НДФЛ", 0); Строка.Вставить("НДФЛ", 0);
Строка.Вставить("ИтогоУдержано", 0); Строка.Вставить("ИтогоУдержано", 0);
Строка.Вставить("ВсегоНаРуки", 0); Строка.Вставить("ВсегоНаРуки", 0);
Возврат Строка; Возврат Строка;
КонецФункции КонецФункции
// Читает все расчётные поля из листа "Расчет" для строки сотрудника.
// Колонки РАСЧЕТ: 9-38 расчёты, 39 итого, 40 НДФЛ, 41-52 удержания, 53 итого удержано, 55 на руки
&НаКлиенте &НаКлиенте
Функция НайтиСтрокуПервогоСотрудника(ЛистРасчет, НомерСтрокиЗаголовков) Функция ПрочитатьСтрокуРасчета(ЛистРасчет, Ном, ФИО)
Для Ном = НомерСтрокиЗаголовков + 1 По ЛистРасчет.Rows.Count Цикл
Значение = ЛистРасчет.Cells(Ном, 1).Value;
Если ЗначениеЗаполнено(Значение)
И Не СтрНачинаетсяС(ВРег(СокрЛП("" + Значение)), "ИТОГО") Тогда
Возврат Ном;
КонецЕсли;
КонецЦикла;
Возврат -1;
КонецФункции
&НаКлиенте
Функция ИзвлечьЗначениеИзТекста(Текст, Префикс)
Если Не ЗначениеЗаполнено(Текст) Тогда Возврат ""; КонецЕсли;
Позиция = СтрНайти(ВРег(Текст), ВРег(Префикс));
Если Позиция = 0 Тогда Возврат СокрЛП(Текст); КонецЕсли;
Возврат СокрЛП(Сред(Текст, Позиция + СтрДлина(Префикс)));
КонецФункции
#КонецОбласти
#Область ЧтениеДанныхСотрудника_Домен
// ============================================================================
// ДОМЕН: Чтение данных сотрудника
// Ответственность: извлечение данных из строки листа "Расчет" и листов сотрудников
// ============================================================================
&НаКлиенте
Функция ПрочитатьСтрокуРасчета(ЛистРасчет, Ном, ФИО, ИндексЗаголовков)
Строка = Новый Структура; Строка = Новый Структура;
Строка.Вставить("ФИО", ФИО); Строка.Вставить("ФИО", ФИО);
Строка.Вставить("Должность", ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, 2));
КолДолжность = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "должность"); Строка.Вставить("СчетБК", ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, 3));
КолСчетБК = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "счет"); Строка.Вставить("ВидЗанятости", ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, 4));
КолВидЗанятости = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "вид занятости"); Строка.Вставить("Оклад", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 8, ФИО + " Оклад"));
КолОклад = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "оклад"); Строка.Вставить("КоличествоСтавок", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 7, ФИО + " Ставки"));
КолСтавки = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "ставок"); Строка.Вставить("ОтработаноДней", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 6, ФИО + " Отработано"));
КолОтработано = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "отработано"); // Расчетные поля (col 9-38)
КолИтогоНачислено = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "итого начислено"); Строка.Вставить("ЧасыДежурства", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 9, ФИО + " Часы дежурства"));
КолНДФЛ = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "ндфл"); Строка.Вставить("ЧасыНочные", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 10, ФИО + " Часы ночные"));
КолИтогоУдержано = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "итого удержано"); Строка.Вставить("ЧасыПраздничные", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 11, ФИО + " Часы праздничные"));
КолВсегоНаРуки = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "всего на руки"); Строка.Вставить("РабочиеЧасыПоТабелю", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 12, ФИО + " Рабочие часы"));
Строка.Вставить("ИзРасчетаМесячногоОкладаДни", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 13, ФИО + " Расчет оклада дни"));
Строка.Вставить("Должность", ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, КолДолжность)); Строка.Вставить("ДоплатаСовместительство", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 14, ФИО + " Совместительство"));
Строка.Вставить("СчетБК", ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, КолСчетБК)); Строка.Вставить("ДоплатаСовмещениеПроцент", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 15, ФИО + " Совмещение %"));
Строка.Вставить("ВидЗанятости", ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, КолВидЗанятости)); Строка.Вставить("ДоплатаИнтенсивность", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 16, ФИО + " Интенсивность"));
Строка.Вставить("Оклад", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолОклад, ФИО + " Оклад")); Строка.Вставить("ИзРасчетаМесячногоОкладаЧасы", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 17, ФИО + " Расчет оклада часы"));
Строка.Вставить("КоличествоСтавок", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолСтавки, ФИО + " Ставки")); Строка.Вставить("ДоплатаНочные", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 18, ФИО + " Доплата ночные"));
Строка.Вставить("ОтработаноДней", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолОтработано, ФИО + " Отработано")); Строка.Вставить("ДоплатаПраздничные", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 19, ФИО + " Доплата праздничные"));
Строка.Вставить("ИтогоНачислено", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолИтогоНачислено, ФИО + " Итого начислено")); Строка.Вставить("ЗаСтаж", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 20, ФИО + " За стаж"));
Строка.Вставить("НДФЛ", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолНДФЛ, ФИО + " НДФЛ")); Строка.Вставить("НадбавкаЗаКатегорию", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 21, ФИО + " Надбавка категория"));
Строка.Вставить("ИтогоУдержано", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолИтогоУдержано, ФИО + " Итого удержано")); Строка.Вставить("НадбавкаЗаВредность", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 22, ФИО + " Надбавка вредность"));
Строка.Вставить("ВсегоНаРуки", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолВсегоНаРуки, ФИО + " Всего на руки")); Строка.Вставить("ПовышающийКоэффициент", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 23, ФИО + " Повыш. коэфф."));
Строка.Вставить("СтимулирующиеВыплаты", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 24, ФИО + " Стимулирующие"));
Строка.Вставить("СтимулирующаяНадбавка", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 25, ФИО + " Стимул. надбавка"));
Строка.Вставить("РайонныйКоэффициент", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 26, ФИО + " Районный К"));
Строка.Вставить("ВыплатыПоУказу597", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 27, ФИО + " Указ 597"));
Строка.Вставить("ПремияРазовая", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 28, ФИО + " Премия разовая"));
Строка.Вставить("БольничныйЛистЗаСчетПредприятия", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 29, ФИО + " Больничный"));
Строка.Вставить("ДоплатаПрофактиву", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 30, ФИО + " Профактив"));
Строка.Вставить("ПусковыеОбсервация", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 31, ФИО + " Пусковые"));
Строка.Вставить("Отпуск", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 32, ФИО + " Отпуск"));
Строка.Вставить("КомпенсацияЗаОтпуск", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 33, ФИО + " Компенсация отпуск"));
Строка.Вставить("ПрочиеКомандировочныйУчебныйОтпуск", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 34, ФИО + " Прочие отпуска"));
Строка.Вставить("ВыходноеПособие", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 35, ФИО + " Выходное пособие"));
Строка.Вставить("ПоУходуЗаРебенкомИнвалидом", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 36, ФИО + " Уход ребенок-инвалид"));
Строка.Вставить("ДоплатаДоМРОТ", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 37, ФИО + " Доплата МРОТ"));
Строка.Вставить("Родовые", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 38, ФИО + " Родовые"));
// Итоги
Строка.Вставить("ИтогоНачислено", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 39, ФИО + " Итого начислено"));
Строка.Вставить("НДФЛ", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 40, ФИО + " НДФЛ"));
Строка.Вставить("ПрофВзнос", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 41, ФИО + " Проф. взнос"));
Строка.Вставить("ИсполнительныеДокументы", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 42, ФИО + " Исп. документы"));
Строка.Вставить("Аванс", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 43, ФИО + " Аванс"));
Строка.Вставить("ИтогоУдержано", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 53, ФИО + " Итого удержано"));
Строка.Вставить("ВсегоНаРуки", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, 55, ФИО + " Всего на руки"));
Возврат Строка; Возврат Строка;
КонецФункции КонецФункции
&НаКлиенте &НаКлиенте
Функция ПрочитатьСтрокуВзносов(ЛистРасчет, Ном, ФИО, ИндексЗаголовков) Функция ПрочитатьСтрокуВзносовИзРасчета(ЛистРасчет, Ном, ФИО)
КолДТ6 = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "дт 6"); КолДТ6 = 58; КолДТ4 = 59; КолПФ = 60; КолФСС = 61; КолНСПЗ = 62; КолСВИтого = 63;
КолДТ4 = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "дт 4");
КолПФ = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "пф страховая");
КолФСС = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "фсс");
КолНСПЗ = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "нс и пз");
КолСВИтого = НайтиКолонкуПоЗаголовку(ИндексЗаголовков, "св итого");
СВ = ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолСВИтого, ФИО + " СВ итого"); СВ = ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолСВИтого, ФИО + " СВ итого");
Если СВ <= 0 Тогда Возврат Неопределено; КонецЕсли; Если СВ <= 0 Тогда Возврат Неопределено; КонецЕсли;
Стр = Новый Структура;
СтрВзносов = Новый Структура; Стр.Вставить("ФИО", ФИО);
СтрВзносов.Вставить("ФИО", ФИО); Стр.Вставить("ДТ6Процент", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолДТ6, ФИО + " ДТ 6%"));
СтрВзносов.Вставить("ДТ6Процент", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолДТ6, ФИО + " ДТ 6%")); Стр.Вставить("ДТ4Процент", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолДТ4, ФИО + " ДТ 4%"));
СтрВзносов.Вставить("ДТ4Процент", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолДТ4, ФИО + " ДТ 4%")); Стр.Вставить("ПФСтраховая", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолПФ, ФИО + " ПФ"));
СтрВзносов.Вставить("ПФСтраховая", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолПФ, ФИО + " ПФ")); Стр.Вставить("ФССФОМС", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолФСС, ФИО + " ФСС/ФОМС"));
СтрВзносов.Вставить("ФССФОМС", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолФСС, ФИО + " ФСС/ФОМС")); Стр.Вставить("НСПЗ", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолНСПЗ, ФИО + " НС и ПЗ"));
СтрВзносов.Вставить("НСПЗ", ПрочитатьЯчейкуЧисло(ЛистРасчет, Ном, КолНСПЗ, ФИО + " НС и ПЗ")); Стр.Вставить("Итого", СВ);
СтрВзносов.Вставить("Итого", СВ); Возврат Стр;
Возврат СтрВзносов;
КонецФункции КонецФункции
&НаКлиенте // Читает данные НДФЛ и СВ из блока внизу листа сотрудника.
Функция ПрочитатьЛичныеДанные(Книга, ФИО) // Заголовки блока: строки 33-35. Данные: строки 36-47 (Январь-Декабрь). Итого: строка 48.
ЛичныеДанные = Новый Структура("ИНН, СНИЛС, Паспорт, Адрес", "", "", "", "");
ЛистСотрудника = НайтиЛист(Книга, ФИО);
Если ЛистСотрудника = Неопределено Тогда
Возврат ЛичныеДанные;
КонецЕсли;
ЛичныеДанные.ИНН = ИзвлечьЗначениеИзТекста(
ПрочитатьЯчейкуСтрока(ЛистСотрудника, 0, 10), "ИНН");
ЛичныеДанные.СНИЛС = ИзвлечьЗначениеИзТекста(
ПрочитатьЯчейкуСтрока(ЛистСотрудника, 1, 10), "СНИЛС");
ЛичныеДанные.Паспорт = ИзвлечьЗначениеИзТекста(
ПрочитатьЯчейкуСтрока(ЛистСотрудника, 2, 10), "Паспорт");
ЛичныеДанные.Адрес = ПрочитатьЯчейкуСтрока(ЛистСотрудника, 3, 10);
Возврат ЛичныеДанные;
КонецФункции
// Читает данные НДФЛ и страховых взносов из блока внизу листа сотрудника.
// Блок НДФЛ/СВ начинается с строки 31 ("Расчет НДФЛ и страховых взносов (СВ)").
// Заголовки: строки 33-35. Данные по месяцам: строки 36-47 (Январь-Декабрь). Итого: строка 48.
// Месяц выбирается по Объект.МесяцЗагрузки: строка = 35 + Месяц.
&НаКлиенте &НаКлиенте
Функция ПрочитатьНДФЛСоЛистаСотрудника(ЛистСотрудника, ФИО) Функция ПрочитатьНДФЛСоЛистаСотрудника(ЛистСотрудника, ФИО)
Если ЛистСотрудника = Неопределено Тогда Если ЛистСотрудника = Неопределено Тогда Возврат Неопределено; КонецЕсли;
Возврат Неопределено; // Проверяем наличие блока: строка 31 содержит "Расчет НДФЛ"
КонецЕсли; ЕстьБлок = Ложь;
Для ПроверяемаяСтрока = 30 По 32 Цикл
// Проверяем наличие блока НДФЛ: ячейка A31 содержит "Расчет НДФЛ" Текст = НРег(ПрочитатьЯчейкуСтрока(ЛистСотрудника, ПроверяемаяСтрока, 1));
ЗаголовокБлока = ПрочитатьЯчейкуСтрока(ЛистСотрудника, 31, 1); Если СтрНайти(Текст, "ндфл") > 0 ИЛИ СтрНайти(Текст, "взнос") > 0 Тогда
Если СтрНайти(НРег(ЗаголовокБлока), "ндфл") = 0 ЕстьБлок = Истина;
И СтрНайти(НРег(ЗаголовокБлока), "расчет") = 0 Тогда Прервать;
// Проверяем строку 33 (альтернативное расположение)
ЗаголовокБлока33 = ПрочитатьЯчейкуСтрока(ЛистСотрудника, 33, 1);
Если СтрНайти(НРег(ЗаголовокБлока33), "период") = 0 Тогда
Возврат Неопределено;
КонецЕсли; КонецЕсли;
КонецЦикла;
Если Не ЕстьБлок Тогда
// Fallback: проверяем строку 36 — там должен быть "Январь"
ТекстЯнв = НРег(ПрочитатьЯчейкуСтрока(ЛистСотрудника, 36, 1));
Если СтрНайти(ТекстЯнв, "январь") = 0 Тогда Возврат Неопределено; КонецЕсли;
ЕстьБлок = Истина;
КонецЕсли; КонецЕсли;
Если Не ЕстьБлок Тогда Возврат Неопределено; КонецЕсли;
// Определяем строку данных для выбранного месяца: 35 + МесяцЗагрузки // Определяем строку данных для выбранного месяца
Смещение = Объект.МесяцЗагрузки; Смещение = Объект.МесяцЗагрузки;
Если Не ЗначениеЗаполнено(Смещение) Тогда Смещение = 1; КонецЕсли; Если Не ЗначениеЗаполнено(Смещение) Тогда Смещение = 1; КонецЕсли;
СтрокаДанных = 35 + Смещение; // Строка 36 = Январь, 37 = Февраль, ... СтрокаДанных = 35 + Смещение;
// Названия месяцев для проверки // Проверяем что в строке название месяца
МассивМесяцев = Новый Массив; МассивМесяцев = Новый Массив;
МассивМесяцев.Добавить("январь"); МассивМесяцев.Добавить("январь"); МассивМесяцев.Добавить("февраль");
МассивМесяцев.Добавить("февраль"); МассивМесяцев.Добавить("март"); МассивМесяцев.Добавить("апрель");
МассивМесяцев.Добавить("март"); МассивМесяцев.Добавить("май"); МассивМесяцев.Добавить("июнь");
МассивМесяцев.Добавить("апрель"); МассивМесяцев.Добавить("июль"); МассивМесяцев.Добавить("август");
МассивМесяцев.Добавить("май"); МассивМесяцев.Добавить("сентябрь"); МассивМесяцев.Добавить("октябрь");
МассивМесяцев.Добавить("июнь"); МассивМесяцев.Добавить("ноябрь"); МассивМесяцев.Добавить("декабрь");
МассивМесяцев.Добавить("июль");
МассивМесяцев.Добавить("август");
МассивМесяцев.Добавить("сентябрь");
МассивМесяцев.Добавить("октябрь");
МассивМесяцев.Добавить("ноябрь");
МассивМесяцев.Добавить("декабрь");
// Проверяем что в найденной строке действительно данные за месяц
ТекстМесяца = НРег(ПрочитатьЯчейкуСтрока(ЛистСотрудника, СтрокаДанных, 1)); ТекстМесяца = НРег(ПрочитатьЯчейкуСтрока(ЛистСотрудника, СтрокаДанных, 1));
Если МассивМесяцев.Найти(ТекстМесяца) = Неопределено Тогда Если МассивМесяцев.Найти(ТекстМесяца) = Неопределено Тогда
// Попробуем найти строку по названию месяца // Ищем строку с нужным месяцем
Для Строка = 36 По 47 Цикл Для Строка = 36 По 47 Цикл
Текст = НРег(ПрочитатьЯчейкуСтрока(ЛистСотрудника, Строка, 1)); Если (Строка - 35) = Смещение Тогда
Если МассивМесяцев.Найти(Текст) <> Неопределено Тогда
СтрокаДанных = Строка; СтрокаДанных = Строка;
Прервать; Прервать;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
// Колонки блока НДФЛ/СВ (по структуре xlsm):
// 4: Сумма валового дохода за месяц
// 6: Сумма валового дохода с начала года
// 8: Скидка для НДФЛ за месяц
// 9: Скидка для НДФЛ за год
// 10: Скидка для СВ за месяц
// 12: Вычет на работника за месяц
// 13: Вычет на иждивенцев за месяц
// 14: Всего вычетов за год
// 15: Облагаемый доход за год
// 16: НДФЛ начисленный за год
// 18: Итого НДФЛ за месяц
// 23: Налоговая база по СВ за месяц
// 37: СВ итого за месяц
НДФЛ = Новый Структура; НДФЛ = Новый Структура;
НДФЛ.Вставить("ФИО", ФИО); НДФЛ.Вставить("ФИО", ФИО);
НДФЛ.Вставить("МесяцРасчета", ПрочитатьЯчейкуСтрока(ЛистСотрудника, СтрокаДанных, 1)); НДФЛ.Вставить("МесяцРасчета", ПрочитатьЯчейкуСтрока(ЛистСотрудника, СтрокаДанных, 1));
НДФЛ.Вставить("СуммаВаловогоДохода", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 4, ФИО + " Сумма валового дохода"));
// Колонки блока НДФЛ/СВ на листе сотрудника: НДФЛ.Вставить("СуммаВаловогоДоходаСНачалаГода", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 6, ФИО + " Доход с начала года"));
// col 4: Сумма валового дохода (за месяц) НДФЛ.Вставить("СкидкаДляНДФЛЗаМесяц", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 8, ФИО + " Скидка НДФЛ месяц"));
// col 6: Сумма валового дохода с начала года НДФЛ.Вставить("СкидкаДляНДФЛЗаГод", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 9, ФИО + " Скидка НДФЛ год"));
// col 7: Сумма дохода (за месяц) НДФЛ.Вставить("СкидкаДляСВЗаМесяц", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 10, ФИО + " Скидка СВ месяц"));
// col 8: Скидка для НДФЛ (за месяц) НДФЛ.Вставить("ВычетНаРаботникаЗаМесяц", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 12, ФИО + " Вычет работника"));
// col 9: Скидка для НДФЛ (за год) НДФЛ.Вставить("ВычетНаРаботникаЗаГод", 0);
// col 10: Скидка для СВ (за месяц) НДФЛ.Вставить("ВычетНаИждивенцевЗаМесяц", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 13, ФИО + " Вычет иждивенцев"));
// col 11: Скидка для СВ (за год) НДФЛ.Вставить("ВсегоВычетовЗаМесяц", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 14, ФИО + " Всего вычетов"));
// col 12: Вычет на работника (за месяц) НДФЛ.Вставить("ОблагаемыйДоходЗаМесяц", 0);
// col 13: Вычет на иждивенцев (за месяц) НДФЛ.Вставить("ОблагаемыйДоходЗаГод", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 15, ФИО + " Облагаемый доход"));
// col 14: Всего вычетов (за год) НДФЛ.Вставить("НачисленныйНДФЛЗаГод", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 16, ФИО + " НДФЛ начисленный"));
// col 15: Облагаемый доход (за год) НДФЛ.Вставить("ИтогоНДФЛЗаМесяц", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 18, ФИО + " Итого НДФЛ"));
// col 16: Начисленный НДФЛ (за год) НДФЛ.Вставить("НалоговаяБазаПоСВЗаМесяц", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 23, ФИО + " База СВ месяц"));
// col 17: Удержанный НДФЛ (за год) НДФЛ.Вставить("ИтогоФСС", ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 37, ФИО + " Итого СВ"));
// col 18: Итого НДФЛ (за месяц)
// col 19: Выплаты по больничному (за год)
// col 20: Налоговая база по СВ (за год)
// col 23: Налоговая база по СВ (за месяц)
// col 24: Страховая часть ПФ
// col 25: Накопительная часть ПФ
// col 31: ФСС начислено с начала года
// col 33: ФСС Итого (за месяц)
// col 34: НС и ПЗ начислено с начала года
// col 36: НС и ПЗ Итого (за месяц)
// col 37: Страховые взносы Итого (за месяц)
НДФЛ.Вставить("СуммаВаловогоДохода",
ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 4, ФИО + " Сумма валового дохода"));
НДФЛ.Вставить("СуммаВаловогоДоходаСНачалаГода",
ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 6, ФИО + " Доход с начала года"));
НДФЛ.Вставить("СкидкаДляНДФЛЗаМесяц",
ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 8, ФИО + " Скидка НДФЛ месяц"));
НДФЛ.Вставить("СкидкаДляНДФЛЗаГод",
ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 9, ФИО + " Скидка НДФЛ год"));
НДФЛ.Вставить("СкидкаДляСВЗаМесяц",
ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 10, ФИО + " Скидка СВ месяц"));
НДФЛ.Вставить("ВычетНаРаботникаЗаМесяц",
ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 12, ФИО + " Вычет работника"));
НДФЛ.Вставить("ВычетНаРаботникаЗаГод",
0); // не отображается отдельно, входит в ВсегоВычетовЗаМесяц
НДФЛ.Вставить("ВычетНаИждивенцевЗаМесяц",
ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 13, ФИО + " Вычет иждивенцев"));
НДФЛ.Вставить("ВсегоВычетовЗаМесяц",
ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 14, ФИО + " Всего вычетов"));
НДФЛ.Вставить("ОблагаемыйДоходЗаМесяц",
0); // за месяц не выделяется отдельно
НДФЛ.Вставить("ОблагаемыйДоходЗаГод",
ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 15, ФИО + " Облагаемый доход"));
НДФЛ.Вставить("НачисленныйНДФЛЗаГод",
ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 16, ФИО + " НДФЛ начисленный"));
НДФЛ.Вставить("ИтогоНДФЛЗаМесяц",
ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 18, ФИО + " Итого НДФЛ"));
НДФЛ.Вставить("НалоговаяБазаПоСВЗаМесяц",
ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 23, ФИО + " База СВ месяц"));
НДФЛ.Вставить("ИтогоФСС",
ПрочитатьЯчейкуЧисло(ЛистСотрудника, СтрокаДанных, 37, ФИО + " Итого СВ"));
Возврат НДФЛ; Возврат НДФЛ;
КонецФункции КонецФункции
&НаКлиенте &НаКлиенте
Функция ПрочитатьДанныеСотрудника(ЛистСотрудника) Функция ПрочитатьДанныеСотрудника(ЛистСотрудника)
Данные = Новый Структура; Данные = Новый Структура;
Данные.Вставить("ФИО", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 2, 3)); // C3: ФИО Данные.Вставить("ФИО", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 2, 3));
Данные.Вставить("ИНН", ИзвлечьЗначениеИзТекста( Данные.Вставить("ИНН", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 0, 10));
ПрочитатьЯчейкуСтрока(ЛистСотрудника, 0, 10), "ИНН")); Данные.Вставить("СНИЛС", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 1, 10));
Данные.Вставить("СНИЛС", ИзвлечьЗначениеИзТекста( Данные.Вставить("ЛицевойСчетВБанке", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 3, 4));
ПрочитатьЯчейкуСтрока(ЛистСотрудника, 1, 10), "СНИЛС")); Данные.Вставить("ВидЗанятости", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 5, 1));
Данные.Вставить("ЛицевойСчетВБанке", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 3, 4)); // D4: Номер Данные.Вставить("АдресРегистрации", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 3, 10));
Данные.Вставить("ВидЗанятости", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 5, 1)); // A6
Данные.Вставить("АдресРегистрации", ПрочитатьЯчейкуСтрока(ЛистСотрудника, 3, 10)); // K4
Возврат Данные; Возврат Данные;
КонецФункции КонецФункции
@@ -463,83 +307,54 @@
#Область ОсновнаяПроцедура_Домен #Область ОсновнаяПроцедура_Домен
// ============================================================================
// ДОМЕН: Оркестрация загрузки
// ============================================================================
&НаКлиенте &НаКлиенте
Процедура ПрочитатьExcelНаКлиенте() Процедура ПрочитатьExcelНаКлиенте()
СтатусЗагрузки = "Копирование файла..."; СтатусЗагрузки = "Копирование файла...";
Состояние("Копирование файла...", 5); Состояние("Копирование файла...", 5);
ВременныйФайл = КаталогВременныхФайлов() + "temp_data.xls"; ВременныйФайл = КаталогВременныхФайлов() + "temp_data.xls";
КопироватьФайл(Объект.ПутьКФайлу, ВременныйФайл); КопироватьФайл(Объект.ПутьКФайлу, ВременныйФайл);
СтатусЗагрузки = "Открытие Excel..."; СтатусЗагрузки = "Открытие Excel...";
Состояние("Открытие Excel...", 10);
КонтекстExcel = ОткрытьФайлExcel(ВременныйФайл); КонтекстExcel = ОткрытьФайлExcel(ВременныйФайл);
Если КонтекстExcel = Неопределено Тогда Если КонтекстExcel = Неопределено Тогда УдалитьФайлы(ВременныйФайл); Возврат; КонецЕсли;
УдалитьФайлы(ВременныйФайл); СтатусЗагрузки = "Поиск листа Расчет...";
Возврат;
КонецЕсли;
СтатусЗагрузки = "Поиск листа 'Расчет'...";
Состояние("Поиск листа 'Расчет'...", 15);
ЛистРасчет = НайтиЛист(КонтекстExcel.Книга, "Расчет"); ЛистРасчет = НайтиЛист(КонтекстExcel.Книга, "Расчет");
Если ЛистРасчет = Неопределено Тогда Если ЛистРасчет = Неопределено Тогда
Сообщить("Лист 'Расчет' не найден!"); Сообщить("Лист Расчет не найден!");
ЗакрытьExcel(КонтекстExcel, ВременныйФайл); ЗакрытьExcel(КонтекстExcel, ВременныйФайл);
СтатусЗагрузки = "Ошибка: лист не найден";
Возврат; Возврат;
КонецЕсли; КонецЕсли;
СтатусЗагрузки = "Определение месяца...";
Состояние("Определение месяца...", 20);
МесяцЗначение = ЛистРасчет.Cells(4, 1).Value; МесяцЗначение = ЛистРасчет.Cells(4, 1).Value;
Если ЗначениеЗаполнено(МесяцЗначение) Тогда Если ЗначениеЗаполнено(МесяцЗначение) Тогда
Попытка Попытка Объект.МесяцЗагрузки = Число(МесяцЗначение); Исключение КонецПопытки;
Объект.МесяцЗагрузки = Число(МесяцЗначение);
Исключение
Сообщить("Не удалось определить месяц: " + МесяцЗначение);
КонецПопытки;
КонецЕсли; КонецЕсли;
Ном = 1;
// Определяем строку первого сотрудника
Для Ном = 1 По 30 Цикл
Значение = ЛистРасчет.Cells(Ном, 1).Value;
Если Значение <> Неопределено И Значение <> "" Тогда
ФИОТест = СокрЛП("" + Значение);
Если Не СтрНачинаетсяС(ВРег(ФИОТест), "ИТОГО")
И Не СтрНачинаетсяС(ВРег(ФИОТест), "СОТРУДНИК")
И СтрДлина(ФИОТест) > 3 Тогда
Прервать;
КонецЕсли;
КонецЕсли;
КонецЦикла;
СтатусЗагрузки = "Анализ заголовков...";
Состояние("Анализ заголовков...", 22);
НомерСтрокиЗаголовков = НайтиСтрокуЗаголовков(ЛистРасчет);
ИндексЗаголовков = СоздатьИндексЗаголовков(ЛистРасчет, НомерСтрокиЗаголовков);
СтатусЗагрузки = "Поиск данных...";
Состояние("Поиск данных...", 25);
Ном = НайтиСтрокуПервогоСотрудника(ЛистРасчет, НомерСтрокиЗаголовков);
Если Ном = -1 Тогда
Сообщить("Данные сотрудников не найдены!");
ЗакрытьExcel(КонтекстExcel, ВременныйФайл);
Возврат;
КонецЕсли;
// Основные массивы данных
МассивДанных = Новый Массив; МассивДанных = Новый Массив;
МассивВзносов = Новый Массив; МассивВзносов = Новый Массив;
МассивНДФЛ = Новый Массив; МассивНДФЛ = Новый Массив;
МассивСотрудников = Новый Массив; МассивСотрудников = Новый Массив;
СчетчикСотрудников = 0; Счетчик = 0;
ПустыхПодряд = 0; ПустыхПодряд = 0;
МаксПустых = 5;
КоличествоСтрок = ЛистРасчет.Rows.Count;
Пока Истина Цикл Пока Истина Цикл
ФИО = ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, 1); ФИО = "";
ЛистСотрудника = Неопределено; ЛистСотрудника = Неопределено;
// Пробуем прочитать ФИО из РАСЧЕТ
ФИО = ПрочитатьЯчейкуСтрока(ЛистРасчет, Ном, 1);
Если Не ЗначениеЗаполнено(ФИО) Тогда Если Не ЗначениеЗаполнено(ФИО) Тогда
// xlsm: ФИО в формуле-ссылке
Формула = ЛистРасчет.Cells(Ном, 1).Formula; Формула = ЛистРасчет.Cells(Ном, 1).Formula;
Если ЗначениеЗаполнено(Формула) Тогда Если ЗначениеЗаполнено(Формула) Тогда
ИмяЛиста = ИзвлечьИмяЛистаИзФормулы(Формула); ИмяЛиста = ИзвлечьИмяЛистаИзФормулы(Формула);
@@ -551,128 +366,90 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Если Не ЗначениеЗаполнено(ФИО) Тогда Если Не ЗначениеЗаполнено(ФИО) Тогда
ПустыхПодряд = ПустыхПодряд + 1; ПустыхПодряд = ПустыхПодряд + 1;
Если ПустыхПодряд >= МаксПустых Тогда Прервать; КонецЕсли; Если ПустыхПодряд >= 5 Тогда Прервать; КонецЕсли;
Ном = Ном + 1; Ном = Ном + 1; Продолжить;
Продолжить;
КонецЕсли; КонецЕсли;
ПустыхПодряд = 0; ПустыхПодряд = 0;
Если СтрНачинаетсяС(ВРег(ФИО), "ИТОГО") Тогда Прервать; КонецЕсли; Если СтрНачинаетсяС(ВРег(СокрЛП(ФИО)), "ИТОГО") Тогда Прервать; КонецЕсли;
// Уникальный идентификатор сотрудника Счетчик = Счетчик + 1;
СчетчикСотрудников = СчетчикСотрудников + 1; Состояние("Расчет ЗП: " + ФИО, 25 + 60 * Счетчик / 100);
ИДСотрудника = СчетчикСотрудников;
ПрогрессЗаписи = 25 + 65 * (Ном - 1) / Макс(КоличествоСтрок, 1); // Чтение данных ЗП (все расчётные колонки из РАСЧЕТ)
Состояние("Расчет ЗП: " + ФИО, ПрогрессЗаписи); Строка = ПрочитатьСтрокуРасчета(ЛистРасчет, Ном, ФИО);
Строка.Вставить("ИдентификаторСотрудника", Счетчик);
// Чтение данных ЗП // Если есть лист сотрудника — обогащаем данными карточки
Если ЛистСотрудника <> Неопределено Тогда Если ЛистСотрудника <> Неопределено Тогда
Строка = ПрочитатьДанныеИзЛистаСотрудника(ЛистСотрудника, ФИО); ДанныеКарточки = ПрочитатьДанныеСотрудника(ЛистСотрудника);
Иначе // ФИО и Должность уже из РАСЧЕТ, перезаписываем только карточные
Строка = ПрочитатьСтрокуРасчета(ЛистРасчет, Ном, ФИО, ИндексЗаголовков); Строка.Вставить("ИНН", ДанныеКарточки.ИНН);
Строка.Вставить("СНИЛС", ДанныеКарточки.СНИЛС);
Строка.Вставить("Адрес", ДанныеКарточки.АдресРегистрации);
КонецЕсли; КонецЕсли;
Строка.Вставить("ИдентификаторСотрудника", ИДСотрудника);
// Личные данные (ИНН, СНИЛС, адрес)
ЛичныеДанные = ПрочитатьЛичныеДанные(КонтекстExcel.Книга, ФИО);
Для Каждого КлючЗначение Из ЛичныеДанные Цикл
Если Не Строка.Свойство(КлючЗначение.Ключ) Тогда
Строка.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение);
КонецЕсли;
КонецЦикла;
МассивДанных.Добавить(Строка); МассивДанных.Добавить(Строка);
// Данные сотрудников (скрытая таблица для связи) // Таблица сотрудников
Если ЛистСотрудника <> Неопределено Тогда Если ЛистСотрудника <> Неопределено Тогда
ДанныеСотр = ПрочитатьДанныеСотрудника(ЛистСотрудника); ДанныеСотр = ПрочитатьДанныеСотрудника(ЛистСотрудника);
Иначе Иначе
ДанныеСотр = Новый Структура; ДанныеСотр = Новый Структура("ФИО, ИНН, СНИЛС, ЛицевойСчетВБанке, ВидЗанятости, АдресРегистрации",
ДанныеСотр.Вставить("ФИО", ФИО); ФИО, "", "", "", "", "");
ДанныеСотр.Вставить("ИНН", ?(ЛичныеДанные <> Неопределено, ЛичныеДанные.ИНН, ""));
ДанныеСотр.Вставить("СНИЛС", ?(ЛичныеДанные <> Неопределено, ЛичныеДанные.СНИЛС, ""));
ДанныеСотр.Вставить("ЛицевойСчетВБанке", "");
ДанныеСотр.Вставить("ВидЗанятости", "");
ДанныеСотр.Вставить("АдресРегистрации", "");
КонецЕсли; КонецЕсли;
ДанныеСотр.Вставить("Идентификатор", ИДСотрудника); ДанныеСотр.Вставить("Идентификатор", Счетчик);
МассивСотрудников.Добавить(ДанныеСотр); МассивСотрудников.Добавить(ДанныеСотр);
// Данные НДФЛ из блока внизу листа сотрудника // НДФЛ из блока внизу листа сотрудника
Если ЛистСотрудника <> Неопределено Тогда Если ЛистСотрудника <> Неопределено Тогда
ДанныеНДФЛ = ПрочитатьНДФЛСоЛистаСотрудника(ЛистСотрудника, ФИО); ДанныеНДФЛ = ПрочитатьНДФЛСоЛистаСотрудника(ЛистСотрудника, ФИО);
Если ДанныеНДФЛ <> Неопределено Тогда Если ДанныеНДФЛ <> Неопределено Тогда
ДанныеНДФЛ.Вставить("ИдентификаторСотрудника", ИДСотрудника); ДанныеНДФЛ.Вставить("ИдентификаторСотрудника", Счетчик);
МассивНДФЛ.Добавить(ДанныеНДФЛ); МассивНДФЛ.Добавить(ДанныеНДФЛ);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
// Страховые взносы из листа "Расчет" // Страховые взносы из РАСЧЕТ (cols 58-63)
СтрВзносов = ПрочитатьСтрокуВзносов(ЛистРасчет, Ном, ФИО, ИндексЗаголовков); СтрВзносов = ПрочитатьСтрокуВзносовИзРасчета(ЛистРасчет, Ном, ФИО);
Если СтрВзносов <> Неопределено Тогда Если СтрВзносов <> Неопределено Тогда
СтрВзносов.Вставить("ИдентификаторСотрудника", ИДСотрудника); СтрВзносов.Вставить("ИдентификаторСотрудника", Счетчик);
МассивВзносов.Добавить(СтрВзносов); МассивВзносов.Добавить(СтрВзносов);
КонецЕсли; КонецЕсли;
Ном = Ном + 1; Ном = Ном + 1;
Если Ном > ЛистРасчет.Rows.Count Тогда Прервать; КонецЕсли;
КонецЦикла; КонецЦикла;
СтатусЗагрузки = "Закрытие Excel...";
Состояние("Закрытие Excel...", 95);
ЗакрытьExcel(КонтекстExcel, ВременныйФайл); ЗакрытьExcel(КонтекстExcel, ВременныйФайл);
СтатусЗагрузки = "Передача данных на сервер...";
Состояние("Передача данных на сервер...", 98);
ЗаполнитьТаблицыНаСервере(МассивДанных, МассивВзносов, МассивНДФЛ, МассивСотрудников); ЗаполнитьТаблицыНаСервере(МассивДанных, МассивВзносов, МассивНДФЛ, МассивСотрудников);
Прогресс = 100;
СтатусЗагрузки = "Готово! Загружено: " + МассивДанных.Количество() + " сотрудников"; СтатусЗагрузки = "Готово! Загружено: " + МассивДанных.Количество() + " сотрудников";
Сообщить(СтатусЗагрузки); Сообщить(СтатусЗагрузки);
ОбновитьОтображениеДанных(); ОбновитьОтображениеДанных();
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СерверныеПроцедуры #Область СерверныеПроцедуры
// ============================================================================
// ДОМЕН: Серверная обработка данных
// ============================================================================
&НаСервере
Процедура ИнициализироватьТаблицы()
КонецПроцедуры
&НаСервере &НаСервере
Процедура ЗаполнитьТаблицыНаСервере(МассивДанных, МассивВзносов, МассивНДФЛ, МассивСотрудников) Процедура ЗаполнитьТаблицыНаСервере(МассивДанных, МассивВзносов, МассивНДФЛ, МассивСотрудников)
// Таблица расчета ЗП
Объект.ДанныеРасчетаЗП.Очистить(); Объект.ДанныеРасчетаЗП.Очистить();
Для Каждого Эл Из МассивДанных Цикл Для Каждого Эл Из МассивДанных Цикл
Строка = Объект.ДанныеРасчетаЗП.Добавить(); Строка = Объект.ДанныеРасчетаЗП.Добавить();
ЗаполнитьЗначенияСвойств(Строка, Эл); ЗаполнитьЗначенияСвойств(Строка, Эл);
КонецЦикла; КонецЦикла;
// Таблица страховых взносов
Объект.ДанныеСтраховыхВзносов.Очистить(); Объект.ДанныеСтраховыхВзносов.Очистить();
Для Каждого Эл Из МассивВзносов Цикл Для Каждого Эл Из МассивВзносов Цикл
Строка = Объект.ДанныеСтраховыхВзносов.Добавить(); Строка = Объект.ДанныеСтраховыхВзносов.Добавить();
ЗаполнитьЗначенияСвойств(Строка, Эл); ЗаполнитьЗначенияСвойств(Строка, Эл);
КонецЦикла; КонецЦикла;
// Таблица НДФЛ
Объект.ДанныеНДФЛ.Очистить(); Объект.ДанныеНДФЛ.Очистить();
Для Каждого Эл Из МассивНДФЛ Цикл Для Каждого Эл Из МассивНДФЛ Цикл
Строка = Объект.ДанныеНДФЛ.Добавить(); Строка = Объект.ДанныеНДФЛ.Добавить();
ЗаполнитьЗначенияСвойств(Строка, Эл); ЗаполнитьЗначенияСвойств(Строка, Эл);
КонецЦикла; КонецЦикла;
// Таблица сотрудников (скрытая, для связи между ТЧ)
Объект.Сотрудники.Очистить(); Объект.Сотрудники.Очистить();
Для Каждого Эл Из МассивСотрудников Цикл Для Каждого Эл Из МассивСотрудников Цикл
Строка = Объект.Сотрудники.Добавить(); Строка = Объект.Сотрудники.Добавить();
@@ -685,12 +462,6 @@
ГодЗагрузки = ТекущаяДата().Год(); ГодЗагрузки = ТекущаяДата().Год();
Период = Дата(ГодЗагрузки, Объект.МесяцЗагрузки, 1); Период = Дата(ГодЗагрузки, Объект.МесяцЗагрузки, 1);
Объект.ЗаписатьДанныеРасчета(Объект.ДанныеРасчетаЗП, Период); Объект.ЗаписатьДанныеРасчета(Объект.ДанныеРасчетаЗП, Период);
Если Объект.ДанныеСтраховыхВзносов.Количество() > 0 Тогда
Объект.ЗаписатьДанныеСтраховыхВзносов(Объект.ДанныеСтраховыхВзносов, Период);
КонецЕсли;
Если Объект.ДанныеНДФЛ.Количество() > 0 Тогда
Объект.ЗаписатьДанныеНДФЛ(Объект.ДанныеНДФЛ, Период);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти