Имя: Пароль:
1C
1С v8
ЗУП: отчет по выплатам договорникам (поле "Комментарий")
0 листопад
 
29.06.14
12:09
ЗУП
Подскажите, как в запрос вытянуть содержимое поля "Комментарий" из док-та "Договор на выполнение работ с ФЛ"?

Вот код:


ВЫБРАТЬ
    ВзаиморасчетыСРаботникамиОрганизаций.Физлицо КАК Физлицо,
    СУММА(ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов
ИЗ
    РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
ГДЕ
    ВЫРАЗИТЬ(ВзаиморасчетыСРаботникамиОрганизаций.Регистратор.Комментарий КАК СТРОКА(50)) ПОДОБНО "%АГЕНТЫ%"
    И ВзаиморасчетыСРаботникамиОрганизаций.Период МЕЖДУ &ДатаНач И &ДатаКон
    И ВзаиморасчетыСРаботникамиОрганизаций.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)

СГРУППИРОВАТЬ ПО
    ВзаиморасчетыСРаботникамиОрганизаций.Физлицо

УПОРЯДОЧИТЬ ПО
    Физлицо


Трудность в том, что незнаю как соединить регистр ВзаиморасчетыСРаботникамиОрганизаций и док-т "Договор на выполнение работ с ФЛ".
1 листопад
 
29.06.14
12:15
Т.е. сначала создается док-т "Договор на выполнение работ с ФЛ", затем док-т "НачислениеЗП". И вот этот док-т "НачислениеЗП" является регистратором у регистра ВзаиморасчетыСРаботникамиОрганизаций.
2 sanja26
 
29.06.14
12:16
отбор по комментарию)). выбор регистратор ссылка нужный документ тогда твойкоммент
3 sanja26
 
29.06.14
12:17
+(2) тогда смотри движения документа и соединяй по физлицу
4 mistеr
 
29.06.14
12:23
(1) При заполнении дока Начисление зарплаты вытаскиваются договора. Посмотри там.
5 листопад
 
29.06.14
12:27
(2) Не получится, т.к. мне надо получить сколько мы ВЫПЛАТИЛИ договорникам за период, для этого я в условиях добавила ограничение, что рассматривать только док-ты "Зарплата к выплате", у которых:
- ВидДвиженияНакопления = Расход
- в комментариях стоит "Агент"

Т.е. док-т "НачислениеЗП" изначально не попадет в выборку.
6 листопад
 
29.06.14
12:34
(4) В док-те "НачислениеЗП" есть табличная часть "ДоговорыНаВыполнениеРабот":
http://s019.radikal.ru/i613/1406/3a/d5b2e702b816.jpg

Как это все связать с регистром ВзаиморасчетыСРаботникамиОрганизаций?
7 листопад
 
29.06.14
12:39
Подскажите, может я иду не в том направлении? Изначально задача состоит в том, чтобы получить сколько мы ВЫПЛАТИЛИ договорникам за период, и подтянуть комментарий из док-та "ДоговорыНаВыполнениеРабот".
Поэтому, может надо строить запрос не по регистру ВзаиморасчетыСРаботникамиОрганизаций, а просто перебрать док-ты "ДоговорыНаВыполнениеРабот", у которых срок договора (у нас они вносятся ежемесячно) попадает в нужный мне период.
8 листопад
 
29.06.14
12:44
+(7) Нет, так не получится, т.к. в док-те "ДоговорыНаВыполнениеРабот" суммы с НДФЛ. А мне надо, сколько фактически выплатили на руки - для это надо анализировать как в (0) регистр ВзаиморасчетыСРаботникамиОрганизаций. Т.е. возращаемся к исходному запросу в (0) - как добраться из регистра до док-та "ДоговорыНаВыполнениеРабот", к комментарию???
9 листопад
 
29.06.14
12:47
(3) Док-т "ДоговорыНаВыполнениеРабот" делает движение по одному регистру сведений "ПлановыеНачисленияСотрудников".
10 sanja26
 
29.06.14
13:06
(9) попробуй соединить по периоду и физ лицу 2 эти регистра. вообще еще вид начисления неплохо бы в соединение
11 листопад
 
29.06.14
13:07
В Консоли попробовала просто вытянуть отдельным запросом поле Комментарий из док-та "ДоговорыНаВыполнениеРабот". Выдал ошибку:
Недопустимое поле для группировки "Комментарий".
Это что же получается, я даже вытянуть его не смогу просто из док-та??? Как быть? До других реквизитов - дотягиваюсь нормально, без ошибок!
12 листопад
 
29.06.14
13:22
(11) Теперь выдает синтаксич.ошибку перед вторым КАК:

ВЫРАЗИТЬ (ДоговорНаВыполнениеРаботСФизЛицом.Комментарий КАК СТРОКА(50)) КАК Комментарий
13 листопад
 
