Имя: Пароль:
1C
1С v8
Удаление префикса в номере документа
0 Vendetta
 
05.11.13
16:42
Добрый вечер!Помогите пожалуйста,у меня проблема:
Нужно найти все документы которые начинаются с "." и отсечь все до номера документа,чтобы в поле номер документа выводились только последние 2 цифры. Вот код,здесь удаляется все как нужно,если начинается номер без точки:
Для Каждого ТекущийПрефикс ИЗ МассивПрефиксовДляОбхода Цикл
        // удаление префикса из номера документа
        Если Найти(Номер, ТекущийПрефикс)=1 Тогда
            Номер = Сред(Номер, СтрДлина(ТекущийПрефикс)+1);
        КонецЕсли;
    // так же, может остаться "минус" впереди
    Если Лев(Номер, 1) = "-" Тогда
        Номер = Сред(Номер, 2);
    КонецЕсли;
    // удаление ведущих нулей
    Пока Лев(Номер, 1)="0" Цикл
        Номер = Сред(Номер, 2);
    КонецЦикла;
1 salvator
 
05.11.13
16:51
Что спросить-то хотел?
2 Vendetta
 
05.11.13
16:55
как мне найти эти номера которые начинаются с "."
3 Пенза58
 
05.11.13
16:57
(2) Лев(Док.Номер,1)="."
4 Serg_1960
 
05.11.13
17:04
Номер = СокрЛП(Номер);
Если Лев(Номер,1) = "." Тогда
   Номер = Прав(Номер,2);
Иначе
   Для Каждого ТекущийПрефикс...
5 Холодильник
 
05.11.13
17:08
отсечь . и перенумеровать ВСЕ документы
6 Пенза58
 
05.11.13
17:09
(4)
спНомеров=Новый СписокЗначений;

Номер = СокрЛП(Номер);
Если Лев(Номер,1) = "." Тогда
   ТекНомер = Прав(Номер,2);

Если спНомеров.НайтиЗначение(ТекНомер)=Неопределено Тогда
Номер=ТекНомер;
спНомеров.ДобавитьЗначение(ТекНомер);

КонецЕсли;
7 Vendetta
 
05.11.13
17:42
спасибо всем большое!
AdBlock убивает бесплатный контент. 1Сергей