Есть запрос на скд, пытаюсь создать вычисляемое поле в запросе.
в запросе одно из полей имеет тип строка (поле СчетНаОплатуПокупателюКомментарий). имеет вид например 10.10.2018 (или другая дата, но тип поля строка)
в вычисляемое поле пытаюсь писать
выбор когда СчетНаОплатуПокупателюКомментарий<>null Тогда Дата(СчетНаОплатуПокупателюКомментарий+" 00:00:00")
Иначе "Не было" Конец
Но скд выдает ошибку "ожидается ключевое слово "Конец" в вычисляемом поле.
в чем дело - понять не могу. Подскажите пожалуйста.
в отчете 2 группировки (верхний уровень - контрагент, второй уровень-счет на оплату)
И уже когда идут детальные записи по счету на оплату - выводятся данные, одно поле из них -дата реализации (тип поля дата), другое поле - СчетНаОплатуПокупателю.Комментарий с типом строка и видом типа (10.10.2018, то есть в поле выводится, но тип поля строка). Пытаюсь создать 2 вычисляемых поле -1) преобразовать комментарий в дату, 2) вывести разность дат в днях между датой реализации и полем комментария преобразованным в дату.
Реально ли сделать такое? Подскажите пожалуйста... Или может как-то надо изменить запрос?
Заранее признателен за ответ.
Написал в вычисляемом поле
Выбор когда СчетНаОплатуПокупателюКомментарий<>NULL Тогда Дата(СчетНаОплатуПокупателюКомментарий+" 10:00:00") иначе ЕСТЬNULL(СчетНаОплатуПокупателюКомментарий, "") конец
но выводит в ячейку в отчете 12.10.2018 без (10:00:00) . Интересно почему.
А вообще у меня задача такая
есть в отчете с скд поле ДатаРеализации с типом дата, есть поле СчетНаОплатуПокупателюКомментарий с типом строка. Мне надо вывести третье поле где выводится разность двух дат. Естественно, что поле СчетНаОплатуПокупателюКомментарий надо преобразовывать к типу Дата. Но пока не могу победить это... Реально ли вообще такое сделать? Если да то подскажите пожалуйста... Заранее признателен за ответ.
(8) Как в СКД в вычисляемом поле преобразовать строку вида 12.10.2018 или 13.10.2018 или т.п. в дату? Или это не реально. Если реально - то как это сделать? Заранее признателен за ответ.
(10) Для формирования даты в СКД формат строки должен быть "20181012".
Для данного случая в рамках только СКД это не сделать. В вычисляемом поле можно использовать вызов метода общего модуля, где и формировать нужную дату. Но это изменение конфигурации.
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("НазначениеСвойств", ОбщегоНазначения.ПолучитьСписокНазначенийСвойствКатегорийОбъектовПоСсылке(ДанныеСтроки.Ссылка));
Запрос.УстановитьПараметр("ОбъектОтбораЗначений", ДанныеСтроки.Ссылка);
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| СвойстваОбъектов.Наименование,
| ЗначенияСвойствОбъектов.Значение КАК ПричинаЗамены,
| ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, ЛОЖЬ) КАК Проверен
|ИЗ
| (ВЫБРАТЬ
| СвойстваОбъектов.Ссылка КАК Ссылка,
| СвойстваОбъектов.Наименование КАК Наименование,
| СвойстваОбъектов.ПометкаУдаления КАК ПометкаУдаления
| ИЗ
| ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
| ГДЕ
| СвойстваОбъектов.НазначениеСвойства В(&НазначениеСвойств)
| И СвойстваОбъектов.ПометкаУдаления = ЛОЖЬ
| И (СвойстваОбъектов.Наименование = ""Проверено""
| ИЛИ СвойстваОбъектов.Наименование = ""ПричинаЗамены"")) КАК СвойстваОбъектов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
| ПО (ЗначенияСвойствОбъектов.Свойство = СвойстваОбъектов.Ссылка)
| И (ЗначенияСвойствОбъектов.Объект = &ОбъектОтбораЗначений)";