cdsven
19.11.2018, 11:43
Добрый день, мне поставили таю задачу нужно сравнить запись из объекта на форме документа с записью из регистра сведений, в случае несовпадения вывести ошибку и не проводить документ. Второй день борюсь не как не могу справится.
&НаСервере
Процедура ПередЗаписью(Отказ, ТекущийОбъект, ПараметрыЗаписи, МестоВыплаты, ЗарплатныйПроект1, ЗарплатныйПроект)
Запрос = Новый Запрос;
Запрос.Текст = ("ВЫБРАТЬ
| МестаВыплатыЗарплатыСотру дников.МестоВыплаты КАК МестоВыплаты,
| ВедомостьНаВыплатуЗарплат ыВБанк.ЗарплатныйПроект КАК ЗарплатныйПроект1,
| ЛицевыеСчетаСотрудниковПо ЗарплатнымПроектамСрезПос ледних.ЗарплатныйПроект КАК ЗарплатныйПроект
|ИЗ
| РегистрСведений.МестаВыпл� �тыЗарплатыСотрудников КАК МестаВыплатыЗарплатыСотру дников
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВедомостьНаВыпла� �уЗарплатыВБанк КАК ВедомостьНаВыплатуЗарплат ыВБанк
| ПО (ВедомостьНаВыплатуЗарпла� �ыВБанк.ЗарплатныйПроект = МестаВыплатыЗарплатыСотру дников.ФизическоеЛицо),
| РегистрСведений.ЛицевыеСч� �таСотрудниковПоЗарплатны� �Проектам.СрезПоследних КАК ЛицевыеСчетаСотрудниковПо ЗарплатнымПроектамСрезПос ледних");
Запрос.УстановитьПараметр("МестоВыплаты", МестоВыплаты);
Запрос.УстановитьПараметр("ЗарплатныйПроект1", ЗарплатныйПроект1);
Запрос.УстановитьПараметр("ЗарплатныйПроект", ЗарплатныйПроект);
Выборка = Запрос.Выполнить().Выбрать() ;
Выборка.Следующий();
Если Объект.ЗарплатныйПроект <> Выборка.МестоВыплаты
Тогда Отказ = истина;
Сообщить ("Ошибка!");
Возврат;
КонецЕсли;
КонецПроцедуры
Будьте добры укажите на мою ошибку. заранее огромное спасибо.
&НаСервере
Процедура ПередЗаписью(Отказ, ТекущийОбъект, ПараметрыЗаписи, МестоВыплаты, ЗарплатныйПроект1, ЗарплатныйПроект)
Запрос = Новый Запрос;
Запрос.Текст = ("ВЫБРАТЬ
| МестаВыплатыЗарплатыСотру дников.МестоВыплаты КАК МестоВыплаты,
| ВедомостьНаВыплатуЗарплат ыВБанк.ЗарплатныйПроект КАК ЗарплатныйПроект1,
| ЛицевыеСчетаСотрудниковПо ЗарплатнымПроектамСрезПос ледних.ЗарплатныйПроект КАК ЗарплатныйПроект
|ИЗ
| РегистрСведений.МестаВыпл� �тыЗарплатыСотрудников КАК МестаВыплатыЗарплатыСотру дников
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВедомостьНаВыпла� �уЗарплатыВБанк КАК ВедомостьНаВыплатуЗарплат ыВБанк
| ПО (ВедомостьНаВыплатуЗарпла� �ыВБанк.ЗарплатныйПроект = МестаВыплатыЗарплатыСотру дников.ФизическоеЛицо),
| РегистрСведений.ЛицевыеСч� �таСотрудниковПоЗарплатны� �Проектам.СрезПоследних КАК ЛицевыеСчетаСотрудниковПо ЗарплатнымПроектамСрезПос ледних");
Запрос.УстановитьПараметр("МестоВыплаты", МестоВыплаты);
Запрос.УстановитьПараметр("ЗарплатныйПроект1", ЗарплатныйПроект1);
Запрос.УстановитьПараметр("ЗарплатныйПроект", ЗарплатныйПроект);
Выборка = Запрос.Выполнить().Выбрать() ;
Выборка.Следующий();
Если Объект.ЗарплатныйПроект <> Выборка.МестоВыплаты
Тогда Отказ = истина;
Сообщить ("Ошибка!");
Возврат;
КонецЕсли;
КонецПроцедуры
Будьте добры укажите на мою ошибку. заранее огромное спасибо.