Добавление лидирующих нулей в номер документа #794918


#0 by Олеся999
Подскажите пожалуйста, как правильно добавить нули в строку перед номером ? Использовала данную конструкцию, но почему то не добавляет ((
#1 by Amra
А почему должна такая конструкция добавлять? Для этого в типовых функция есть
#2 by Олеся999
#3 by Масянька
Комсомольцы :)
#4 by 1dvd
Формат(0 + Номер, "ЧЦ=6; ЧВН=; ЧГ=0")
#5 by Морозов Александр
в 8-ке не должно быть так все просто... обязательно надо через ж..у.... там через запрос например, СтрДинна, Лев, Прав, Сред....  :-))
#6 by Serg_1960
Все свободны :) символьный номер может содержать префикс(ы)
#7 by НЕА123
Результат = Формат(Число(Сокрлп(Номер)), "ЧЦ=6; ЧВН=; ЧГ=0");
#8 by Рэйв
Сообщить(Прав("00000000000000000",ДлинаНомера-СтрДлина(Номер))+Номер)
#9 by Dmitrii
Это работает, если Номер - число. Не знаю откуда ты взяла этот код, но в 99% случаев в 99% типовых конфигураций Номер - это строка, а не число.
#10 by Рэйв
+Если префиксы есть, то с ними отдельно колдовать надо
#12 by Рэйв
ну так тоже можно
#13 by Олеся999
Да, дак в том то и дело что тип строка.
#14 by h-sp
ну, а функция Формат строку не принимает. Это же известно из курса средней школы. поэтому подсовывайте ей число.
#15 by Олеся999
Что то типо такого ? Номер =  Источник.Номер; Сообщить(Прав("00000000000000000",ДлинаНомера-СтрДлина(Номер))+Номер)
#16 by 1dvd
- дохтур, почему меня все игнорируют? - следующий!
#17 by Serg_1960
"в том то и дело что тип строка" - а я предупреждал :) Формат(Число(Номер), "ЧВН=; ЧЦ=6; ЧГ=0");
#18 by DrZombi
Правильно, 1С сама добавляет нули... :)
#19 by DrZombi
Сейчас окажется, что в качестве номера там буковки. Либо номер формата "9999" от строки 10 символов :)
#20 by DrZombi
+ 100% пользователи требуют дать им руками править номера документов :)
#21 by aka AMIGO
+ при этом капризным голоском требуют, чтобы "она (1с, стало-быть) продолжала нумеровать, как положено!" :) ЗЫ. у нас есть филиал в одном из городов, тамошний замдир использовал 1с, как блокнот для записей: насоздавал документов, часть пометил к удалению, часть не проводил: "Это я храню для памяти!". Надо ли говорить, что номера он тоже ставил свои, после чего бд сообщала, что она о нас думает.. Разъяснили, вроде внял
#22 by Олеся999
Если так : То : Ошибка при выгрузке данных для узла плана обмена     ТипОбъекта             =  Документ объект: Командировки организаций     Объект                 =  Командировки организаций к3 от 07.04.2017 15:15:01     ОписаниеОшибки         =  Ошибка в обработчике события ПередВыгрузкой (свойства)     ПКС                    =  1  (Номер --> Номер)     Объект                 =  Командировки организаций к3 от 07.04.2017 15:15:01  (Документ объект: Командировки организаций)     Обработчик             =  ПередВыгрузкойСвойства     ОписаниеОшибки         =  Ошибка компиляции при вычислении выражения или выполнении фрагмента кода:  Обращение к процедуре как к функции (Сообщить)     УзелПланаОбмена        =  гл Произошла ошибка при выгрузке объектов. Было выгружено: 0 Техническая информация:     ОписаниеОшибки         =  Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(2,13)}: Обращение к процедуре как к функции (Сообщить)
#23 by 1dvd
мозги включай иногда. Сообщить зачем там?
#24 by Махони402
Олеся, позови спеца и дай ему денег. Не мучайся.
#25 by Махони402
А если ты изучением занимаешься, то сначала возьми тему по базовым понятиям языка, потом запросам, и только после этого можно подходить к обменам.
#26 by aka AMIGO
Мда.. Конфигуратор у бд запускается? В нём есть отладчик, можно вручную написать формулы из ветки, сразу увидишь, что не проходит
#27 by Serg_1960
Я предупреждал в
#28 by Serg_1960
От скуки развлекаясь :)
#29 by aka AMIGO
#30 by Amra
Извращенцы. В обработке выгрузки есть функция ДобавитьКПрефиксу . Кто мешает ТС ее использовать в правилах?
#31 by Serg_1960
Если 3.14 Тогда         Сообщить("Фича платформы. Работает - ну и хрен с ней :)");
#32 by Олеся999
#33 by DrZombi
Префикс статичный? Я к тому, что вы проанализируйте номера документов. Может так быть, что там нет цифр, совсем. И в качестве номера луче использовать простой реквизит :)
#34 by Serg_1960
Выключи компьютер и отойди от него - сегодня не твой день.
#35 by aka AMIGO
Второй раз советую: загляни в отладчик, увидишь, что получается Результате и в Значении
#36 by Serg_1960
Ты тоже последуй совету В - "Объект                 =  Командировки организаций к3 от 07.04.2017 15:15:01", где "к3" - это символьный номер документа. С префиксом "к" и числовой частью "3" :)
#37 by Serg_1960
Ака, амиго, посмотри что автор в написала:
#38 by polosov
Смотри  в своей конфигурации общие модули ПрефиксацияОбъектов...
#39 by aka AMIGO
в 22 много букав.. у ТС было полтора часа (!) справиться, в т.ч. применить .. ...
#40 by aka AMIGO
+ а развлекалочка-то забавная.. запомнил идею :)
#41 by Олеся999
Выгружает без ошибок Результат = Прав("00000000000000000" + Номер, 12); Но при загрузке, нули не добавляются.
#42 by Serg_1960
Ваш совет преждевременный и бесполезный. Преждевременный - до тех пор, пока автор не озвучила конфигурацию. Бесполезный - если у автора УПП, в котором общий модуль ПрефиксацияОбъектовСобытия содержит только одну функцию, которая очищает номер если префиксы организаций источника и приёмника не совпадают.
#43 by h-sp
вы вообще фигней какой-то занимаетесь. Там в правиле есть галка "Автоматически приводить к длине приемника". Вы ее поставьте у поля Номер, она вам всё сделает. Не надо какой-то код левый лепить.
#44 by Serg_1960
Бинго, кэп! :)
#45 by Олеся999
Так она добавляет тогда нули в конце.
#46 by Serg_1960
PS: алгоритм нельзя использовать в работе (ограниченное использование). Алгоритм был сознательно "кастомизирован" для более лёгкого восприятия и неработоспособен как таковой при использовании цифр в префиксах и/или суффиксах номеров документов.
#47 by Pahomich
Берешь строку из заведомо большего числа нулей "000...000"+номер и задаешь как номер документа, при присвоении номера база сама лишние нули обрежет по длине номера документа.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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