Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 07:53
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Прошу объяснить  (Прочитано 2016 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ary

  • *
  • Сообщений: 12
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-12-22
  • Сайт: 
  • Профессия: Программист 1С
Для чего пишутся операторы "Если Истина Тогда"? Эти проверки ничего не меняют в логике.
В этом стиле написаны многие, если не все процедуры и функции общего модуля "ПроведениеРасчетов".
В приводимой ниже функции эти операторы "Если..." выделены.
Заранее благодарю.



Функция ПолучитьДанныеДляРасчетаСторноНДФЛ( Регистратор, Сотрудники = НеОпределено, КомментироватьРасчет = Ложь)
   
   Запрос = Новый Запрос();
   Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
   
   Запрос.УстановитьПараметр("парамРегистратор",      Регистратор);
   Запрос.УстановитьПараметр("парамОрганизация",      Регистратор.Организация );
   Запрос.УстановитьПараметр("парамПериодРегистрации",   Регистратор.ПериодРегистрации );
   Запрос.УстановитьПараметр("парамСотрудники",      Сотрудники);
   Запрос.УстановитьПараметр("парамПриход",         ВидДвиженияНакопления.Приход);
   
   //   ВТНДФЛРегистратора
   Если Истина Тогда
      //   Описание:
      //       ...
      //
      ТекстЗапроса = "
      |   ВЫБРАТЬ
      |      Основной.НомерСтроки      КАК НомерСтроки,
      |      Основной.Сотрудник         КАК Сотрудник,
      |      Основной.НалоговыйПериод   КАК НалоговыйПериод,
      |      Основной.ДоходНДФЛ         КАК ДоходНДФЛ,
      |      Основной.ВидСтавки         КАК ВидСтавки,
      |      Основной.Льгота            Как Льгота,
      |      Основной.КоличествоЛьгот   Как КоличествоЛьгот
      |
      |ПОМЕСТИТЬ ВТНДФЛРегистратора   
      |   ИЗ   РегистрНакопления.ВзаиморасчетыПоНДФЛ КАК Основной
      |   ГДЕ      Основной.Регистратор = &парамРегистратор
      |      И   Основной.Сотрудник В (&парамСотрудники)
      |      И   Основной.Авторасчет
      |
      |   ИНДЕКСИРОВАТЬ ПО
      |      Сотрудник, НалоговыйПериод
      |";
      Запрос.Текст = ТекстЗапроса;
      Запрос.Выполнить();
      ТекстЗапросаВТНДФЛРегистратора = "ВТНДФЛРегистратора";
   КонецЕсли;
   Запрос.Текст = "ВЫБРАТЬ * ИЗ ВТНДФЛРегистратора";
   
   //   ВТРаботникиПоПериодамИНалоги
   Если Истина Тогда
      //   Описание:
      //       Сотрудники по которым есть зарегистрированные записи по начислениям в периодеРегистрации
      //       сгруппированные по периодам действия
      //
      ТекстЗапроса = "
      |   ВЫБРАТЬ РАЗЛИЧНЫЕ
      |      Основной.Организация               КАК Организация,
      |      НАЧАЛОПЕРИОДА(Основной.Период, МЕСЯЦ)   КАК ПериодРегистрации,
      |      Основной.Сотрудник                  КАК Сотрудник,
      |      Основной.ДоходНДФЛ                  КАК ДоходНДФЛ,
      |      Основной.НалоговыйПериод            КАК НалоговыйПериод
      |
      |ПОМЕСТИТЬ ВТРаботникиПоПериодамИНалоги   
      |   ИЗ   РегистрНакопления.ВзаиморасчетыПоНДФЛ КАК Основной
      |
      |   ГДЕ      Основной.Регистратор = &парамРегистратор
      |      И   Основной.Сотрудник В (&парамСотрудники)
      |
      |   ИНДЕКСИРОВАТЬ ПО
      |      Сотрудник,
      |      НалоговыйПериод
      |";
      Запрос.Текст = ТекстЗапроса;
      Запрос.Выполнить();
      ТекстЗапросаВТРаботникиПоПериодамИНалоги = "ВТРаботникиПоПериодамИНалоги";
   КонецЕсли;
   Запрос.Текст = "ВЫБРАТЬ * ИЗ ВТРаботникиПоПериодамИНалоги";
   
   
   ТекстЗапроса = "
   |ВЫБРАТЬ
   |   ИСТИНА                        КАК Сторно,
   |   ИСТИНА                     КАК Авторасчет,
   |   Основной.ПериодРегистрации     КАК Период,
   |   Основной.Организация           КАК Организация,
   |   Основной.Сотрудник               КАК Сотрудник,
   |   Основной.НалоговыйПериод        КАК НалоговыйПериод,
   |
   |   НалогДо.ДоходНДФЛ         КАК ДоходНДФЛ,
   |   НалогДо.ВидСтавки         КАК ВидСтавки,
   |   НалогДо.Льгота            КАК Льгота,
   |   НалогДо.КоличествоЛьгот      КАК КоличествоЛьгот,
   |
   |   НДФЛРегистратора.НомерСтроки   КАК НомерСтрокиРегистратора,
   |
   |   -НалогДо.Доход            КАК Доход,
   |   -НалогДо.Налог            КАК Налог
   |
   |   ИЗ " + ТекстЗапросаВТРаботникиПоПериодамИНалоги + " КАК Основной
   |
   |
   |   ЛЕВОЕ СОЕДИНЕНИЕ (
   |      ВЫБРАТЬ
   |         НДФЛ.Сотрудник         КАК Сотрудник,
   |         НДФЛ.НалоговыйПериод   КАК НалоговыйПериод,
   |         НДФЛ.ДоходНДФЛ         КАК ДоходНДФЛ,
   |         НДФЛ.ВидСтавки         КАК ВидСтавки,
   |         НДФЛ.Льгота            КАК Льгота,
   |         НДФЛ.КоличествоЛьгот   КАК КоличествоЛьгот,
   |         СУММА(НДФЛ.Доход)   КАК Доход,
   |         СУММА(НДФЛ.Налог)КАК Налог
   |      ИЗ РегистрНакопления.ВзаиморасчетыПоНДФЛ КАК НДФЛ
   |
   |      ГДЕ НДФЛ.Период <= &парамПериодРегистрации
   |      И   НДФЛ.Регистратор <> &парамРегистратор
   |      И   НДФЛ.ВидДвижения = &парамПриход
   |      И   НДФЛ.Организация = &парамОрганизация
   |      И   НДФЛ.Сотрудник В (&парамСотрудники)
   |      И   НДФЛ.НалоговыйПериод В (ВЫБРАТЬ РАЗЛИЧНЫЕ Периоды.НалоговыйПериод ИЗ " + ТекстЗапросаВТРаботникиПоПериодамИНалоги + " КАК Периоды )
   |
   |      СГРУППИРОВАТЬ ПО
   |         НДФЛ.Сотрудник,
   |         НДФЛ.НалоговыйПериод,
   |         НДФЛ.ДоходНДФЛ,
   |         НДФЛ.ВидСтавки,
   |         НДФЛ.Льгота,
   |         НДФЛ.КоличествоЛьгот
   |
   |   ) КАК НалогДо
   |    ПО      Основной.Сотрудник = НалогДо.Сотрудник
   |      И   Основной.ДоходНДФЛ = НалогДо.ДоходНДФЛ
   |      И   Основной.НалоговыйПериод = НалогДо.НалоговыйПериод
   |
   |   ЛЕВОЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТНДФЛРегистратора + " КАК НДФЛРегистратора
   |   ПО      НалогДо.Сотрудник = НДФЛРегистратора.Сотрудник
   |      И   НалогДо.НалоговыйПериод = НДФЛРегистратора.НалоговыйПериод
   |      И   НалогДо.ДоходНДФЛ = НДФЛРегистратора.ДоходНДФЛ
   |      И   НалогДо.ВидСтавки = НДФЛРегистратора.ВидСтавки
   |      И   НалогДо.Льгота = НДФЛРегистратора.Льгота
   |      И   НалогДо.КоличествоЛьгот = НДФЛРегистратора.КоличествоЛьгот
   |
   | ГДЕ   НЕ НалогДо.Налог ЕСТЬ NULL
   |    И (НалогДо.Налог <> 0
   |   ИЛИ НалогДо.Доход <> 0 )
   |";

   Запрос.Текст = ТекстЗапроса;
   
   Возврат Запрос.Выполнить().Выбрать();
   
КонецФункции


Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Re: Прошу объяснить
« Ответ #1: 22 Дек 2011, 17:50 »
Ну может быть, раньше были настройки, а теперь просто поставили заглушки? Ну или обратный вариант: планируется сделать настройки, но пока нету
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн AntonB

  • Модератор
  • *****
  • Сообщений: 402
  • РЕПУТАЦИЯ: 74
  • КПД: 18%
  • Регистрация: 2011-05-26
  • Сайт: 
  • Профессия: Программист 8.1
Re: Прошу объяснить
« Ответ #2: 22 Дек 2011, 20:02 »
Сам так иногда делаю... :)
пишу при отладке
Если 1=1 Тогда
если нужно включить кусок и меняю одним движением на
Если 1=0 Тогда
если нужно выключить

Удобнее даже, чем выписывать Истина/Ложь :)
Но потом, конечно, желательно бы убирать...
Предлагаю полный ИТ сервис небольшой организации в Москве (приходящий сисадмин+1С7.7,1С8.x)


Теги:
 

Добрый вечер! Прошу помочь, кто знает, подскажите пож. В счете не выводит грузоотправителя и грузополучаетля. Куда их внести ? Как сделать что бы выводило ? У меня 1с 8.3 редакция 11.1 управление торговлей Спасибо!

Автор Farid GasimliРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 1963
Последний ответ 07 Фев 2016, 14:34
от pavl_vs
8.3 Прошу помочь вытащить печатную форму из типовой конфигурации во внешнюю обработку

Автор ЭтиловыйРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 570
Последний ответ 28 Сен 2016, 20:51
от Этиловый
Прошу совета!Проблемы с настройкой регламентированного рабочего календаря

Автор LovelyРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 2182
Последний ответ 15 Янв 2014, 12:04
от Lovely
Прошу помочь с созданием кнопки вверх и вниз в СправочникеСписке

Автор Самир ИмановРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 113
Последний ответ 24 Ноя 2017, 04:03
от Golickoff
Прошу помощи, чтобы исправить ошибку в конфигурации

Автор garmin-osaРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1650
Последний ответ 10 Апр 2011, 17:43
от chuevsf

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
167 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
BuhRust
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 352
  • Точка Скрытых: 0
  • Точка Пользователей: 7
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal