Лидирующие нули в поле запроса #704730


#0 by CepeLLlka
Ребята.. мне нужно привести такие номера как: 5 7 11 23 165 И т.д.. К 00005 00007 00011 00023 00165 В запросе всё это.. Есть варианты?
#1 by SUA
не больше 4х нулей? - ВЫБОР КОГДА
#2 by МойКодУныл
Прямо совсем в запросе? Или подойдет ФОРМАТ поля в СКД с галочкой выводить лидирующие нули?
#3 by CepeLLlka
Можно пример? Я что-то не догнал
#4 by Classic
Не взлетит
#5 by Heckfy
Запросом не взлетит. Запрос данные менять не умеет. :)
#6 by МихаилМ
обсуждалось. в поиск.
#7 by МихаилМ
взлетит.
#8 by singlych
Запрос умеет подставлять нужные данные вместо ненужных)
#9 by Classic
Во временной таблице наколбасить все соответствия от 1 до 10000?
#10 by МихаилМ
нет. в поиск.
#11 by Remark
А правда, почему именно в запросе? Больше на форматирование при выводе подходит.
#12 by Wobland
прав("00000000"+номер, &ДлинаНомера). но перенумеровать документы так не выйдет
#13 by VRednaia
видимо потом нужно по ним связывать другую таблицу
#14 by Wobland
эк меня. это я с right'ом попутал? ;)
#15 by PR
5 7 11 23 165 И т.д.. К 00005 00007 00011 00023 00165 или И т.д.. К Если первое, то очень геморно, через дикий выбор, если второе, то проще.
#16 by CepeLLlka
Второе..
#17 by CepeLLlka
В общем мне это нужно для соединения ВТ с другой таблицей..
#18 by Kookish
... а потом мы поедем к ТС и будем кусачками и паяльником выпытывать из него подробности задачи. В конце концов окажется, что все совсем не так.
#19 by 1dvd
в первой таблице эта колонка какой тип имеет? Какая длина?
#20 by CepeLLlka
Это номера документов по выписке... В выписке они идут без лидирующих нулей, так как на печать и в коде BiPrint он без нулней.. А в программе номера нулями и префиксами... Вот их мне и нужно сопоставить.. Движения по выписке за период я выбираю в ВТ и хочу присоединить ещё к ней найденные в базе платежки по другим реквизитам и самое главное по номеру.
#21 by 1dvd
номера какой длины?
#22 by CepeLLlka
15 символов, но меня интересует только правые 5.. там всегда цифры.. без префиксов
#23 by CepeLLlka
Длина 5
#24 by Kookish
Не проще из тех строк числа получать? Если так, то Гугл - "1С запрос строковые функции"
#25 by 1dvd
тогда сделай пять ВЫБОР КОГДА ... для каждого символа по одному
#26 by 1dvd
Используй ПОДСТРОКА(... чтобы определить символ в конкретной позиции
#27 by Wobland
в запросе?
#28 by 1dvd
она всего одна
#29 by 1dvd
а конкатенация строк в запросе делается точно также, как в самом языке 1С:
#30 by Wobland
осталось только подобну помянуть
#31 by CepeLLlka
Сейчас попробую.. По типа ВЫБОР КОГДА Номер ПОДОБНО("_") ТОГДА "0000"+Номер И т.д....
#32 by CepeLLlka
Ребята.. а подскажите ещё такое пожалуйста.. Из-за чего запрос может при левом соединении в итоговой таблице оставлять из левой таблицы только те строки, что дополнились соединением, а те что не дополнилились(С NULL) пропадают.. Мммм?
#33 by CepeLLlka
И Выписки.ДатаПроводки МЕЖДУ &НачДата И &КонДата ; ГДЕ     ПлатежноеПоручение.Дата МЕЖДУ &НачДата И &КонДата
#34 by Remark
Когда есть условие по полям присоединенной таблицы, соединение становится внутренним. Как то так, поправьте если я ошибаюсь.
#35 by CepeLLlka
Сейчас проверю.. То есть.. выход ещё одну ВТ замутитЬ?
#36 by CepeLLlka
Да, вы правы
#37 by CepeLLlka
На самом деле знающие люди поясняют.. Что соединение не становится внутренним.. Просто Условие - ГДЕ Накладывается уже после соединения..
#38 by Wobland
оно остаётся левым, не путай тут молодёжь. и пофих, что результат может стать одинаков с внутренним
#39 by Remark
Хрусталева "Язык запросов", кажется там я такую формулировку слышал, могу ошибаться.
#40 by Wobland
могу Ициком в ответ потыкать ;)
#41 by Remark
Да не, мне пофик... Суть главное ясна.
#42 by Remark
+ точно, Хрусталева с. 119 "... так произошло потому, что при накладывании условия отбора на поле правой таблицы при левом соединении тип соединения становится внутренним". Но, конечно логичнее объяснение, что "ГДЕ" накладывается на результирующую выборку. ПС: Это я просто, показать, что книжки читаю...
#43 by Remark
Можно в условие связи добавить: И (ПлатежноеПоручение.Дата МЕЖДУ &НачДата И &КонДата     И ПлатежноеПоручение.БанковскийСчет.НомерСчета = &Счет)
#44 by Remark
+ Хотя не знаю, как это на производительности скажется по сравнению с ВТ.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С