Имя: Пароль:
1C
1С v8
v8: Чем отладить запрос?
,
0 Морозов Александр
 
26.01.12
06:03
в ЗУП 2.5.45.2 есть функция ДанныеОДоходах().... и в ней офигенный запрос со всякими левыми и правыми соединениями. :-)

А как бы это посмотреть что при формировании этого запроса происходит?

Зачем мне это надо?
Просто после переноса данных из 7.7. при формировании справки 2-НДФЛ часть суммы из расчетов с бюджетом почему-то попадает на ставку 30%. хотя в документах по переносу данных НДФЛ такой ставки вообще нет ни у кого
1 ZanderZ
 
26.01.12
06:04
консоль запросов
2 Морозов Александр
 
26.01.12
06:05
(1)И где и как?
3 Wobland
 
26.01.12
06:07
режим дерева запросов в консоли инструменов разработчика не облегчит ли жизнь в таких случаях?
4 dva1c
 
26.01.12
06:08
(2) Можно взять здесь http://chistov.spb.ru/publ/2-1-0-9
5 ZanderZ
 
26.01.12
06:25
(2) я этим пользуюсь http://rghost.ru/36123562
6 Wobland
 
26.01.12
06:36
(5) интересная штучка, спасибо
7 dva1c
 
26.01.12
06:44
(5) Тоже забрал. Спасибо!
8 Морозов Александр
 
26.01.12
06:48
чет однако ... фиг у меня что получится
9 alkov
 
26.01.12
06:56
(3) Что такое консоль инструментов разработчика и где на неё можно посмотреть?
10 Wobland
 
26.01.12
06:57
11 kosts
 
26.01.12
06:58
(0) Можно так, помогает по быстрому взглянуть на результаты временных таблиц в запросе.
Делаешь примерно такую функция в своем общем модуле
1.

Функция ВТ(Запрос, Таблица, ТН = Неопределено ) экспорт
   
   Запрос.Текст = "Выбрать * из " + Таблица + " как " + Таблица;
   Возврат Запрос.Выполнить().Выгрузить();
   
КонецФункции

2. В отладчике ставишь точку останова после Запрос.Выполнить()
3. В табло пишешь выражение

ТвойМодуль.ВТ(Запрос, "ВТПраздники");

Потом на этой строке в табло нажимаешь F2 и видишь результат временной таблицы.
12 Морозов Александр
 
26.01.12
07:23
(11) угу так просто :-)
13 Dен
 
26.01.12
07:27
(0) Ставка 30% применяется для сотрудников, неявляющихся резидентами РФ. Посмотрите статус налогоплательщика по проблемным сотрудникам.
14 alkov
 
26.01.12
07:36
(10) Премного благодарен
15 Морозов Александр
 
26.01.12
07:41
(13) Ну.. вот я смотрю Временные таблицы запроса

ВТПеречисленоНДФЛПоМесяцам


Индекс    Значение элемента    Тип элемента    Ставка    ФизЛицо    СуммаРасход    МесяцНалоговогоПериода
0    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    13%    Авдеев Игорь Викторович    2 426,51    01.04.2011 0:00:00
1    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    13%    Авдеев Игорь Викторович    3 448,17    01.10.2011 0:00:00
2    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    13%    Авдеев Игорь Викторович    3 674,97    01.09.2011 0:00:00
3    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    13%    Авдеев Игорь Викторович    4 216,86    01.08.2011 0:00:00
4    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    13%    Авдеев Игорь Викторович    4 632,12    01.07.2011 0:00:00
5    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    13%    Авдеев Игорь Викторович    3 453,26    01.06.2011 0:00:00
6    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    13%    Авдеев Игорь Викторович    2 881,73    01.12.2011 0:00:00
7    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    13%    Авдеев Игорь Викторович    3 376,84    01.05.2011 0:00:00
8    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    13%    Авдеев Игорь Викторович    243,54    01.11.2011 0:00:00

А вот таблица ВТПеречисленоНДФЛ

Индекс    Значение элемента    Тип элемента    Ставка    ФизЛицо    Сумма
0    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    13%    Авдеев Игорь Викторович    28 110,46
1    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    30%    Авдеев Игорь Викторович    243,54

Откуда она берет ставку 30% вообще не понятно.

З.Ы. Человек "Резидент", я ему выставил с 1 января 2010 года и историю проглядел.... нифига не помогает
16 Морозов Александр
 
26.01.12
07:44
Еще может быть проблема в том, что в Ноябре 2011 года была уплата в бюджет, но не было НДФЛ ни удержанного ни начисленного, потому как в отпуске.
17 Dен
 
26.01.12
07:49
(15) Перечисление НФДЛ хранится в регистре накопления "РасчетыНалоговыхАгентовСБюджетомПоНДФЛ".
18 Морозов Александр
 
26.01.12
07:52
(17)Да... Я уже все проглядел, в первой то таблице нет такой ставки.
19 Морозов Александр
 
26.01.12
07:52
тут что-то с запросом
20 Морозов Александр
 
26.01.12
07:55
Тут где-то собака порылась:

ВЫБРАТЬ
   |    Перечислено.Ставка,
   |    Перечислено.ФизЛицо,
   |    СУММА(Перечислено.Сумма) КАК Сумма
   |ПОМЕСТИТЬ ВТПеречисленоНДФЛ
   |ИЗ
   |    (ВЫБРАТЬ
   |        РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.Ставка КАК Ставка,
   |        РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.ФизЛицо КАК ФизЛицо,
   |        РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.СуммаРасход КАК Сумма
   |    ИЗ
   |        ВТПеречисленоНДФЛПоМесяцам КАК РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты
   |    ГДЕ
   |        (НЕ РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.Ставка В (ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30), ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13)))
   |    
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30),
   |        РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.ФизЛицо,
   |        ВЫБОР
   |            КОГДА ЕСТЬNULL(УдержаноНДФЛПоСтавке13.Налог, 0) = 0
   |                ТОГДА РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.СуммаРасход
   |            КОГДА ЕСТЬNULL(УдержаноНДФЛПоСтавке30.Налог, 0) + ЕСТЬNULL(УдержаноНДФЛПоСтавке13.Налог, 0) = 0
   |                ТОГДА РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.СуммаРасход
   |            ИНАЧЕ ВЫРАЗИТЬ(РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.СуммаРасход * ЕСТЬNULL(УдержаноНДФЛПоСтавке30.Налог, 0) / (ЕСТЬNULL(УдержаноНДФЛПоСтавке30.Налог, 0) + ЕСТЬNULL(УдержаноНДФЛПоСтавке13.Налог, 0)) КАК ЧИСЛО(22, 0))
   |        КОНЕЦ
   |    ИЗ
   |        ВТПеречисленоНДФЛПоМесяцам КАК РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты
   |            ЛЕВОЕ СОЕДИНЕНИЕ ВТУдержаноНДФЛПоМесяцам КАК УдержаноНДФЛПоСтавке13
   |            ПО РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.ФизЛицо = УдержаноНДФЛПоСтавке13.ФизЛицо
   |                И РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.МесяцНалоговогоПериода = УдержаноНДФЛПоСтавке13.МесяцНалоговогоПериода
   |                И (УдержаноНДФЛПоСтавке13.Ставка = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13))
   |            ЛЕВОЕ СОЕДИНЕНИЕ ВТУдержаноНДФЛПоМесяцам КАК УдержаноНДФЛПоСтавке30
   |            ПО РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.ФизЛицо = УдержаноНДФЛПоСтавке30.ФизЛицо
   |                И РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.МесяцНалоговогоПериода = УдержаноНДФЛПоСтавке30.МесяцНалоговогоПериода
   |                И (УдержаноНДФЛПоСтавке30.Ставка = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30))
   |    ГДЕ
   |        РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.Ставка В (ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30), ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13))
   |    
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13),
   |        РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.ФизЛицо,
   |        ВЫБОР
   |            КОГДА ЕСТЬNULL(УдержаноНДФЛПоСтавке13.Налог, 0) = 0
   |                ТОГДА 0
   |            КОГДА ЕСТЬNULL(УдержаноНДФЛПоСтавке30.Налог, 0) + ЕСТЬNULL(УдержаноНДФЛПоСтавке13.Налог, 0) = 0
   |                ТОГДА 0
   |            ИНАЧЕ РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.СуммаРасход - (ВЫРАЗИТЬ(РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.СуммаРасход * ЕСТЬNULL(УдержаноНДФЛПоСтавке30.Налог, 0) / (ЕСТЬNULL(УдержаноНДФЛПоСтавке30.Налог, 0) + ЕСТЬNULL(УдержаноНДФЛПоСтавке13.Налог, 0)) КАК ЧИСЛО(22, 0)))
   |        КОНЕЦ
   |    ИЗ
   |        ВТПеречисленоНДФЛПоМесяцам КАК РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты
   |            ЛЕВОЕ СОЕДИНЕНИЕ ВТУдержаноНДФЛПоМесяцам КАК УдержаноНДФЛПоСтавке13
   |            ПО РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.ФизЛицо = УдержаноНДФЛПоСтавке13.ФизЛицо
   |                И РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.МесяцНалоговогоПериода = УдержаноНДФЛПоСтавке13.МесяцНалоговогоПериода
   |                И (УдержаноНДФЛПоСтавке13.Ставка = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13))
   |            ЛЕВОЕ СОЕДИНЕНИЕ ВТУдержаноНДФЛПоМесяцам КАК УдержаноНДФЛПоСтавке30
   |            ПО РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.ФизЛицо = УдержаноНДФЛПоСтавке30.ФизЛицо
   |                И РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.МесяцНалоговогоПериода = УдержаноНДФЛПоСтавке30.МесяцНалоговогоПериода
   |                И (УдержаноНДФЛПоСтавке30.Ставка = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30))
   |    ГДЕ
   |        РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.Ставка В (ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30), ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13))) КАК Перечислено
   |
   |СГРУППИРОВАТЬ ПО
   |    Перечислено.Ставка,
   |    Перечислено.ФизЛицо
   |;
