Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > Работа с текстом 1с 8.2


Автор: Materium 22.12.2012, 18:45
Добрый день! Изучаю 1С 8.2
Хочу проставить артикулы во всей номенклатуре.
Тип артикула - строка, длина пусть 4.
Например: Артикул = "0001"
Теперь в цикле значение нужно увеличивать, чтобы получалось "0002"... "0010".....0011" и т.д. и присваивать очередной номенклатуре.
Подскажите функцию, которая таким образом работает со строкой.


Автор: Materium 23.12.2012, 11:29
Всем большое спасибо за ответы, уже решил сам вот так:

&НаСервере
Процедура Установка()
    НовНомер = 0;
    Результат = Справочники.Номенклатура.Выбрать();
    Пока Результат.Следующий() Цикл
        НовНомер = НовНомер + 1;
        Рез = Результат.ПолучитьОбъект();
        Если Не Рез.ЭтоГруппа Тогда
            Рез.Артикул = ДополнитьСтроку(НовНомер);            
            Рез.Записать();
        КонецЕсли;
    КонецЦикла;
    Сообщить("Обработка справочника окончена, Артикулы заполнены!");
КонецПроцедуры

&НаСервере
Функция ДополнитьСтроку(Знач Парам)
    Длина=4;
    Парам = "" + Парам;
    Добавить = Длина - СтрДлина(Парам);
        Если Добавить > 0  Тогда
            Добавок="";
            Для Сч = 1 По Добавить  Цикл
            Добавок=Добавок + "0";
            КонецЦикла;
            Возврат Добавок+Парам;
        Иначе
            Возврат    Парам;
        КонецЕсли;
КонецФункции

Автор: VOdesse 9.1.2013, 11:54
Юра Столбовский
Вот вам правильный результат:
&НаСервере
Процедура Установка()
НовНомер = 1;
Результат = Справочники.Номенклатура.Выбрать();

Пока Результат.Следующий() Цикл

Рез = Результат.ПолучитьОбъект();
Если Рез.ЭтоГруппа Тогда
Продолжить;
КонецЕсли;
Рез.Артикул = Формат(НовНомер,"ЧЦ=4; ЧВН=; ЧГ=0");
Рез.Записать();
НовНомер = НовНомер + 1;

КонецЦикла;

Сообщить(“Обработка справочника окончена, Артикулы заполнены!”);
КонецПроцедуры

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)