v3.0.0.62

This commit is contained in:
Профи-Софт
2026-07-14 04:20:08 +00:00
parent 0cfcfcf715
commit aae744ba6a
2 changed files with 30 additions and 45 deletions
+1 -1
View File
@@ -56,7 +56,7 @@
<ScriptVariant>Russian</ScriptVariant> <ScriptVariant>Russian</ScriptVariant>
<DefaultRoles/> <DefaultRoles/>
<Vendor>ООО "Профи-Софт", код партнера 42575-13, г.Байконур.</Vendor> <Vendor>ООО "Профи-Софт", код партнера 42575-13, г.Байконур.</Vendor>
<Version>3.0.0.61</Version> <Version>3.0.0.62</Version>
<Caption/> <Caption/>
<ShortCaption/> <ShortCaption/>
<DefaultLanguage>Language.Русский</DefaultLanguage> <DefaultLanguage>Language.Русский</DefaultLanguage>
@@ -37,7 +37,7 @@
Сообщить("Нет данных для записи!"); Сообщить("Нет данных для записи!");
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ЗаписатьДанныеНаСервере(); ЗаписатьДанныеНаСервере(ГодЗагрузки, СтрокаОрганизация, СтрокаСтатьяФинансирования, СтрокаСтатьяРасходов);
Сообщить("Данные записаны!"); Сообщить("Данные записаны!");
КонецПроцедуры КонецПроцедуры
@@ -328,10 +328,10 @@
Организация = СокрЛП(Строка(ЛистРасчет.Cells(4, 20).Value)); Организация = СокрЛП(Строка(ЛистРасчет.Cells(4, 20).Value));
СтатьяФинансирования = СокрЛП(Строка(ЛистРасчет.Cells(8, 20).Value)); СтатьяФинансирования = СокрЛП(Строка(ЛистРасчет.Cells(8, 20).Value));
СтатьяРасходов = "211"; СтатьяРасходов = "211";
// Сохраняем в реквизиты объекта для отображения на форме и записи // Сохраняем строковые значения для передачи на сервер
Объект.Организация = Организация; СтрокаОрганизация = Организация;
Объект.СтатьяФинансирования = СтатьяФинансирования; СтрокаСтатьяФинансирования = СтатьяФинансирования;
Объект.СтатьяРасходов = СтатьяРасходов; СтрокаСтатьяРасходов = СтатьяРасходов;
// Строка начала данных // Строка начала данных
НачальнаяСтрока = 0; НачальнаяСтрока = 0;
Для Ном = 17 По 30 Цикл Для Ном = 17 По 30 Цикл
@@ -458,13 +458,29 @@
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
Процедура ЗаписатьДанныеНаСервере() Процедура ЗаписатьДанныеНаСервере(Знач ГодЗагрузкиПараметр, ОрганизацияНаименование, СтатьяФинансированияНаименование, СтатьяРасходовКод)
// Определяем период // Определяем период
ГодЗагрузки = ГодЗагрузки; Если Не ЗначениеЗаполнено(ГодЗагрузкиПараметр) Тогда
Если Не ЗначениеЗаполнено(ГодЗагрузки) Тогда ГодЗагрузкиПараметр = Год(ТекущаяДата());
ГодЗагрузки = Год(ТекущаяДата()); КонецЕсли;
Период = Дата(Цел(ГодЗагрузкиПараметр), Цел(Объект.МесяцЗагрузки), 1);
// Разрешаем ссылки из строковых значений
Организация = Справочники.Организации.НайтиПоНаименованию(СокрЛП(ОрганизацияНаименование), Истина);
Если Не ЗначениеЗаполнено(Организация) Тогда
Сообщить("Не найдена организация: """ + ОрганизацияНаименование + """");
Возврат;
КонецЕсли;
СтатьяФинансирования = Неопределено;
Если ЗначениеЗаполнено(СтатьяФинансированияНаименование) Тогда
СтатьяФинансирования = Справочники.СтатьиФинансированияЗарплата.НайтиПоНаименованию(СокрЛП(СтатьяФинансированияНаименование), Истина);
КонецЕсли;
СтатьяРасходов = Неопределено;
Если ЗначениеЗаполнено(СтатьяРасходовКод) Тогда
СтатьяРасходов = Справочники.СтатьиРасходовЗарплата.НайтиПоКоду(СокрЛП(СтатьяРасходовКод));
КонецЕсли; КонецЕсли;
Период = Дата(ГодЗагрузки, Объект.МесяцЗагрузки, 1);
// Создаём документ ПереносДанных // Создаём документ ПереносДанных
ДокПеренос = Документы.ПереносДанных.СоздатьДокумент(); ДокПеренос = Документы.ПереносДанных.СоздатьДокумент();
@@ -506,41 +522,15 @@
КонецЦикла; КонецЦикла;
// Сопоставление организаций и статей // Сопоставление организаций и статей
Организация = Справочники.Организации.НайтиПоНаименованию(СокрЛП(Объект.Организация), Истина);
Если Не ЗначениеЗаполнено(Организация) Тогда
Сообщить("Не найдена организация: """ + Объект.Организация + """. Попытка по первому элементу...");
Выборка = Справочники.Организации.Выбрать();
Если Выборка.Следующий() Тогда
Организация = Выборка.Ссылка;
Сообщить("Используется: " + Организация.Наименование);
Иначе
Сообщить("ОШИБКА: Нет ни одной организации в справочнике!");
КонецЕсли;
КонецЕсли;
СтатьяФинансирования = Справочники.СтатьиФинансированияЗарплата.НайтиПоНаименованию(СокрЛП(Объект.СтатьяФинансирования), Истина);
Если Не ЗначениеЗаполнено(СтатьяФинансирования) Тогда
Сообщить("Не найдена статья финансирования: """ + Объект.СтатьяФинансирования + """");
КонецЕсли;
СтатьяРасходов = Справочники.СтатьиРасходовЗарплата.НайтиПоНаименованию(СокрЛП(Объект.СтатьяРасходов), Истина);
Если Не ЗначениеЗаполнено(СтатьяРасходов) Тогда
Сообщить("Не найдена статья расходов: """ + Объект.СтатьяРасходов + """");
КонецЕсли;
Если Не ЗначениеЗаполнено(Организация) Тогда
Сообщить("Запись невозможна: организация не определена!");
Возврат;
КонецЕсли;
// ============================================ // ============================================
// Регистр 1: НачисленияУдержанияПоСотрудникам // Регистр 1: НачисленияУдержанияПоСотрудникам
// ============================================ // ============================================
Для Каждого Строка Из Объект.ДанныеРасчетаЗП Цикл Для Каждого Строка Из Объект.ДанныеРасчетаЗП Цикл
ИД = Строка.ИдентификаторСотрудника; ИД = Строка.ИдентификаторСотрудника;
ДанныеСотр = КэшСотрудников.Получить(ИД); ДанныеСотр = КэшСотрудников.Получить(ИД);
ФизЛицо = ?(ДанныеСотр <> Неопределено, ДанныеСотр.ФизическоеЛицо, Неопределено); Если ДанныеСотр = Неопределено Тогда Продолжить; КонецЕсли;
СотрудникСсылка = ?(ДанныеСотр <> Неопределено, ДанныеСотр.Сотрудник, Неопределено); ФизЛицо = ДанныеСотр.ФизическоеЛицо;
СотрудникСсылка = ДанныеСотр.Сотрудник;
// Начисления (Оклад, доплаты, надбавки и т.д.) // Начисления (Оклад, доплаты, надбавки и т.д.)
ЗаписатьНачисление(ДокПеренос, Строка, "Оклад", Строка.Оклад, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка); ЗаписатьНачисление(ДокПеренос, Строка, "Оклад", Строка.Оклад, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
@@ -640,11 +630,6 @@
ДокПеренос.Записать(); ДокПеренос.Записать();
// Записываем движения
Для Каждого Движение Из ДокПеренос.Движения Цикл
Движение.Записать();
КонецЦикла;
Сообщить("Данные записаны. Документ: " + ДокПеренос.Ссылка); Сообщить("Данные записаны. Документ: " + ДокПеренос.Ссылка);
КонецПроцедуры КонецПроцедуры