Имя: Пароль:
1C
1С v8
Перенумерация док-тов: убрать нули справа
,
0 листопад
 
20.08.15
21:20
Помогите изменить нумерацию у документов: отсечь справа нули. Например, номер вида 180-окл0000 надо сделать 180-окл.

Вот код:

&НаСервере
Процедура ИзменитьНумерациюНаСервере()
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    КадровыйПеревод.Ссылка
    |ИЗ
    |    Документ.КадровыйПеревод КАК КадровыйПеревод
    |ГДЕ
    |    КадровыйПеревод.Номер ПОДОБНО &ПрефиксПеревода
    |    И КадровыйПеревод.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    |    И КадровыйПеревод.ПометкаУдаления = ЛОЖЬ";
    
    Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
    Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
    Запрос.УстановитьПараметр("ПрефиксПеревода", "%" + ПрефиксПеремещения+ "%");
    
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Об= ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
        Пока Прав(об.Номер, 1) = "0" Цикл
            // вот здесь как отсечь нули, чтобы из 180-окл0000 получить 180-окл
            об.записать();
        КонецЦикла;
    КонецЦикла;
    
КонецПроцедуры

&НаКлиенте
Процедура ИзменитьНумерацию(Команда)
    ИзменитьНумерациюНаСервере();
КонецПроцедуры
1 mehfk
 
20.08.15
21:25
обНомер = об.Номер;
    Пока Прав(обНомер, 1) = "0" Цикл
       обНомер = Лев(обНомер, СтрДлина(обНомер) - 1);


        КонецЦикла;
об.Номер = обНомер;
            об.записать();
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn