Имя: Пароль:
1C
1С v8
Помогите с запросом
0 ЮлияКолегова
 
23.12.19
13:31
За 5 лет декрета многое забыла. Помогите пожалуйста составить запрос.
В общем из регистра накопления ВзаиморосчетыСРаботникамиОрганизаций необходимо вытянуть остаток за определенный период, но при этом исключить суммы, которые хранятся в документе-регистраторе РасчетУдержаний в табличной части Погашение займов.

Есть обычный запрос, который вытягивает все суммы из регистра
      ТекстЗапросаПоЗарплате = "
      |ВЫБРАТЬ
      |   ФизЛицо,
      |   СуммаВзаиморасчетовОстаток * &парамПроцентВыплаты КАК Сумма,
      |   0 КАК ДепонированнаяСумма,
      |   &парамВыплачено КАК ВыплаченностьЗарплаты
      |ИЗ
      |   РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций.Остатки(&парамГраница, Организация = &парамОрганизация) ";

Здесь к регистратору никак не обратиться, поэтому видимо нужно использовать регистр остатки и обороты. Я начала создавать, но никак не могу вспомнить как сделать выборку с необходимым условием

ВЫБРАТЬ
   ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты.Физлицо,
   0 КАК ДепонированнаяСумма,
   &парамВыплачено КАК ВыплаченностьЗарплаты,
   ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты.СуммаВзаиморасчетовОборот КАК Сумма,
   ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты.Регистратор
ИЗ
   РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций.ОстаткиИОбороты(, , Регистратор, , Организация = &парамОрганизация) КАК ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты
1 DrWatson
 
23.12.19
14:07
(0) Просто предложу вариант. Наверняка табличная часть тут не нужна.
ИЗ
    РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций.Обороты(, , Регистратор, ) КАК Таб
ГДЕ
    НЕ Таб.Регистратор ССЫЛКА Документ.РасчетУдержаний
2 Джинн
 
23.12.19
14:08
Остатка по регистратору не бывает. Ваш Кэп.
3 vicof
 
23.12.19
14:09
(2) +1
4 elCust
 
23.12.19
14:17
...вытянуть остаток за определенный период - так не пойдет. Остаток можно получить на определенную дату, но не за период.

И потом, получите остатки, получите обороты с отбором и далее математическим подходом реализуете.
5 ЮлияКолегова
 
23.12.19
14:21
(1) В том то и дело. В том самом документе есть 4 таблицы, одновременно они могут быть заполнены и проведены все разом, но мне важно значение суммы только одной таблицы по конкретному сотруднику. В документе этом может быть список из разных сотрудников.. При чем этот отбор нужно как то осуществить сразу в запросе, так как дальше по коду идет еще много дописок к основному запросу.

Сама суть задачи вот в чем. "Прошу расмотреть возможность при формировании выплаты з/п, ислючить  сумму  по займу за следущий месяц .
При формировании документа "Зарплата к выплате", мы выбираем месяц начисления - следущий за отчетным (то есть в октябре мы ставили ноябрь).
Это делается для того что бы отпуска будущего периода и выплаченные в текущем месяце не минусовались из з/п сотрудка за текущий месяц. После автозаполнения, мы меняем месяц начисления на текущий. Подобный сценарий корректен для отпусков. Но при имеющихся у сотрудка займах, программа отнимает из з/п платеж за будующий месяц. Посмотрите пожалуйста, что нам необходимо сделать, что бы будующие платежи по займам не отнимались при выплате з/п за текущий месяц. " (запрос от бухов). Я им предложила вариант, добавить реквизит в документ - галочку, которую они будут проставлять в том случае, когда не нужно высчитывать займ
6 ЮлияКолегова
 
23.12.19
14:24
По логике, программа работает верно и начисляет все верно, но вот из-за того,что они выбирают месяц по другому им нужно переделать
7 DrWatson
 
23.12.19
14:43
(5) По методике не скажу. Я ЗУП не знаю. Чисто технически можно:
Выбрать ВсяАналитика, Сумма(ВсеСуммы) ИЗ Остатки
Объединить ВСЕ
(Выбрать ИЗ НужнаяТабЧасть ГДЕ НужныеОтборы)
Сгруппировать
   ВсяАналитика
8 DrWatson
 
23.12.19
14:45
точнее
Выбрать ОбщаяТаблица.ВсяАналитика, Сумма(ОбщаяТаблица.ВсеСуммы) ИЗ (
  Выбрать ИЗ Остатки
  Объединить ВСЕ
  (Выбрать ИЗ НужнаяТабЧасть ГДЕ НужныеОтборы)
) КАК ОбщаяТаблица
Сгруппировать
   ВсяАналитика
9 3achem
 
23.12.19
15:26
(6) бухов этих переделать надо