v3.0.0.62
This commit is contained in:
@@ -37,7 +37,7 @@
|
||||
Сообщить("Нет данных для записи!");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
ЗаписатьДанныеНаСервере();
|
||||
ЗаписатьДанныеНаСервере(ГодЗагрузки, СтрокаОрганизация, СтрокаСтатьяФинансирования, СтрокаСтатьяРасходов);
|
||||
Сообщить("Данные записаны!");
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -328,10 +328,10 @@
|
||||
Организация = СокрЛП(Строка(ЛистРасчет.Cells(4, 20).Value));
|
||||
СтатьяФинансирования = СокрЛП(Строка(ЛистРасчет.Cells(8, 20).Value));
|
||||
СтатьяРасходов = "211";
|
||||
// Сохраняем в реквизиты объекта для отображения на форме и записи
|
||||
Объект.Организация = Организация;
|
||||
Объект.СтатьяФинансирования = СтатьяФинансирования;
|
||||
Объект.СтатьяРасходов = СтатьяРасходов;
|
||||
// Сохраняем строковые значения для передачи на сервер
|
||||
СтрокаОрганизация = Организация;
|
||||
СтрокаСтатьяФинансирования = СтатьяФинансирования;
|
||||
СтрокаСтатьяРасходов = СтатьяРасходов;
|
||||
// Строка начала данных
|
||||
НачальнаяСтрока = 0;
|
||||
Для Ном = 17 По 30 Цикл
|
||||
@@ -458,13 +458,29 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаписатьДанныеНаСервере()
|
||||
Процедура ЗаписатьДанныеНаСервере(Знач ГодЗагрузкиПараметр, ОрганизацияНаименование, СтатьяФинансированияНаименование, СтатьяРасходовКод)
|
||||
// Определяем период
|
||||
ГодЗагрузки = ГодЗагрузки;
|
||||
Если Не ЗначениеЗаполнено(ГодЗагрузки) Тогда
|
||||
ГодЗагрузки = Год(ТекущаяДата());
|
||||
Если Не ЗначениеЗаполнено(ГодЗагрузкиПараметр) Тогда
|
||||
ГодЗагрузкиПараметр = Год(ТекущаяДата());
|
||||
КонецЕсли;
|
||||
Период = Дата(Цел(ГодЗагрузкиПараметр), Цел(Объект.МесяцЗагрузки), 1);
|
||||
|
||||
// Разрешаем ссылки из строковых значений
|
||||
Организация = Справочники.Организации.НайтиПоНаименованию(СокрЛП(ОрганизацияНаименование), Истина);
|
||||
Если Не ЗначениеЗаполнено(Организация) Тогда
|
||||
Сообщить("Не найдена организация: """ + ОрганизацияНаименование + """");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
СтатьяФинансирования = Неопределено;
|
||||
Если ЗначениеЗаполнено(СтатьяФинансированияНаименование) Тогда
|
||||
СтатьяФинансирования = Справочники.СтатьиФинансированияЗарплата.НайтиПоНаименованию(СокрЛП(СтатьяФинансированияНаименование), Истина);
|
||||
КонецЕсли;
|
||||
|
||||
СтатьяРасходов = Неопределено;
|
||||
Если ЗначениеЗаполнено(СтатьяРасходовКод) Тогда
|
||||
СтатьяРасходов = Справочники.СтатьиРасходовЗарплата.НайтиПоКоду(СокрЛП(СтатьяРасходовКод));
|
||||
КонецЕсли;
|
||||
Период = Дата(ГодЗагрузки, Объект.МесяцЗагрузки, 1);
|
||||
|
||||
// Создаём документ ПереносДанных
|
||||
ДокПеренос = Документы.ПереносДанных.СоздатьДокумент();
|
||||
@@ -506,41 +522,15 @@
|
||||
КонецЦикла;
|
||||
|
||||
// Сопоставление организаций и статей
|
||||
Организация = Справочники.Организации.НайтиПоНаименованию(СокрЛП(Объект.Организация), Истина);
|
||||
Если Не ЗначениеЗаполнено(Организация) Тогда
|
||||
Сообщить("Не найдена организация: """ + Объект.Организация + """. Попытка по первому элементу...");
|
||||
Выборка = Справочники.Организации.Выбрать();
|
||||
Если Выборка.Следующий() Тогда
|
||||
Организация = Выборка.Ссылка;
|
||||
Сообщить("Используется: " + Организация.Наименование);
|
||||
Иначе
|
||||
Сообщить("ОШИБКА: Нет ни одной организации в справочнике!");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
СтатьяФинансирования = Справочники.СтатьиФинансированияЗарплата.НайтиПоНаименованию(СокрЛП(Объект.СтатьяФинансирования), Истина);
|
||||
Если Не ЗначениеЗаполнено(СтатьяФинансирования) Тогда
|
||||
Сообщить("Не найдена статья финансирования: """ + Объект.СтатьяФинансирования + """");
|
||||
КонецЕсли;
|
||||
|
||||
СтатьяРасходов = Справочники.СтатьиРасходовЗарплата.НайтиПоНаименованию(СокрЛП(Объект.СтатьяРасходов), Истина);
|
||||
Если Не ЗначениеЗаполнено(СтатьяРасходов) Тогда
|
||||
Сообщить("Не найдена статья расходов: """ + Объект.СтатьяРасходов + """");
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(Организация) Тогда
|
||||
Сообщить("Запись невозможна: организация не определена!");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// ============================================
|
||||
// Регистр 1: НачисленияУдержанияПоСотрудникам
|
||||
// ============================================
|
||||
Для Каждого Строка Из Объект.ДанныеРасчетаЗП Цикл
|
||||
ИД = Строка.ИдентификаторСотрудника;
|
||||
ДанныеСотр = КэшСотрудников.Получить(ИД);
|
||||
ФизЛицо = ?(ДанныеСотр <> Неопределено, ДанныеСотр.ФизическоеЛицо, Неопределено);
|
||||
СотрудникСсылка = ?(ДанныеСотр <> Неопределено, ДанныеСотр.Сотрудник, Неопределено);
|
||||
Если ДанныеСотр = Неопределено Тогда Продолжить; КонецЕсли;
|
||||
ФизЛицо = ДанныеСотр.ФизическоеЛицо;
|
||||
СотрудникСсылка = ДанныеСотр.Сотрудник;
|
||||
|
||||
// Начисления (Оклад, доплаты, надбавки и т.д.)
|
||||
ЗаписатьНачисление(ДокПеренос, Строка, "Оклад", Строка.Оклад, Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено, Период, Организация, СтатьяФинансирования, СтатьяРасходов, ФизЛицо, СотрудникСсылка);
|
||||
@@ -640,11 +630,6 @@
|
||||
|
||||
ДокПеренос.Записать();
|
||||
|
||||
// Записываем движения
|
||||
Для Каждого Движение Из ДокПеренос.Движения Цикл
|
||||
Движение.Записать();
|
||||
КонецЦикла;
|
||||
|
||||
Сообщить("Данные записаны. Документ: " + ДокПеренос.Ссылка);
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
Reference in New Issue
Block a user