|
Проблема с запросом | ☑ | ||
---|---|---|---|---|
0
Droning1C
19.02.19
✎
10:17
|
Делаю отчет на СКД. Столкнулся с тем, что поле ИтогоПростой не заполнено полностью. В консоли запросов в результате тоже пусто, хотя в документах этот реквизит везде заполнен.
Наставьте на путь истинный, пожалуйста ВЫБРАТЬ ПростойОборудования.Дата, ОборудованиеСправочник.Код КАК ИнвентарныйНомер, ОборудованиеСправочник.Наименование КАК НаименованиеОборудования, ОборудованиеСправочник.ПризнакОборудованияЛН, ПростойОборудования.ВремяНачалаПростоя, ПростойОборудования.ВремяВызоваСпециалиста, ПростойОборудования.ВремяНачалаРабот, ПростойОборудования.ВремяУстраненияНеисправности, ШифрыНеисправностейОборудования.Наименование КАК Шифр, ПростойОборудования.ИтогоПростой, ПростойОборудования.Оператор, ПростойОборудования.Ответственный, ПростойОборудования.Участок ИЗ Документ.ПростойОборудования КАК ПростойОборудования ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Оборудование КАК ОборудованиеСправочник ПО ПростойОборудования.Оборудование.Ссылка = ОборудованиеСправочник.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ШифрыНеисправностейОборудования КАК ШифрыНеисправностейОборудования ПО ПростойОборудования.ШифрНеисправности = ШифрыНеисправностейОборудования.Ссылка ГДЕ ПростойОборудования.Дата МЕЖДУ &НачалоПериода И &КонецПериода И ПростойОборудования.Участок = &Участок |
|||
1
Droning1C
19.02.19
✎
10:20
|
ИтогоПростой - это число, длина 10
|
|||
2
JeHer
19.02.19
✎
10:27
|
Данные-то есть?
|
|||
3
RomanYS
19.02.19
✎
10:28
|
(0) Значит то, что ты видишь в документе не есть "ИтогоПростой". Открывай форму документа и смотри.
Запрос здесь ни причем. |
|||
4
JeHer
19.02.19
✎
10:28
|
Попробуй поменять ГДЕ на И
|
|||
5
Droning1C
19.02.19
✎
10:28
|
(3) нашел ошибку. Вот так заполняется Итого простой
Если ЗначениеЗаполнено(ВремяНачалаПростоя) И ЗначениеЗаполнено(ВремяУстраненияНеисправности) Тогда ЭлементыФормы.ПростойВМинутах.Значение = РассчитатьПростойВМинутах(ВремяНачалаПростоя, ВремяУстраненияНеисправности); КонецЕсли; Через элементы формы нет записи в реквизит, оттуда и проблема |
|||
6
Droning1C
19.02.19
✎
10:29
|
Связать по типу в свойствах реквизита простой поможет?
|
|||
7
OldCondom
19.02.19
✎
10:32
|
Поможет с чем? Все работает. Перепиши запрос на расчет простоя в минутах.
|
|||
8
RomanYS
19.02.19
✎
10:34
|
(6) Поможет, но в любом случае за конструкцию "ЭлементыФормы.ПростойВМинутах.Значение = ..." автору надо в руки нас..ть, это если без членовредительства
|
|||
9
pasha_d
19.02.19
✎
10:37
|
ПростойВМинутах - реквизит объекта? Тогда
ПростойВМинутах = РассчитатьПростойВМинутах(ВремяНачалаПростоя, ВремяУстраненияНеисправности); |
|||
10
OldCondom
19.02.19
✎
10:38
|
Так потом еще писать обработку по расчету простоя и перезаписи документов. Да ну. Работает жеж, добавь пару костылей, смажь говном и в продакшн!
|
|||
11
Droning1C
19.02.19
✎
10:50
|
(9) простой был реквизитом формы. переделал, чтобы был реквизитом документа. Теперь обработкой буду значения проставлять. Всем огромное спасибо!
|
|||
12
RomanYS
19.02.19
✎
10:53
|
(11) даже для реквизитов формы не используй никогда "ЭлементыФормы.ПростойВМинутах.Значение"
|
|||
13
OldCondom
19.02.19
✎
11:16
|
А через месяц захотят видеть простой в часах. Что делать будешь? Снова все документы перезаписывать?
|
|||
14
Droning1C
19.02.19
✎
11:23
|
(13) И как же лцчше в таком случае обработать эту ситуацию?
|
|||
15
OldCondom
19.02.19
✎
11:27
|
(14) Переписать запрос. Все данные в системе есть.
|
|||
16
OldCondom
19.02.19
✎
11:28
|
Функция РАЗНОСТЬДАТ
Функция предназначена для получения разницы между двумя датами. Первый параметр — вычитаемая дата, выражение типа ДАТА; Второй параметр — исходная дата, выражение типа ДАТА; Третий параметр – тип разности, одно из: СЕКУНДА, МИНУТа, ЧАС, ДЕНЬ, МЕСЯЦ, КВАРТАЛ, ГОД. Примеры: ВЫБРАТЬ РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 10, 12, 10, 15, 34), ДАТАВРЕМЯ(2002, 10, 14, 9, 18, 06), ДЕНЬ) |
|||
17
dezss
19.02.19
✎
11:29
|
(13) и че? так сложно разделить на 60?
Хранится в минутах, а на форму вывести значения в нужных единицах измерения...рассчитывая их |
|||
18
dezss
19.02.19
✎
11:30
|
ну или в секундах хранить
|
|||
19
OldCondom
19.02.19
✎
11:40
|
(17) А то, что это УЖЕ реализовано. Это раз. Два - зачем хранить в системе излишние данные, да еще тратить на это время? Зачем перезаписывать данные БД? А если там еще дата запрета стоит?
|
|||
20
OldCondom
19.02.19
✎
11:41
|
Реквизит документа вызывает столько прений. Будто других задач нет.
|
|||
21
dezss
19.02.19
✎
12:48
|
(19) (20) с этим не спорю, но реквизит-то он уже создал)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |