powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / номер документа
9 сообщений из 9, страница 1 из 1
номер документа
    #37693545
Фотография Бахрам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Мне необходимо в ТиС из номера документа. которое хранится в строковом представлении (также может добавляться префикс документа) получить числовое значение, как это сделать
...
Рейтинг: 0 / 0
номер документа
    #37693546
Фотография Бахрам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БахрамВсем привет!
Мне необходимо в ТиС из номера документа. которое хранится в строковом представлении (также может добавляться префикс документа) получить числовое значение, как это сделать

например, СТ000000001 в 1, СТ00000005 в 5 и т.д.
...
Рейтинг: 0 / 0
номер документа
    #37693578
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бахрам, ну, если префикс известен и руками никто номера не ставит свои, тогда просто:
1) от строки номера отбрасываем префикс
2) оставшуюся подстроку преобразуем в число
...
Рейтинг: 0 / 0
номер документа
    #37693621
Фотография Бахрам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitriyZБахрам, ну, если префикс известен и руками никто номера не ставит свои, тогда просто:
1) от строки номера отбрасываем префикс
2) оставшуюся подстроку преобразуем в число
Так ведь этот префикс может, а может и не быть
...
Рейтинг: 0 / 0
номер документа
    #37693665
pail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бахрам,
так ведь и 1С тут ни при чем - обычная обработка строк, начальный уровень программирования.
При такой структуре номера
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
к=стрДлина(номер);
пока к>0 цикл
  если найти("0123456789",прав(номер,к,1))=0 тогда прервать; иначе к=к-1; конецЕсли;
конецЦикла; 
если к=0 тогда 
  сообщить("нет здесь числа в конце строки!");
  НомерЧисло=0;
иначе 
  НомерЧисло=число(прав(номер,к+1));
конецЕсли;
...
Рейтинг: 0 / 0
номер документа
    #37693921
Фотография Бахрам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pailБахрам,
так ведь и 1С тут ни при чем - обычная обработка строк, начальный уровень программирования.
При такой структуре номера
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
к=стрДлина(номер);
пока к>0 цикл
  если найти("0123456789",прав(номер,к,1))=0 тогда прервать; иначе к=к-1; конецЕсли;
конецЦикла; 
если к=0 тогда 
  сообщить("нет здесь числа в конце строки!");
  НомерЧисло=0;
иначе 
  НомерЧисло=число(прав(номер,к+1));
конецЕсли;



Примерно так и сделал, просто думал есть какой нибудь метод получше.
...
Рейтинг: 0 / 0
номер документа
    #37693950
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВЫБОР
КОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 1, 1) = "0"
ТОГДА ""
ИНАЧЕ ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 1, 2) + "-"
КОНЕЦ + ВЫБОР
КОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 4, 7) = "0000000"
ТОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 11, 1)
КОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 4, 6) = "000000"
ТОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 10, 2)
КОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 4, 5) = "00000"
ТОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 9, 3)
КОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 4, 4) = "0000"
ТОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 8, 4)
КОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 4, 3) = "000"
ТОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 7, 5)
КОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 4, 2) = "00"
ТОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 6, 6)
КОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 4, 1) = "0"
ТОГДА ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 5, 7)
ИНАЧЕ ПОДСТРОКА(ТаблицаСчетов.Счет.Номер, 4, 8)
КОНЕЦ КАК Номер,
...
Рейтинг: 0 / 0
номер документа
    #37693982
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1с, у ТС 7.7 :)
...
Рейтинг: 0 / 0
номер документа
    #37694079
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри "тис" не увидел.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / номер документа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]