|
Как можно улучшить Обработку? | ☑ | ||
---|---|---|---|---|
0
pro3ri
15.06.15
✎
10:41
|
День добрый!
Написал обработку для восстановления нумерации. Как можно улучшить? &НаСервере Процедура ОКНаСервере() Строка = "%"+ Строка+ "%"; //ищем максимальный номер ЗапросМаксНомер = Новый Запрос; ЗапросМаксНомер.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | Номенклатура.Код КАК Код, | Номенклатура.Ссылка КАК Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | НЕ Номенклатура.Код ПОДОБНО &Строка | |УПОРЯДОЧИТЬ ПО | Код УБЫВ"; ЗапросМаксНомер.УстановитьПараметр("Строка", Строка); РезультатЗапроса = ЗапросМаксНомер.Выполнить(); Если РезультатЗапроса.Пустой() Тогда Сообщить("нет максимального номера!"); Иначе Сообщить("есть макс номер!"); КонецЕсли; ВыборкаМаксНомер = РезультатЗапроса.Выбрать(); ВыборкаМаксНомер.Следующий(); ТекущийКод = ВыборкаМаксНомер.Код; ДлинаНомера = СтрДлина(ТекущийКод); //ищем неправильные номера Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Код ПОДОБНО &Строка"; Запрос.УстановитьПараметр("Строка", Строка); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); НовыйНомер = ""; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Объект1 = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект(); Если Не ЗначениеЗаполнено(НовыйНомер) Тогда НовыйНомер = (Число(ТекущийКод))+1; Иначе НовыйНомер = (Число(НовыйНомер))+1; КонецЕсли; НовыйНомерБезПробелов = Строка(СтрЗаменить(НовыйНомер,Символ(160),"")); ДлинаНовогоНомера = СтрДлина(НовыйНомерБезПробелов); РазницаВДлине = ДлинаНомера - ДлинаНовогоНомера; Пока РазницаВДлине>0 Цикл НовыйНомерБезПробелов = "0"+НовыйНомерБезПробелов; РазницаВДлине = РазницаВДлине - 1; КонецЦикла; Объект1.Код = НовыйНомерБезПробелов; Объект1.Записать(); КонецЦикла; КонецПроцедуры &НаКлиенте Процедура ОК(Команда) ОКНаСервере(); Сообщить("Обработка успешно завершена"); КонецПроцедуры |
|||
1
pro3ri
15.06.15
✎
10:42
|
на форме поле ввода строка
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |