Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
4 / 4 / 4
Регистрация: 12.07.2011
Сообщений: 638
1

Результат выполнения условия

08.10.2018, 13:50. Показов 1081. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Вроде бы элементарное действие, но не въезжаю, почему такой результат. В собственной конфигурации получаю выборку запросом и выгружаю в ТЧ. В ТЧ есть среди прочих реквизиты: ДатавыдачиПлан,ДатавыдачиФакт,СостояниеЗадания. Значение реквизита СостояниеЗадания должно рассчитываться по алгоритму:
если датаПлан>=ДатаФакт и ДатаФакт не заполнена, то выводится "В работе";
если датаПлан<ДатаФакт и ДатаФакт не заполнена, то выводится "Срыв";
Делаю это так:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Результат=ЗапросЗаданий.Выполнить().Выгрузить();
Задания.Очистить();
    Для каждого Стр из Результат Цикл
    НовСтр=Задания.Добавить();
    ЗаполнитьЗначенияСвойств(НовСтр,Стр);
 
    Если НовСтр.ДатаВыдачиПлан<НачалоДня(ТекущаяДата()) И Стр.ДатаВыдачиФакт='00010101'  Тогда НовСтр.СостояниеЗадания=Перечисления.СостояниеЗадания.Срыв
    Иначе
    НовСтр.СостояниеЗадания=Перечисления.СостояниеЗадания.ВРаботе;
КонецЕсли;
Если Стр.ДатаВыдачиФакт<>'00010101' И Стр.СтепеньВыполнения < 100 И Стр.ДатаВыдачиФакт<=НовСтр.ДатаВыдачиПлан Тогда
    НовСтр.СостояниеЗадания=Перечисления.СостояниеЗадания.ВРаботе;
КонецЕсли;
Если Стр.ДатаВыдачиФакт<>'00010101' И Стр.СтепеньВыполнения < 100 И Стр.ДатаВыдачиФакт>НовСтр.ДатаВыдачиПлан Тогда
    НовСтр.СостояниеЗадания=Перечисления.СостояниеЗадания.Срыв;
    КонецЕсли;
Если Стр.СостояниеЗадания<>Неопределено тогда
НовСтр.СостояниеЗадания=Стр.СостояниеЗадания;  
КонецЕсли; 
    //НовСтр.СостояниеЗадания=Перечисления.СостояниеЗадания.ВРаботе;
    КонецЦикла;
интересует фрагмент:
1C
1
2
3
4
Если НовСтр.ДатаВыдачиПлан<НачалоДня(ТекущаяДата()) И Стр.ДатаВыдачиФакт='00010101'  Тогда НовСтр.СостояниеЗадания=Перечисления.СостояниеЗадания.Срыв
    Иначе
    НовСтр.СостояниеЗадания=Перечисления.СостояниеЗадания.ВРаботе;
КонецЕсли;
для строк в которых если датаПлан<ДатаФакт и ДатаФакт не заполнена выводится не "Срыв", а в "Работе", т.е. выполняется ветвь "Иначе"...не могу понять почему. Помогите пожалуйста.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.10.2018, 13:50
Ответы с готовыми решениями:

Результат выполнения программы в консоли пропадает после выполнения скрипта
нужно отпарсить файл , но мне надо видеть что выводит сценарий , иначе мне его неотладить....

Условия выполнения
procedure TForm2.Button1Click(Sender: TObject); begin if (ADOQuery1.FieldValues='1')and...

Скрипт выполнения условия
Всем привет. Ребята выручайте. На странице ( например: site.ru/1/ ) имеется блок: &lt;div...

Ошибка выполнения условия в цикле
Проблема состоит в том что условие if(mas=rightTop) на 24 строке выполняется на первой итерации...

3
4 / 4 / 4
Регистрация: 12.07.2011
Сообщений: 638
08.10.2018, 13:54  [ТС] 2
вот пример результата, который получается(во вложении):
Миниатюры
Результат выполнения условия  
0
857 / 656 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
08.10.2018, 18:03 3
Лучший ответ Сообщение было отмечено polax как решение

Решение

Используй ЗначениеЗаполнено(Стр.ДатаВыдачиФак)

1C
1
Если НовСтр.ДатаВыдачиПлан<НачалоДня(ТекущаяДата()) И НЕ ЗначениеЗаполнено(Стр.ДатаВыдачиФакт) Тогда
1
2135 / 1475 / 526
Регистрация: 16.01.2015
Сообщений: 6,317
08.10.2018, 19:02 4
jediAlex, Не путайте возможности современных платформ подставлять вместо незаполненной даты, дату 01.01.0001, например, в вирт таблице регистра или в параметрах скд и код несвязанный с параметрами.
'00010101' - это конкретная дата, которую надо заполнить, поэтому ваше условие и не выполняется - дата не заполнена. Используйте подсказку Xomych, и все получится
0
08.10.2018, 19:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2018, 19:02
Помогаю со студенческими работами здесь

Подбор числа до выполнения условия
Дайте какую нибудь подсказку, как можно написать макрос для подбора необходимого числа, чтобы...

2 условия выполнения Ajax запроса
Как сделать, чтобы один ajax выполнялся и при выборе select и при загрузке страницы. Сейчас делаю...

Условия выполнения теоремы об идеалах
Здравствуйте! Подскажите, пожалуйста, в каких случаях не будет выполняться данное соотношение: I...

Проверить матрицу на выполнения условия
Проверить матрицу на выполнения условия AT = -A Помогите, пожалуйста. Не знаю как сделать


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

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