21 Морозов Александр
 
26.01.12
10:16
ну чегось? нет ни у кого идей?
22 GenV
 
26.01.12
10:19
(21) Поставь в копии (10). Точку останова перед Запрос.Выполнить. И при остановке набери в табло "Отладить(Запрос)"
23 Морозов Александр
 
26.01.12
10:25
(23) Честно говоря, я как начинающий 8-ник не смог понять как установить подсистему :-))
24 Wobland
 
26.01.12
10:26
(23) объединять надо с cf
25 Морозов Александр
 
26.01.12
10:31
(24) Объединил... при запуске милион ошибок выдает
26 Wobland
 
26.01.12
10:33
(25) модули приложения совместил?
27 Морозов Александр
 
26.01.12
10:34
Как?
28 Wobland
 
26.01.12
10:36
(27) копипастом
29 Морозов Александр
 
26.01.12
10:36
дык вот я и не понимаю чего куда скопировать
30 Wobland
 
26.01.12
10:37
(29) в модуле приложения твоей конфигурации есть переменная ирПлатформа и её инициализация?
31 GenV
 
26.01.12
10:39
(25) При объединении снимаешь все галки с "Свойства" (версия, модули приложения и т.д), потом открываешь cf и копируешь текст из модуля приложения. Часть его вставляешь в начало твоего модуля приложения, часть в конец модуля. Добавляешь пользователю права ИР.
32 Морозов Александр
 
26.01.12
10:40
:-))))))
Я нифига не понимаю ВАС...
33 GenV
 
26.01.12
10:42
(32) Ну, раз не можешь описать что не понимаешь, тогда отлаживай по другому.
34 Морозов Александр
 
26.01.12
10:43
че значит "модуль приложения твоей конфигурации"?
35 Wobland
 
26.01.12
10:44
(34) модуль приложения той конфигурации, на которую "накатываешь" ИР
36 GenV
 
26.01.12
10:44
(340 Правая кнопка на названии конфигурации
37 Морозов Александр
 
26.01.12
10:46
счас
38 Морозов Александр
 
26.01.12
10:46
давай те все попорядку
39 Морозов Александр
 
26.01.12
10:48
вот есть у меня конфа ЗУП... открываю я конфигуратор, и чего делаем 1-ым?
40 GenV
 
26.01.12
10:51
(39) :)
1 вариант. При объединении с cf снимаешь все галки с "Свойства"
2 вариант. Закрыть конфигуратор.
41 Reset
 
26.01.12
10:51
...Ищешь другую профессию
42 Reset
 
26.01.12
10:51
простите, не удержался
43 Морозов Александр
 
26.01.12
10:52
(41) Че хочешь, 1 неделю всего 8-ку открыл
44 Reset
 
26.01.12
10:53
Пол: Мужской  
Род занятий: Програмист  
Достижения (опыт): Работаю с 1С начиная с версии 2.0
45 Reset
 
26.01.12
10:54
Лан извини, наезд не в тему.
46 Морозов Александр
 
26.01.12
10:58
все вроде дошло...
47 Морозов Александр
 
26.01.12
12:30
ну продолжим...
вот кусок запроса:
ВЫБРАТЬ
   |        ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30),
   |        РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.ФизЛицо,

   |    ВЫБОР
   |            КОГДА ЕСТЬNULL(УдержаноНДФЛПоСтавке13.Налог, 0) = 0  
   |                ТОГДА РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.СуммаРасход
   |            КОГДА ЕСТЬNULL(УдержаноНДФЛПоСтавке30.Налог, 0) + ЕСТЬNULL(УдержаноНДФЛПоСтавке13.Налог, 0) = 0
   |                ТОГДА РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.СуммаРасход
   |            ИНАЧЕ ВЫРАЗИТЬ(РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.СуммаРасход * ЕСТЬNULL(УдержаноНДФЛПоСтавке30.Налог, 0) / (ЕСТЬNULL(УдержаноНДФЛПоСтавке30.Налог, 0) + ЕСТЬNULL(УдержаноНДФЛПоСтавке13.Налог, 0)) КАК ЧИСЛО(22, 0))
   |        КОНЕЦ


как видим из кода, 1С просто тупо если нет Удержаний по НДФЛ то оплату в бюджет ставит по ставке 30%... надо это дело исправить :-))
как получить статус резидента ?

есть временная таблица ВТРезидентствоФизлицНаКонецМесяца с реквизитами: ФизЛицо, МесяцНалоговогоПериода, Статус
в регистре РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты тоже есть реквизит МесяцНалоговогоПериода

Собственно как добписать условие :
КОГДА ЕСТЬNULL(УдержаноНДФЛПоСтавке30.Налог, 0) + ЕСТЬNULL(УдержаноНДФЛПоСтавке13.Налог, 0) = 0 И (Чего тут Написать?)
48 Морозов Александр
 
26.01.12
12:31
Условие типа если нет Удержаний и Статус Резидент, тогда 0