29.06.14
13:27
(11), (12) можно не читать, разобралась.
14 листопад
 
29.06.14
13:27
Остается открытым вопрос в (0).
15 листопад
 
29.06.14
14:23
Ап!
16 kumena
 
29.06.14
15:31
(15) зачем знать выплаты отдельно по договорникам?

В док-те "НачислениеЗП" есть табличная часть "ДоговорыНаВыполнениеРабот":
http://s019.radikal.ru/i613/1406/3a/d5b2e702b816.jpg

Как это все связать с регистром ВзаиморасчетыСРаботникамиОрганизаций?

да никак, там сотрудники тут физлица.
дорабатывайте выплату, если уж очень надо это знать.
17 листопад
 
29.06.14
15:34
(16) Это для внутренней отчетности для другого отдела.
18 kumena
 
29.06.14
15:35
+16
связать теоритически можно, только надо анализировать зарплату сотрудников одновременно в запросе, а потом её делить по сотрудникам, такой запрос мне кажется вам не написать.

при этом надо сначала решить как делить эту зарплату по сотрудникам
19 kumena
 
29.06.14
15:36
блин, "сотрудников одновременно " одновременно работающих
20 kumena
 
29.06.14
15:37
если вся начисленная зарплата выплачивается то можно увидеть это и в зарплатных отчетах по начислению
21 листопад
 
29.06.14
15:37
Нужные мне суммы (сумма на руки, без НДФЛ) есть в регистре ВзаиморасчетыСРаботникамиОрганизаций. А к док-ту "ДоговорыНаВыполнениеРабот" я обращаюсь, т.к. в нем есть поле Комментарий. Только из-за этого, т.к. мне надо вытянуть содержимое из поля Комментарий.
22 листопад
 
29.06.14
15:39
Написала запрос, но он сумму показывает итоговую по всем договорам:

ВЫБРАТЬ
    ВзаиморасчетыСРаботникамиОрганизаций.Физлицо КАК Физлицо,
    СУММА(ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов
ПОМЕСТИТЬ Взаиморасчеты
ИЗ
    РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
ГДЕ
    ВЫРАЗИТЬ(ВзаиморасчетыСРаботникамиОрганизаций.Регистратор.Комментарий КАК СТРОКА(50)) ПОДОБНО "%АГЕНТЫ%"
    И ВзаиморасчетыСРаботникамиОрганизаций.Период МЕЖДУ &ДатаНач И &ДатаКон
    И ВзаиморасчетыСРаботникамиОрганизаций.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)

СГРУППИРОВАТЬ ПО
    ВзаиморасчетыСРаботникамиОрганизаций.Физлицо
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Взаиморасчеты.Физлицо,
    Взаиморасчеты.СуммаВзаиморасчетов,
    ДоговорНаВыполнениеРаботСФизЛицом.Комментарий
ИЗ
    Взаиморасчеты КАК Взаиморасчеты
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом
        ПО Взаиморасчеты.Физлицо = ДоговорНаВыполнениеРаботСФизЛицом.ФизЛицо
23 kumena
 
29.06.14
15:39
а что такого важного в этом комментарии?
24 kumena
 
29.06.14
15:41
запрос по суммам делайте по регистрам расчета, ндфл - по регитстрам накопления. так будет правильней. Удачи вобщем!!!
25 листопад
 
29.06.14
15:46
(22) Выводится:

Иванов   7000   Комментарий1
Иванов   7000   Комментарий2


А надо:

Иванов   5000   Комментарий1
Иванов   2000   Комментарий2

Т.к. у Иванова было два док-та "ДоговорНаВыполнениеРаботСФизЛицом".
26 листопад
 
29.06.14
15:47
(24) Суммы по НДФЛ мне вообще не нужны.
27 ИсчадиеADO
 
29.06.14
15:55
как то так

ВЫБРАТЬ
    ВзаиморасчетыСРаботникамиОрганизаций.Физлицо КАК Физлицо,
    ВЫРАЗИТЬ(ДоговорНаВыполнениеРаботСФизЛицом.Комментарий КАК СТРОКА(50)) КАК Коментарий,
    СУММА(ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов
ПОМЕСТИТЬ Взаиморасчеты
ИЗ
    РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом
ПО
    ВзаиморасчетыСРаботникамиОрганизаций.Регистратор = ДоговорНаВыполнениеРаботСФизЛицом.Ссылка    
ГДЕ
    ВЫРАЗИТЬ(ДоговорНаВыполнениеРаботСФизЛицом.Комментарий КАК СТРОКА(50)) ПОДОБНО "%АГЕНТЫ%"
    И ВзаиморасчетыСРаботникамиОрганизаций.Период МЕЖДУ &ДатаНач И &ДатаКон
    И ВзаиморасчетыСРаботникамиОрганизаций.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)

СГРУППИРОВАТЬ ПО
    ВзаиморасчетыСРаботникамиОрганизаций.Физлицо,
    ВЫРАЗИТЬ(ДоговорНаВыполнениеРаботСФизЛицом.Комментарий КАК СТРОКА(50))
28 ИсчадиеADO
 
29.06.14
15:56
и вместо физич. таблицы, лучше обороты взять
29 листопад
 
29.06.14
16:15
(27) Пишет: не установлен менеджер временных таблиц.
30 ИсчадиеADO
 
29.06.14
16:18
(29) убери ПОМЕСТИТЬ Взаиморасчеты. забыл :)
31 kumena
 
29.06.14
16:23
ага, умник нашелся

ДоговорНаВыполнениеРаботСФизЛицом

только плановые регистрирует
32 листопад
 
29.06.14
16:24
(30) Поправила. Запрос ничего не выдает, потому что напрямую Док-т ДоговорНаВыполнениеРаботСФизЛицом не является регистратором у регистра ВзаиморасчетыСРаботникамиОрганизаций. Я писала об этом в (1).
33 ИсчадиеADO
 
29.06.14
16:25
(31) так ей то и нужно, не?
34 ИсчадиеADO
 
29.06.14
16:25
(32) ладно, не дочитал
35 kumena
 
29.06.14
16:28
ей нужно что то типа

выбрать
Сотрудник
,результат

Из РегистрРасчета.ДополнительныеНачисления

где Сотрудник.виддоговора = дгпх
и видРасчета.способРасчета = поДГПХ
36 листопад
 
29.06.14
16:28
В принципе, сейчас выводится в виде:

Иванов   7000   Комментарий1
Иванов   7000   Комментарий2


Мне и нужна итоговая общая сумма 7000. А можно только как-то развернуть отчет, чтобы эти две строчки были одной строкой:

Иванов   7000   Комментрарий1, Комментарий2
37 kumena
 
29.06.14
16:34
если на 23 пост ответ дадите то я попробую подсказать
38 ИсчадиеADO
 
29.06.14
16:35
(35) в рег. расчета - это начисленная, а она пишет в (7), что ей нужна выплаченная
39 kumena
 
29.06.14
16:39
в 26 посте она ответила что суммы ндфл ей вообще не нужны
40 листопад
 
29.06.14
16:44
(37) Секрета никакого нет - в комментариях написаны номера актов, за которые выплачивается вознаграждение.
41 листопад
 
29.06.14
16:45
(38) Да, Вы правы, мне нужна именно ВЫПЛАЧЕННАЯ сумма.
42 листопад
 
29.06.14
16:46
(39) Все правильно: ВЫПЛАЧЕННЫЕ суммы уже без НДФЛ мне и нужны. Для этого и использую регистр ВзаиморасчетыСРаботникамиОрганизаций.
43 kumena
 
29.06.14
16:52
добавьте в запрос ВзаиморасчетыСРаботникамиОрганизаций.Регистратор.Сотрудник и в сгрупировать тоже
44 kumena
 
29.06.14
16:52
вместо физлица
45 Отладчик
 
29.06.14
16:53
ВЫБРАТЬ ВЫПЛАЧЕННЫЕ РАЗЛИЧНЫЕ СТОРНО
46 листопад
 
29.06.14
16:54
(45) Это как???
47 ИсчадиеADO
 
29.06.14
16:56
глянул зуп 2.5. Там по рег.ВзаиморасчетыСРаботникамиОрганизаций док. начисление зп делает приход, а не расход :)  Т.е. задача еще интереснее :)
48 листопад
 
29.06.14
17:04
(47) Да, об этом я и писала в (5). Поэтому у меня в условии и стоит:

И ВзаиморасчетыСРаботникамиОрганизаций.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
49 ИсчадиеADO
 
29.06.14
17:06
(48) а как ты вышла на док. НачислениеЗП?
50 Отладчик
 
29.06.14
17:06
(46) Это в Предприятие 8.4.
51 ИсчадиеADO
 
29.06.14
17:09
вот если физлицу начисляют зп по двум договорам + еще основную работу в одном док-те, потом было неск. выплат, то что именно еще не было выплаченно? Осн. работа, или работа по договору?
52 ИсчадиеADO
 
29.06.14
17:12
(50) гость из будущего :) уже столько ответов получил :)
53 ИсчадиеADO
 
29.06.14
17:27
(0) проще забить, если возможно.
или пойти на некоторые допущения, типа (20)

даже если ты соберешь инфу, какой док-т расхода закрывает какой док-т прихода по этому регистру, то тебе все равно нужно будет анализировать док-т начисления, и идти на некие допущения: типа сначала оплачивается сумма осн. начислений, а уж потом договоров. Или что по одному сотр. таких ситуаций нет. Короче не храниться инфа в бд в нужном тебе разрезе
54 листопад
 
29.06.14
17:34
(51) Это будут только договорники - 100%, для этого, я в условии указала, что:
ВЫРАЗИТЬ(ВзаиморасчетыСРаботникамиОрганизаций.Регистратор.Комментарий КАК СТРОКА(50)) ПОДОБНО "%АГЕНТЫ%"

Т.к. при выплате им зарплаты, док-том ЗПКВЫплате, в комментариях мы пишем слово АГЕНТЫ.
55 листопад
 
29.06.14
17:37
(53) Зачем так все усложнять? Осн.начислений по таким людям не будет. ТОЛЬКО ДОГОВОРА. Надо только вытянуть в отчет за определенный период:
- ФИО
- Сумму (выплата на руки)
- Комментарий (из док-та ДоговорНаВыполнениеРаботСФизЛицом)

Не думала, что это будет так сложно!!!
56 ИсчадиеADO
 
29.06.14
18:02
а если в док-те Начисление ЗП указано 2 договора по 1 физлицу?

документ Начисление зп можно получить правильно, но сложно, или проще, но веротно не правильно, как ближайший проведенный документ "выплата к зп" к твоему регистратору
57 листопад
 
29.06.14
18:12
(56) Такого не может быть: за один период (месяц) вводится только один док-т ДоговорНаВыполнениеРаботСФизЛицом.
58 ИсчадиеADO
 
29.06.14
18:16
(57) тогда переформулируй так "как к сумме из регистра прицепить комментарий из ближайшего к регистратору проведенного документа ДоговорНаВыполнениеРаботСФизЛицом?" - тогда проще пареной репы. Но запрос быдет выдавать корректные данные только при соблюдении всех допущений
59 листопад
 
29.06.14
18:36
(58) Да, можно и так сформулировать. Но как это реализовать? В (22) у меня не получилось...
60 ИсчадиеADO
 
29.06.14
19:21
(59) так, но это с допущениями


ВЫБРАТЬ
    ВзаиморасчетыСРаботникамиОрганизаций.Физлицо КАК Физлицо,
    ВзаиморасчетыСРаботникамиОрганизаций.Период КАК Период,
    СУММА(ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов
ПОМЕСТИТЬ Взаиморасчеты
ИЗ
    РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
ГДЕ
    ВЫРАЗИТЬ(ВзаиморасчетыСРаботникамиОрганизаций.Регистратор.Комментарий КАК СТРОКА(50)) ПОДОБНО "%АГЕНТЫ%"
    ВзаиморасчетыСРаботникамиОрганизаций.Период МЕЖДУ &ДатаНач И &ДатаКон
    И ВзаиморасчетыСРаботникамиОрганизаций.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)

СГРУППИРОВАТЬ ПО
    ВзаиморасчетыСРаботникамиОрганизаций.Физлицо,
    ВзаиморасчетыСРаботникамиОрганизаций.Период
;

////////////////////////////////////////////////////////////////////////////////

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

ВЫБРАТЬ
    Т.Физлицо,
    Т.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
    ЕСТЬNULL(Доки.Комментарий,"") КАК Комментарий    
ИЗ
    (ВЫБРАТЬ
        Взаиморасчеты.Физлицо,
        Взаиморасчеты.Период,
        МАКСИМУМ(Взаиморасчеты.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
        МАКСИМУМ(Доки.Дата) КАК ДатаДока
    ИЗ
        Взаиморасчеты КАК Взаиморасчеты
    ЛЕВОЕ СОЕДИНЕНИЕ
        Доки    КАК Доки
    ПО
        Взаиморасчеты.Период >= Доки.Дата
        И Взаиморасчеты.ФизЛицо = Доки.ФизЛицо
    СГРУППИРОВАТЬ ПО
        Взаиморасчеты.Физлицо,
        Взаиморасчеты.Период        
    ) КАК Т
ЛЕВОЕ СОЕДИНЕНИЕ
    Доки    КАК Доки
ПО
    Т.ДатаДока = Доки.Дата
    И Т.ФизЛицо = Доки.ФизЛицо
61 листопад
 
29.06.14
20:26
(60) Спасибо. Но почему-то, если в выборку попадают несколько договоров, то выводит комментарий только у последнего договора.
62 ИсчадиеADO
 
29.06.14
20:29
(61) документы выплаты зп в разных периодах?
63 ИсчадиеADO
 
29.06.14
20:34
листопад
давай тим вьювер, гляну :)
64 листопад
 
29.06.14
20:43
Моя почта [email protected]
Напишите, пож-та на нее. Я Вам напишу данные и Вы подключитесь. Спасибо.
65 ИсчадиеADO
 
29.06.14
20:48
отправил же