(1) chmv, В запросе, если заложиться на два поля и максимальный размер поля, то можно написать выражение, перебирающее все варианты местонахождения разделителя. Но я такие извращения не признаю.
В СКД - можно задействовать фукнции общих модулей.
А в нормальной архитектуре - в базу должна записываться уже разложенная по полочкам информация.
(6) vovan_victory, Воу, воу! Помедленнее и поподробнее!
Что это еще за "макет обработки", который является "типом макета СКД"? А если речь о вычисляемых полях схемы, то с каких пор там можно использовать что-то, кроме языка выражений СКД?
(10) bmk74, Про функции общих модулей - да, можно. Я это уже предлагал даже (но эту возможность надо специально активировать). А вот чтобы любые функции языка там можно было напрямую вызывать - первый раз слышу. Если это так, то я буду как та девочка из анекдота - "А шо - можно было???"
(12) bmk74, Офигеть! И что, весь набор строковых функций языка - тоже? Включая СтрРазделить()? А на последних релизах - это с какого? А в документации про это где-то можно почитать?
(13) herfis, (14) klinval, Я сам был удивлен этим, на работе коллега просто попробовал и у него заработало, хотя я ему тоже говорил что типа не будет работать...
С какой версии они это включили не могу сказать так как пробовали на этой "8.3.8.1784"
(12) bmk74, я удивлён... Проверил - и правда работает (ТекущаяДата(), СтрНайти, СтрРАзделить)! А когда это заработало? Может все методы глобального контекста доступны?
(34) vovan_victory, Понятно. Непонятно только, почему вы решили что задача решается в контексте обработки. А так - да. Макет для схемы СКД куда угодно воткнуть можно. А можно и вообще без макета.
(1) chmv,
Только через кучу КОГДА ТОГДА ТИПА ВЫБОР КОГДА ПОДСТРОКА(ИмяПоля,1,1) = ";" ТОГДА
1
КОГДА КОГДА ПОДСТРОКА(ИмяПоля,2,1) = ";" ТОГДА
2
... КАК РАЗДЕЛИТЕЛЬ
Потом ВТ
И уже потом
ПОДСТРОКА(ИмяПоля,1,РАЗДЕЛИТЕЛЬ-1) КАК Первое,
ПОДСТРОКА(ИмяПоля,РАЗДЕЛИТЕЛЬ+1) КАК Второе
Хотя я не уверен что так Функция Сможет съесть РАЗДЕЛИТЕЛЬ, не пробовал
ВЫБОР
КОГДА ПОДСТРОКА(СотрудникиОрганизаций.Состояние, 1, 6) = "Уволен"
ТОГДА "Уволен"
КОГДА ПОДСТРОКА(СотрудникиОрганизаций.Состояние, 1, 7) = "Штатный"
ТОГДА "Работает"
КОНЕЦ
(3) herfis, ну я предложил костыль, а дальше автор пусть сам думает - сможет он его прикрутить или нет, все зависит от возможной длины строки, которую парсить
Так! Стоп! Мухи отдельно, котлеты - отдельно.
ТекущаяДата() таки есть в доке по языку выражений СКД в 8.3.8 - видать добавили.
А вот никаких СтрНайти и СтрРазделить я там не вижу! Недокументированная возможность, выходит?
(23) bmk74, Да тоже думаю, что вряд ли накроется, но все равно опаска есть.
А с ТекущаяДата() - интересная ситуация. Во встроенной справке ее нет, а вот в руководстве разработчика она присутствует и в доке по 8.3.6 и в доке по 8.3.8
(16) herfis, Где нашли про текущую дату в СКД? Я в справке ищу не могу найти, что на СКД они это добавили. Платформа 8.3.8.1652
Кстати СокрЛП не работает...
(27) klinval, Оно, судя по всему, давно есть. Просто встроенную справку не обновили. В руководстве разработчика на ИТС ТекущаяДата() присутствует в языке выражений СКД.
(31) herfis, действительно на ИТС "Главная Разработка и администрирование 1С:Предприятие 8.3.7. Документация" нашёл про ТекущаяДата() между РазностьДат и Подстрока (в справке между ними ничего нет).
Бывало, что опишут в справке, а оно не работает, а чтобы не описать, а оно работает - не было такого )))