#0
by CaIIIka
Здравствуйте! Не появилась ли данная возможность в свежих версиях 1С? Работаю на 8.2. Перейти на 8.3 возможности нет пока, острой необходимости тоже. Спрашиваю, чтоб велосипед не изобретать. В инете готовых решений, чтоб прям запросом из строки в число, не видел пока что.
#11
by CaIIIka
)) А если справочник с 70 тыс строками и реквизит из строки в число? Так низя. Не работает.
#15
by Fragster
не, ну если тип реквизита "строка" - число - то работает. а вообще надо сделать так, чтобы в исходных данных было число
#17
by CaIIIka
Готовых решений не было не у кого? Я вчера задался идеей победить. Несколько раз в ступор восмёрошными ограничениями (по сравнению со скулем) вставал.
#19
by GROOVY
Не тупишь, в результате запроса будет то что в выразить, но в самом запросе будет строка. Преобразование, по сути, происходит после выполнения всего запроса.
#24
by ДенисЧ
выбрать ВЫРАЗИТЬ (&парам как число(10, 0)) где парам задан как строка "15" Текст запроса: Строка 1: {(1,9)}: Несовместимые типы "ВЫРАЗИТЬ" выбрать <<?>>ВЫРАЗИТЬ (&парам как число(10, 0))
#26
by PR
Господа, вы меня пугаете. ВЫРАЗИТЬ не работает в конце запроса, в конце работает ПРЕДСТАВЛЕНИЕ. Думаю, что не ругнется, просто в значении типа строка значения типа число не будет обнаружено, а поэтому вернется какая-нить пустая кака, может неопределено.
#29
by Fragster
не будет ругани и будет пусто, если реквизит составного типа, один из которых - число, но в момент запроса там находится значение другого типа. в остальных случаях заругается.
#30
by PR
Ну значит так. Че ты как ребенок :)) В любом случае главное, что никакого преобразования ни в начале запроса ни в конце не будет.
#32
by CaIIIka
Можно и так, но победить оч захотелось. )) Хорошая статья, надо проверить как механизм с пробелами борется. По идее должен. Мимолетом на сколько смог код вкурить: там вроде сравнение на вхождение в 0123456789 проверяется, так что пробелы в сад вроде.. Я про то, когда Код в справочнике строковый, то в конце пробелы до длины строки добавляются. Они и костыли в колеса добавляют. А ни ltrim-rtrim ни right 1c не умеет.
#36
by CaIIIka
Все работает. Статья в точку, спасибо огромнищее за ссылку! А я, не видя , вчера вот такой код наваял. Теперь не актуально, но мож на мысли хорошие натолкнет кого... Есть справочник Товары со строковым кодом. Нужно обобрать все коды в числовом интервале (для поиска дырки для нового кода). Длина кода 6 символов. Если вопросы появятся по данной реализации, что где и зачем, спрашивайте. Потому как одна идея порождает другую :)
#38
by hhhh
вроде поиск дырок в числовом интервале и в таком же строковом одинаково будет. Зачем тебе понадобилось в число преобразовывать?
#41
by CaIIIka
Потому что такой запрос выбрать первые 20 код из справочник.товары упорядочить по код выдает Код 0 1 10 100004 10023 1010 10100 10101 10102 10103 10104 10105 101051 10106 10107 10108 10109 10110 10111 10112
#42
by hhhh
дык напиши небольшую обработку, добавь к коду спереди нули, чтобы все были шестизначные. Ведь это и для многих других целей будет полезно, не только для поиска дырок.
#43
by CaIIIka
1. Создать запрос с выборкой всего справочника и одной колонки 2. Выборкой обойти весь результат и в ранее созданную ТЗ при каждой итерации добавлять строки со значением Число(Выборка.Код) 3. Сортировать ТЗ 4. Выбрать строки ТЗ, проверяя на дырки 2-й пункт плохой тут. Ресурсы СУБД на получение результата запроса и передачу его на сторону 1С, обход результата в 1С с преобразованием значения, заполнение объекта на стороне 1С.... Да и подход к решению задачи так себе получается
#45
by CaIIIka
Тогда уж новый реквизит КодЧисло числовой и туда при записи гнать число. И обработкой по всем один раз. Но это новый реквизит в базе, дополнительный объем, его обработка при каждой записи. Справочник под 100 тыщ элементов. А у меня только запрос
#46
by Ildarovich
Вот еще одна статья . Называется "Поиск пропусков в нумерации документов запросом". Там приложена обработка, которую можно и на справочник(и) переделать. Расчет был на 11-ти значные номера. С 6-ти значными еще проще. Пропуски в нумерации показываются в виде интервалов ... - ... .
#47
by Cyberhawk
, напиши как-нибудь статью, как ты пришел к этому (с двух глобальных ракурсов: что сподвигло к написанию таких статей и что сподвигло заниматься вычислением этих штук в запросах)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- ТЗ. Удаление строки сдвигает строки?
- v7: Преобразование строки в число
- Преобразование строки в дату
- Операции преобразования строки в число в Запросе
- Преобразование значения к типу Булево не может быть выполнено
- Динамический список - выделенные строки - суммирование содержимого строки..
- Таблица Значений отбор по индексу, номеру строки, как найти строки 1-100
В этой группе 1С
- Учет сторно начислений в 6-НДФЛ и в БУ
- Коды SKU заменяют друг друга весовой товар
- Редактирование готового табличного документа
- БП 3.0 документ поступления и оплаты в разрезе партий
- Автоматическая выемка ДС из ККМ Оффлайн
- Размер таблицы БД не изменился после удаления данных
- windows 10 + 1c 7.7
- Запрос 1С 7.7 в 1С 8.2 через COM
- POS на планшете с Android
- ЗУП 2.5 Досрочный выход из отпуска по уходу за ребенком
- Списание товара на лабораторные анализы
- Помогите разобраться с единицами измерения в Комплексной Автоматизации 2.0
- Премии Комплексная автоматизация
- Динамический список по табличной части документа на управляемых формах
- Формат этикетки на весах CAS CL5000J
- Веб-сервис. Передача двоичных данных
- Авансы в КУДиР
- Вызов типового отчета с параметрами в БП 3.0
- Как вызвать второй раз АвтоподборТекста 1с УФ
- ЗУП 3, вывести показатель в расчетном листке