Запрос из kad.txt Select id,tn,substr(fam,1,30),date_uv,date_prin,nam,ot,(select string(zc.year,'.',zc.month) from z_countperiod zc where zc.id=id_beginwork) as beg_work,docseria,docnumber,docdate,docgive,string(inn),string(regnu),dateformat(birth_date,'dd.mm.yyyy'),(select zd.nm from z_type_doc zd where zd.id=id_doc),dolg,numdog,date_dog,(select zt.nm from z_dog_types zt where zt.id=dog_type),(select v.nm from voc_names v where v.id=id_dep),(select o.nm from okin o where o.id=id_citizenship),(select o.nm from okin o where o.id=id_educ),(select kp.nm from kad_prof kp where kp.id=id_dolg),(select string(c.nm_short,';',za.reg,';',za.rn,';',za.gor,';',za.np,';',za.ul,';',za.dom,';',za.kor,';',za.kv,';',za.postindex,';',za.sc_gor,';',za.sc_np,';',za.sc_rn,';',za.sc_reg,';',za.sc_ul,';',za.code) from country c,z_address za where c.id=za.id_country and za.id=id_adr) from kad where id_endwork>140 or id_endwork is null and (date_uv is null or date_uv>'2013-12-31') order by fam alter FUNCTION "DBA"."user_unload_tn"( in ai_id_jmat integer) RETURNS long varchar BEGIN declare ls_xml long varchar; declare ls_sql long varchar; set ls_xml=''; for da as da_cursor4 dynamic scroll cursor for select string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot)) as _fio, string(kad.tn) as _tn from kad where isnull(id_endwork,141)>=141 and kad.id>0 do set ls_xml=ls_xml+' Сотр="'+_fio+'";ТабНомер="'+string(_tn)+'"; Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.СотрудникиОрганизаций КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование",Сотр); Выборка=Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект(); Запись.Код=ТабНомер;Запись.Записать();КонецЦикла; ' end for; set ls_sql=xp_write_file('e:\khb.txt',ls_xml); return (0) end alter FUNCTION "DBA"."user_unload_sotrudniki_prem"( in ai_id_jmat integer) RETURNS long varchar BEGIN declare ls_xml long varchar; declare ls_sql long varchar; set ls_xml='Запрос=Новый Запрос;Запрос.Текст="Выбрать В.ссылка из Документы.ВводПостоянногоНачисленияИлиУдержанияСотрудникамОрганизации как В где В.номер=&Номер";Запрос.УстановитьПараметр("Номер","00000000005"); Выборка=Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();'; for da as da_cursor3 dynamic scroll cursor for select z.id_emp as ai_emp, string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot)) AS kad_nm, z.nsum as nsum from z_nach z,kad where z.id_period=141 and z.id_emp=kad.id and z.id_nach=24 do set ls_xml=ls_xml+' Сотр="'+kad_nm+'";ТЧ=Запись.ОсновныеНачисления.Добавить(); ТЧ.Сотрудник=Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(Сотр); ТЧ.ФизЛицо=Справочники.ФизическиеЛица.НайтиПоНаименованию(Сотр);ТЧ.Показатель1="'+string(nsum)+'"; '; end for; set ls_xml=ls_xml+'Запись.Записать(); конец цикла'; set ls_sql=xp_write_file('e:\mos.txt',ls_xml); return (0) end alter FUNCTION "DBA"."user_unload_sotrudniki"( in ai_id_jmat integer) RETURNS long varchar BEGIN declare ls_xml long varchar; declare ls_sql long varchar; set ls_xml=''; for da as da_cursor3 dynamic scroll cursor for select kad.id as ai_emp from kad where isnull(id_endwork,141)>=140 and ai_emp>0 do set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20120101";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=114 and z.id_period<=114 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20120201";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=114 and z.id_period<=115 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20120301";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=114 and z.id_period<=116 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20120401";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=114 and z.id_period<=117 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20120501";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=114 and z.id_period<=118 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20120601";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=114 and z.id_period<=119 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20120701";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=114 and z.id_period<=120 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20120801";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=114 and z.id_period<=121 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20120901";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=114 and z.id_period<=122 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20121001";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=114 and z.id_period<=123 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20121101";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=114 and z.id_period<=124 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20121201";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=114 and z.id_period<=125 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20130101";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=126 and z.id_period<=126 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20130201";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=126 and z.id_period<=127 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20130301";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=126 and z.id_period<=128 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20130401";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=126 and z.id_period<=131 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20130501";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=126 and z.id_period<=133 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20130601";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=126 and z.id_period<=134 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20130701";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=126 and z.id_period<=135 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20130801";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=126 and z.id_period<=136 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20130901";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=126 and z.id_period<=137 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20131001";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=126 and z.id_period<=138 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20131101";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=126 and z.id_period<=139 group by kad.fam,kad.ot,kad.nam),'')); set ls_xml=ls_xml+' '+(select isnull((select 'Запрос=Новый Запрос;Запрос.Текст="ВЫБРАТЬ ФЛ.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФЛ ГДЕ ФЛ.Наименование=&Наименование";Запрос.УстановитьПараметр("Наименование","'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'");Выборка=Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() Цикл Запись=Выборка.Ссылка.ПолучитьОбъект();НаборЗаписей =РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьМенеджерЗаписи();НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.МесяцНалоговогоПериода = "20131201";НаборЗаписей.ФизЛицо = Запись.Ссылка;НаборЗаписей.Размер="'+string(sum(nsum))+'";НаборЗаписей.Записать();КонецЦикла;' from z_nach z,z_countperiod zc,kad where zc.id=z.id_period and kad.id=z.id_emp and kad.id=ai_emp and z.n8<>0 and z.id_period>=126 and z.id_period<=140 group by kad.fam,kad.ot,kad.nam),'')) end for; set ls_sql=xp_write_file('e:\dd.txt',ls_xml); return (0) end create FUNCTION "DBA"."user_unload_sotrudniki_bol"( in ai_id_jmat integer) RETURNS long varchar BEGIN declare ls_xml long varchar; declare ls_sql long varchar; set ls_xml=''; for da as da_cursor3 dynamic scroll cursor for select kad.id as ai_emp,f_get_work_days(if kad.date_prin>'2012-01-01' then dateformat(kad.date_prin,'yyyymmdd') else '2012-01-01' endif,'2012-12-31',ai_emp) as ad_2012,f_get_work_days(if kad.date_prin>'2013-01-01' then dateformat(kad.date_prin,'yyyymmdd') else '2013-01-01' endif,'2013-12-31',ai_emp) as ad_2013 from kad where isnull(id_endwork,141)>=141 and ai_emp>0 do set ls_xml=ls_xml+' '+(select isnull((select ' Спр = Документы.СправкаДругогоСтрахователяОЗаработке.СоздатьДокумент();Спр.Дата="20140101";Спр.Организация=Справочники.Организации.НайтиПоКоду("000000001",1); Сотр="'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'"; Спр.Сотрудник=Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(Сотр); Спр.ФизЛицо=Справочники.ФизическиеЛица.НайтиПоНаименованию(Сотр); Спр.Страхователь=Справочники.Работодатели.НайтиПоКоду("000000001"); Спр.ПериодРаботыС="'+if kad.date_prin>'2012-01-01' then dateformat(kad.date_prin,'yyyymmdd') else '20120101' endif+'"; Спр.ПериодРаботыПо="20131231"; ТЧ=Спр.ДанныеОЗаработке.Добавить(); ТЧ.РасчетныйГод="2012"; ТЧ.Заработок="'+(select string(isnull(sum(z.pb105),0)) from z_empcard z where z.id_period>=115 and z.id_period<=126 and z.id_emp=ai_emp) +'"; ТЧ.ДнейБолезниУходаЗаДетьми="'+(select string(isnull(ad_2012-sum(z.pb108),0)) from z_empcard z where z.id_period>=115 and z.id_period<=126 and z.id_emp=ai_emp) +'"; ТЧ=Спр.ДанныеОЗаработке.Добавить(); ТЧ.РасчетныйГод="2013"; ТЧ.Заработок="'+(select string(isnull(sum(z.pb105),0)) from z_empcard z where z.id_period>=127 and z.id_period<=141 and z.id_emp=ai_emp) +'"; ТЧ.ДнейБолезниУходаЗаДетьми="'+(select string(isnull(ad_2013-sum(z.pb108),0)) from z_empcard z where z.id_period>=127 and z.id_period<=141 and z.id_emp=ai_emp) +'";Спр.Записать(РежимЗаписиДокумента.Проведение);;' from kad where kad.id=ai_emp),'')) end for; set ls_sql=xp_write_file('e:\dd.txt',ls_xml); return (0) end create FUNCTION "DBA"."user_unload_sotrudniki_bank"( in ai_id_jmat integer) RETURNS long varchar BEGIN declare ls_xml long varchar; declare ls_sql long varchar; set ls_xml=''; for da as da_cursor3 dynamic scroll cursor for select kad.id as ai_emp from kad where isnull(id_endwork,141)>=141 and ai_emp>0 do set ls_xml=ls_xml+' '+(select isnull((select 'НаборЗаписей = РегистрыСведений.ЛицевыеСчетаРаботниковОрганизации.СоздатьМенеджерЗаписи();НаборЗаписей.Физлицо=Справочники.ФизическиеЛица.НайтиПоНаименованию("'+string(trim(kad.fam),' ',trim(kad.nam),' ',trim(kad.ot))+'",1);НаборЗаписей.Организация = Справочники.Организации.НайтиПоКоду("000000001",1);НаборЗаписей.Банк=Справочники.Контрагенты.НайтиПоКоду("000000001");НаборЗаписей.НомерЛицевогоСчета="'+string(z.pb_bank_count)+'";НаборЗаписей.Записать();' from kad,z_empcard z where z.id_emp=kad.id and kad.id=ai_emp and z.id_period=141),'')) end for; set ls_sql=xp_write_file('e:\dd.txt',ls_xml); return (0) end