Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Vladimir7115
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 2
1

В 1с Запросе не понятна строчка КОГДА ИСТИНА

17.07.2013, 08:24. Просмотров 2912. Ответов 4
Метки нет (Все метки)

Уважаемые Форумчане подскажите кто знает
В 1с 8.2 Комплексная автоматизация Регистр накопления НДФЛСведенияОДоходах Модуль набора записи Процедура ЗарегистрироватьПерерасчетыНДФЛ() имеется запрос:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Запрос = Новый Запрос(
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    |   НДФЛРасчетыСБюджетом.Регистратор КАК Регистратор,
    |   НДФЛРасчетыСБюджетом.ФизЛицо,
    |   НДФЛРасчетыСБюджетом.Организация,
    |   ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка) КАК Сотрудник
    |ИЗ
    |   РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах
    |       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.НДФЛРасчетыСБюджетом КАК НДФЛРасчетыСБюджетом
    |       ПО НДФЛСведенияОДоходах.ФизЛицо = НДФЛРасчетыСБюджетом.ФизЛицо
    |           И НДФЛСведенияОДоходах.Организация = НДФЛРасчетыСБюджетом.Организация
    |           И НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.ПериодРегистрации, МЕСЯЦ) = НАЧАЛОПЕРИОДА(НДФЛРасчетыСБюджетом.МесяцНалоговогоПериода, МЕСЯЦ)
    |           И (НДФЛРасчетыСБюджетом.СтавкаНалогообложенияРезидента = &Ставка13)
    |       ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ПерерасчетОсновныхНачислений КАК Перерасчеты
    |       ПО (Перерасчеты.ОбъектПерерасчета = НДФЛРасчетыСБюджетом.Регистратор)
    |           И (Перерасчеты.ФизЛицо = НДФЛРасчетыСБюджетом.ФизЛицо)
    |           И (Перерасчеты.ВидРасчета = &ПустойВидРасчета)
    |ГДЕ
    |   НДФЛСведенияОДоходах.Регистратор = &Регистратор
    |   И ВЫБОР
    |           [B]КОГДА ИСТИНА[/B]
    |               ТОГДА НДФЛРасчетыСБюджетом.Регистратор
    |       КОНЕЦ ССЫЛКА Документ.НачислениеЗарплатыРаботникамОрганизаций
    |   И Перерасчеты.ФизЛицо ЕСТЬ NULL 
    |
    |УПОРЯДОЧИТЬ ПО
    |   Регистратор");
    
    Запрос.УстановитьПараметр("Регистратор", Отбор.Регистратор.Значение);
    Запрос.УстановитьПараметр("Ставка13", Перечисления.НДФЛСтавкиНалогообложенияРезидента.Ставка13);
    Запрос.УстановитьПараметр("ПустойВидРасчета", ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка());
    
    Выборка = Запрос.Выполнить().Выбрать();
Не понятна для меня строчка КОГДА ИСТИНА в операторе ГДЕ (в запросе выделена Жирным шрифтом),
Я понял что если ИСТИНА тогда проверяем НДФЛРасчетыСБюджетом.Регистратор является документом НачислениеЗарплатыРаботникамОрганизаций иначе это условие не проверяется. Но что это за значения ИСТИНА откуда оно берется, если было бы написано вместо КОГДА ИСТИНА, например КОГДА НДФЛСведенияОДоходах.Активность = ИСТИНА тогда было бы все ясно, а так не пойму.
Заранее спасибо!!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2013, 08:24
Ответы с готовыми решениями:

Не появляется контекстное меню, когда выделена строчка в listbox
не появляется контекстное меню, когда выделена строчка в listbox.Когда ничего...

Iff([Поле1]="Иванов";Истина or ложь;Истина)
В условии отбора запроса по логическоиу полю мне надо, чтобы отбирались все...

Два файла объединяются по принципу: строчка из одного, строчка из другого(2 задачи)
Всем доброго времени суток! Помогите написать 2 программки. Теоретически (по...

Можно ли зделать так, чтобы строчка имела такую же ширину как и предыдущая строчка?
Можно ли зделать так, чтобы строчка имела такую же ширину как и предыдущая...

Истина или не истина ???
Составить логическое выражение true если истина или false если ложно. Задача...

4
Volexovich
199 / 175 / 29
Регистрация: 24.10.2011
Сообщений: 696
17.07.2013, 09:20 2
Как любой язык программирования 1с тоже подвержен говнокоду.
1
Vladimir7115
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 2
17.07.2013, 10:00 3
А может это просто ошибка, т.е. КОГДА ИСТИНА не имеет не какого смысла
Вместо:
|ВЫБОР
| КОГДА ИСТИНА
| ТОГДА НДФЛРасчетыСБюджетом.Регистратор
| КОНЕЦ ССЫЛКА Документ.НачислениеЗарплатыРаботникамОрганизаций

Модно написать просто:
НДФЛРасчетыСБюджетом.Регистратор ССЫЛКА Документ.НачислениеЗарплатыРаботникамОрганизаций
И не что не изменится, это примерно как написать:
Если Истина Тогда
Сообщить("Сообщения");
КонецЕсли;

Сообщения будет выводится всегда, не зависимо не отчего.
0
Dethmontt
Модератор
Эксперт 1С
2643 / 2436 / 415
Регистрация: 10.03.2011
Сообщений: 8,699
Записей в блоге: 1
Завершенные тесты: 1
17.07.2013, 10:10 4
Vladimir7115, Совершенно верно!!!
1
duk337
2950 / 1762 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
17.07.2013, 16:18 5
Цитата Сообщение от Vladimir7115 Посмотреть сообщение
А может это просто ошибка, т.е. КОГДА ИСТИНА не имеет не какого смысла
Это фича, рожденная тем, что вероятно использование значащего условия. Это весьма грамотный прогерский приём. Советую использовать.

Добавлено через 2 минуты
Я в таких случаю пишу "КОГДА 999=999 " для того, чтобы потом применить СтрЗаменить(Запрос.Текст,"999=999",<текст условия>). Всегда надо помнить: впереди отладка!
0
17.07.2013, 16:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2013, 16:18

Когда нужно использовать структуры, когда классы, а когда словарь?
Хеллоу. Не могу понять, когда, что, нужно использовать. Допустим мне...

Не понятна формула
Вот в данной формуле (на фотографии) нахождения дифференциала 2-го порядка мне...

Не понятна формула
Всем привет! Мне необходимо рассчитать ценовой ряд из формул. В математике...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru