СКД + Запрос: Строка в число
И снова здравствуйте!
И снова помогите. Пожалуйста.
Поставила я себе задачу создать "Вид цен " для сигарет. Поскольку идентификатором служат Характеристики, то очень заманчивым показалось вытащить из строкового наименования типа "цена 135" числовое значение. Упёрлась в СКД, естественно. Сначала хотела экспортной функцией из общего модуля отработать. Но данный СКД её никак не хочет есть. Ругается на синтаксическую ошибку. Надо полагать, не может добраться до модуля. А как заставить - так и не разобралась.
Зато есть пречудесный вариант с запросом. Т.е. чудесен он в том смысле, что способен любую таблицу строковых значений перемаслать в числа (спасибо местному гуру ildarovich). Только запрос, прекрасно отрабатывающий в консоли, артачится в СКД. Отдаёт на выходе пустое значение искомого поля. Никак не ругается. Куды копать?
Картинки прикрепила и текст запроса.
И снова помогите. Пожалуйста.
Поставила я себе задачу создать "Вид цен " для сигарет. Поскольку идентификатором служат Характеристики, то очень заманчивым показалось вытащить из строкового наименования типа "цена 135" числовое значение. Упёрлась в СКД, естественно. Сначала хотела экспортной функцией из общего модуля отработать. Но данный СКД её никак не хочет есть. Ругается на синтаксическую ошибку. Надо полагать, не может добраться до модуля. А как заставить - так и не разобралась.
Зато есть пречудесный вариант с запросом. Т.е. чудесен он в том смысле, что способен любую таблицу строковых значений перемаслать в числа (спасибо местному гуру ildarovich). Только запрос, прекрасно отрабатывающий в консоли, артачится в СКД. Отдаёт на выходе пустое значение искомого поля. Никак не ругается. Куды копать?
Картинки прикрепила и текст запроса.
Прикрепленные файлы:
По теме из базы знаний
- Полезные сведения о языке запросов 1С 8.2
- Полезные примеры СКД, ч.2
- Отбор/фильтр в отчетах/СКД/обработках 1C: БП, УТ, ERP, Кронос: WMS по файлу Excel, текстовому файлу или списку текстовых строк (номер документа, артикул, ИНН, QR-код, штрих-код, наименование)
- Все консоли запросов для 1С
- СКД: разделение числа пропорционально
Найденные решения
Остальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(1) вот пример отчета на СКД преобразования строки в число.
Прикрепленные файлы:
ВнешнийОтчетЧислоСтрокой.erf
(2) Не вариант. Выражение ВЫЧИСЛИТЬ возвращает тип "Строка", а мне нужен тип "Число". Если бы преобразование типов стало вдруг возможным стандартными функциями СКД или Запросов, то эта революция прогремела бы так, что никого бы не миновала.))) Увы.
Всё-таки интересно, почему не работает прекрасный запрос в СКД?
Всё-таки интересно, почему не работает прекрасный запрос в СКД?
(5) Не там использовали Вычислить. Выражение Представления всегда в итоге строка. Это же представление.
Нужно просто добавить вычисляемое поле и там Вычислить()
Во вложении пример
Нужно просто добавить вычисляемое поле и там Вычислить()
Во вложении пример
Прикрепленные файлы:
ЧислоСтрокой.xml
(6) Кажется, я чего-то главного не понимаю... Возможно, кто-то сможет (захочет объяснить). Если поле Характеристика является пустой ссылкой (а это, действительно, так), то потом оно заполняется либо выбором вручную, либо из документа-основания. И получает конкретное значение. Каким образом в этом процессе участвует СКД? И как можно передать это конкретное значение поля в другое поле той же СКД? Ведь, судя по всему, все основные поля заполняются как бы одновременно.
Тут мозг и ломается. Потому что я уже научила данную СКД обращаться к функции в модуле. Как же передать конкретное значение поля Характеристика куда бы то ни было? Т.е. как это значение получить?
Тут мозг и ломается. Потому что я уже научила данную СКД обращаться к функции в модуле. Как же передать конкретное значение поля Характеристика куда бы то ни было? Т.е. как это значение получить?
(11)
Это как же оно заполняется?
Да, добавили возможность использовать отбор, но отбор накладывается на получаемые данные. Какой бы отбор не накладывали на единственное значение поля, которое содержит пустую ссылку, то ничего не отработает, так как выбирать не из чего.
Кажется, я чего-то главного не понимаю... Возможно, кто-то сможет (захочет объяснить). Если поле Характеристика является пустой ссылкой (а это, действительно, так), то потом оно заполняется либо выбором вручную, либо из документа-основания.
Это как же оно заполняется?
Да, добавили возможность использовать отбор, но отбор накладывается на получаемые данные. Какой бы отбор не накладывали на единственное значение поля, которое содержит пустую ссылку, то ничего не отработает, так как выбирать не из чего.
(12)Это типовой конфиг 1С:Розницы, данная схема привязана к формированию типового документа УстановкаЦенНоменклатуры и ограничена обязательными полями с обязательными типами значений: номенклатура (ссылка), характеристика (ссылка) и цена (число). В документе можно формировать разные виды цен. "Закупочная" рассчитывается из документа-основания посредстством своей (системной) СКД: "Розничная" просто коэффициентом от закупочной. Моя т.н. "По данным ИБ". У закупочной есть четко привязанный документ-основание "ПоступлениеТоваров", у той, что я пытаюсь вычислить, такой привязки нет. Т.е. Установку цен можно вводить вручную, выбирая номенклатуры и характеристики. В результате конкретные значения этих полей будут следствием выбора.
Прикрепленные файлы:
Наверно, тему следовало бы переименовать. Потому что задача преобразования строки в число, в целом, тривиальная. Но полезно то, что тут были предложены несколько способов её решения в узких рамках СКД. Прикладную же задачу формирования цен тоже удалось решить, использовав в качестве шаблона СКД цен поступления и внедрив туда всё-таки бесконечно прекрасный запрос от ildarovich. Всем большое спасибо! В который раз убеждаюсь, что матчасть - наше всё.)))
Если я знаю что всегда в наименование будет слово "цена" то в запросе с помощью метода "ПОДСТРОКА(СтрокаЧисел, 6, 6)" оставлю только циферки, если не только слово "цена" возможно воспользуюсь методом ПОДОБНО. Далее в СКД есть закладка "Вычисляемые поля" в которой с помощью метода ВычислитьВыражение(СтрокаЧисел) строковые циферки превращаются в обычные! 👌👌👌
Использовал когда нужно было преврать строку "000001" в число 1
Использовал когда нужно было преврать строку "000001" в число 1
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)