Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/55: Рейтинг темы: голосов - 55, средняя оценка - 4.65
Vladimir7115
1
1C 8.x

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

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

Author24 — интернет-сервис помощи студентам
Уважаемые Форумчане подскажите кто знает
В 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);
    Запрос.УстановитьПараметр("ПустойВидРасчета", ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка());
    
    Выборка = Запрос.Выполнить().Выбрать();
Не понятна для меня строчка КОГДА ИСТИНА в операторе ГДЕ (в запросе выделена Жирным шрифтом),
Я понял что если ИСТИНА тогда проверяем НДФЛРасчетыСБюджетом.Регистратор является документом НачислениеЗарплатыРаботникамОрганизаций иначе это условие не проверяется. Но что это за значения ИСТИНА откуда оно берется, если было бы написано вместо КОГДА ИСТИНА, например КОГДА НДФЛСведенияОДоходах.Активность = ИСТИНА тогда было бы все ясно, а так не пойму.
Заранее спасибо!!!
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2013, 08:24
Ответы с готовыми решениями:

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

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

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

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

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

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

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru