// Получим суммы начисленные по ФизЛицу документом НачислениеЗарплатыРаботникамОрганизаций // (отбор по Документ.НачислениеЗарплатыРаботникамОрганизаций) Запрос=новый Запрос; Запрос.Текст=" |ВЫБРАТЬ | ВзаиморасчетыСРаботникамиОрганизаций.Период, | ВзаиморасчетыСРаботникамиОрганизаций.Регистратор, | ВзаиморасчетыСРаботникамиОрганизаций.НомерСтроки, | ВзаиморасчетыСРаботникамиОрганизаций.Активность, | ВзаиморасчетыСРаботникамиОрганизаций.ВидДвижения, | ВзаиморасчетыСРаботникамиОрганизаций.Физлицо, | ВзаиморасчетыСРаботникамиОрганизаций.Организация, | ВзаиморасчетыСРаботникамиОрганизаций.ПериодВзаиморасчетов, | ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов, | ВзаиморасчетыСРаботникамиОрганизаций.ВидРасчета, | ВзаиморасчетыСРаботникамиОрганизаций.СуммаВUSD |ИЗ | РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций |ГДЕ | ВзаиморасчетыСРаботникамиОрганизаций.Физлицо = &Физлицо | И ВзаиморасчетыСРаботникамиОрганизаций.ПериодВзаиморасчетов = &ПериодВзаиморасчетов | И ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.НачислениеЗарплатыРаботникамОрганизаций | |"; Запрос.УстановитьПараметр("ПериодВзаиморасчетов",Дата("01.09.2009 0:00:00")); Запрос.УстановитьПараметр("Физлицо",Справочники.ФизическиеЛица.НайтиПоКоду("00000054")); Результат = Запрос.Выполнить(); Результат = Результат.Выбрать(); Пока Результат.Следующий() Цикл // обработка результата КонецЦикла; //Пример 2 Запрос=новый Запрос; Запрос.Текст=" |ВЫБРАТЬ | ВзаиморасчетыСРаботникамиОрганизаций.Физлицо КАК Физлицо, | ВзаиморасчетыСРаботникамиОрганизаций.ПериодВзаиморасчетов КАК ПериодВзаиморасчетов, | СУММА(ВЫБОР | КОГДА ВзаиморасчетыСРаботникамиОрганизаций.ВидРасчета В (&VidUSD) | ТОГДА ВзаиморасчетыСРаботникамиОрганизаций.СуммаВUSD | ИНАЧЕ 0 | КОНЕЦ) КАК USD, | СУММА(ВЫБОР | КОГДА (НЕ ВзаиморасчетыСРаботникамиОрганизаций.ВидРасчета В (&VidUSD)) | ТОГДА ВЫБОР | КОГДА (НЕ ВзаиморасчетыСРаботникамиОрганизаций.ВидРасчета = НЕОПРЕДЕЛЕНО) | ИЛИ ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.НачислениеОтпускаРаботникамОрганизаций | ТОГДА ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ 0 | КОНЕЦ) КАК RUB, | СУММА(ВЫБОР | КОГДА ВзаиморасчетыСРаботникамиОрганизаций.ВидРасчета = НЕОПРЕДЕЛЕНО | И ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.НачислениеЗарплатыРаботникамОрганизаций | ТОГДА ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов * -1 | ИНАЧЕ 0 | КОНЕЦ) КАК NDFL |ИЗ | РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций |ГДЕ | ВзаиморасчетыСРаботникамиОрганизаций.Физлицо = &Физлицо | И ВзаиморасчетыСРаботникамиОрганизаций.ПериодВзаиморасчетов = &ПериодВзаиморасчетов | И (ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.НачислениеЗарплатыРаботникамОрганизаций | ИЛИ ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.НачислениеОтпускаРаботникамОрганизаций) | |СГРУППИРОВАТЬ ПО | ВзаиморасчетыСРаботникамиОрганизаций.Физлицо, | ВзаиморасчетыСРаботникамиОрганизаций.ПериодВзаиморасчетов |";
//Взаиморасчеты за период, хотя, это лучше выбирать запросом , он в примере 3 Отбор = Новый Структура("Организация", Организация); НаборЗаписей = РегистрыНакопления.ВзаиморасчетыСРаботникамиОрганизаций.Выбрать(ПериодРегистрации, КонецМесяца(ПериодРегистрации), Отбор); Пока Выборка.Следующий() Цикл // код обработки например: Сум=Сум+Выборка.СуммаВзаиморасчетов; КонецЦикла;
// Посчитаем, сколько отгружено с начала года УчетНоменклатуры = РегистрыНакопления.УчетНоменклатуры; ОтборПоТовару = Новый Структура("Номенклатура"); ОтборПоТовару.Номенклатура = ВыбТовар; НачДата = НачалоГода(ТекущаяДата()); КонДата = ТекущаяДата(); Выборка = УчетНоменклатуры.Выбрать(НачДата,КонДата,ОтборПоТовару); Расход =0; Пока Выборка.Следующий() Цикл Если Выборка.ВидДвижения = ВидДвиженияНакопления.Расход Тогда Расход = Расход + Выборка.Количество; КонецЕсли; КонецЦикла; Предупреждение("Отгружено с начала года """ + СокрЛП(ВыбТовар) + """ = "+ Расход + " шт.");
Запрос=новый Запрос; Запрос.Текст=" |ВЫБРАТЬ | ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов, | ВзаиморасчетыСРаботникамиОрганизаций.СуммаВUSD, | ВзаиморасчетыСРаботникамиОрганизаций.Физлицо |ИЗ | РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций |ГДЕ | ВзаиморасчетыСРаботникамиОрганизаций.Физлицо = &Физлицо | И ВзаиморасчетыСРаботникамиОрганизаций.ПериодВзаиморасчетов = &ПериодВзаиморасчетов | И ВзаиморасчетыСРаботникамиОрганизаций.Организация = &Организация | И ВзаиморасчетыСРаботникамиОрганизаций.ХарактерВыплаты = &ХарактерВыплаты |"; Запрос.УстановитьПараметр("Организация",Организация); Запрос.УстановитьПараметр("ПериодВзаиморасчетов",ПериодРегистрации); Запрос.УстановитьПараметр("Физлицо",ТекущаяСтрока.Физлицо); Запрос.УстановитьПараметр("ХарактерВыплаты",Перечисления.ХарактерВыплатыЗарплаты.ПлановыйАванс); Результат = Запрос.Выполнить(); Результат = Результат.Выбрать(); Пока Результат.Следующий() Цикл // код обработки например: СумАванс=СумАванс+Результат.СуммаВзаиморасчетов; КонецЦикла;