![]() |
|
Расчет зарплаты. Появление записей | ☑ | ||
---|---|---|---|---|
0
wwwqwert2014
20.08.14
✎
16:54
|
Решал задачу по расчету зарплаты 3.22.
Необходимо, чтобы после расчета зарплаты пользователь мог в документе подкорректировать данные. Выскакивают следующие ошибки: 1. Если 2 раза клацнуть на кнопку "Провести и рассчитать", то будет такая ошибка: {Документ.НачислениеЗарплаты.Форма.ФормаДокумента.Форма(10)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение) ДокументОбъект = РеквизитФормыВЗначение("Объект"); по причине: Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)! 2. В документ Начисление зарплаты 003 нажал на Ручная корректировка для первой строки, потом "провести и рассчитать", потом закрываю окно. Спрашивает "Данные были изменение, сохранить изменение?" Нажимаю "Да" и после этого окошко: "Данные были изменены или удалены другим пользователем" 3. Не рассчитаываются удержания и повляются дубли. Код процедуры ПровестиИРассчитать: &НаСервере Процедура ПровестиИРассчитатьНаСервере() // Вставить содержимое обработчика. НачатьТранзакцию(); ДокументОбъект = РеквизитФормыВЗначение("Объект"); ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение); Объект.ОсновныеНачисления.Очистить(); Объект.ДополнительныеНачисления.Очистить(); Объект.Удержания.Очистить(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОсновныеНачисления.ВидРасчета, | ОсновныеНачисления.ПериодДействияНачало, | ОсновныеНачисления.ПериодДействияКонец, | ОсновныеНачисления.Сотрудник, | ОсновныеНачисления.Подразделение, | ОсновныеНачисления.Должность, | ОсновныеНачисления.Результат, | ОсновныеНачисления.РучнаяКорректировка, | ОсновныеНачисления.Переработка |ИЗ | РегистрРасчета.ОсновныеНачисления КАК ОсновныеНачисления |ГДЕ | ОсновныеНачисления.Регистратор = &Регистратор |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДополнительныеНачисления.ВидРасчета, | ДополнительныеНачисления.Сотрудник, | ДополнительныеНачисления.Подразделение, | ДополнительныеНачисления.Должность, | ДополнительныеНачисления.Результат, | ДополнительныеНачисления.РучнаяКорректировка, | ДополнительныеНачисления.Процент |ИЗ | РегистрРасчета.ДополнительныеНачисления КАК ДополнительныеНачисления |ГДЕ | ДополнительныеНачисления.Регистратор = &Регистратор |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Удержания.ВидРасчета, | Удержания.Сотрудник, | Удержания.Подразделение, | Удержания.Должность, | Удержания.Результат, | Удержания.РучнаяКорректировка |ИЗ | РегистрРасчета.Удержания КАК Удержания"; Запрос.УстановитьПараметр("Регистратор", Объект.Ссылка); РезультатЗапроса = Запрос.ВыполнитьПакет(); ВыбОсновные = РезультатЗапроса[0].Выбрать(); ВыбДополнительные = РезультатЗапроса[1].Выбрать(); ВыбУдержания = РезультатЗапроса[2].Выбрать(); Пока ВыбОсновные.Следующий() Цикл Строка = Объект.ОсновныеНачисления.Добавить(); ЗаполнитьЗначенияСвойств(Строка, ВыбОсновные); КонецЦикла; Пока ВыбДополнительные.Следующий() Цикл Строка = Объект.ДополнительныеНачисления.Добавить(); ЗаполнитьЗначенияСвойств(Строка, ВыбДополнительные); КонецЦикла; Пока ВыбУдержания.Следующий() Цикл Строка = Объект.Удержания.Добавить(); ЗаполнитьЗначенияСвойств(Строка, ВыбУдержания); КонецЦикла; ЗафиксироватьТранзакцию(); КонецПроцедуры &НаКлиенте Процедура ПровестиИРассчитать(Команда) ПровестиИРассчитатьНаСервере(); КонецПроцедуры Вот здесь база http://rghost.ru/57571946 |
|||
1
wwwqwert2014
20.08.14
✎
16:54
|
||||
2
wwwqwert2014
20.08.14
✎
19:01
|
ап
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |