Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 ноя 2024, 01:46

Удаление части номера документа

Автор keramik, 06 июн 2015, 12:16

0 Пользователей и 1 гость просматривают эту тему.

vitasw

:)Учитывая, что у пользователя есть доступ к редактированию номера, делать жесткий отбор на количество символов справа - кажется мне не очень дальновидным...

keramik

Я сильно сомневаюсь, что кто-либо из пользователей полезет менять значение поля "Номер". Это надо в конфигурации же менять, а до туда они так просто не доберутся.
Если же доберутся и свернут нумерацию, то будет мне доп. работа.

vitasw

Какой-такой конфигуратор? И зачем пользователю туда лезть?
Имелось ввиду, что любой пользователь ручками в режиме предприятия может изменить номер документа. Допустим было "972", пользователь поменял на "1024". В этом случае код, предложенный cska-fanat-kz,
Прав("000"+Номер,3); // номер - уже без префиксов и лидирующих нулей

вернет неправильный номер. Вот я и указывал, что данный код не совсем корректно использовать.

cska-fanat-kz

Цитата: vitasw от 30 июн 2015, 10:01
Какой-такой конфигуратор? И зачем пользователю туда лезть?
Имелось ввиду, что любой пользователь ручками в режиме предприятия может изменить номер документа. Допустим было "972", пользователь поменял на "1024". В этом случае код, предложенный cska-fanat-kz,
Прав("000"+Номер,3); // номер - уже без префиксов и лидирующих нулей

вернет неправильный номер. Вот я и указывал, что данный код не совсем корректно использовать.


это просто как вариант.
обычно такую конструкцию использую на всю длину номера
Прав("00000000000"+Номер, 11)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

vitasw

:) В типовой - да, согласен. Но тут контекст, немного другой. Ваш код
Цитата: cska-fanat-kz от 01 июл 2015, 06:03Прав("00000000000"+Номер, 11)
вернет опять не совсем то, что хочет ТС.
ТСу надо: "000"+НомерБезПрефиксовИНулей;
Вопрос, естественно ни для вас ни для меня трудностей не составляет, а автору полезно немного мозг напрячь и сделать самостоятельно


cska-fanat-kz

Цитата: vitasw от 01 июл 2015, 09:40
:) В типовой - да, согласен. Но тут контекст, немного другой. Ваш код
Цитата: cska-fanat-kz от 01 июл 2015, 06:03Прав("00000000000"+Номер, 11)
вернет опять не совсем то, что хочет ТС.
ТСу надо: "000"+НомерБезПрефиксовИНулей;
Вопрос, естественно ни для вас ни для меня трудностей не составляет, а автору полезно немного мозг напрячь и сделать самостоятельно



да я пример привел как У СЕБЯ использую! ))
естественно в моем случае получаю строку длиной 11
и это не то, что нужно ТС.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

keramik

Ну почему же. Возвращает то, что надо. Поле "Номер" закрыто от редактирования и вручную в нём ничего изменить нельзя.

vitasw

Если речь идет об типовых конфигурациях - то неправда ваша. Во всех неизмененных документах пользователь может поменять номер.

keramik

Согласен, но мы лишили пользователя такой возможности во избежание путаницы.

vitasw

Не поделитесь опытом - как вы это сделали?

Похожие темы (5)

Рейтинг@Mail.ru

Поиск