gifts2017

Удаление начальных и конечных пробелов

Опубликовал Сергей Ященко (dammit666) в раздел Обработки - Обработка справочников

Обработка предназначена для удаления начальных и конечных пробелов в наименовании элементов справочника "Номенклатура". Работает в конфигурации Управление торговлей 11 (управляемое приложение).

Обработка предназначена для удаления начальных и конечных пробелов в наименовании элементов справочника "Номенклатура". Работает в конфигурации Управление торговлей 11 (управляемое приложение).

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
УдалениеНачальныхИКонечныхПробеловНоменклатуры
.epf 6,45Kb
31.07.13
14
.epf 1 6,45Kb 14 Скачать

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение

Комментарии

1. Александр Шаров (Ta_Da) 31.07.13 20:52
Эм... автор открыл для себя СокрЛП()?
2. Страпот (Bobak) 31.07.13 21:32
Вот даже плюс хотел поставить ... за наглость, но воздержусь. :)
3. Virikus 01.08.13 08:15
Да нет, он походу СокрЛП() еще не открыл, а тупо перебором пробелы удаляет.
4. Virikus 01.08.13 08:19
А нет, вру, действительно открыл СокрЛП()

Вот кусок кода
&НаКлиенте
Процедура УдалитьНачальныеИКонечныеПробелыНоменклатуры(Команда)
	
	Количество = ИнициализироватьОбработку();
	ШагВПроцентах = 10;
	РазмерШага = Цел(Количество / 100 * ШагВПроцентах);
	КоличествоШагов = Цел(Количество / РазмерШага);
	КоличествоЦел = КоличествоШагов * РазмерШага;
	
	Элементы.Индикатор.МаксимальноеЗначение = Количество;
	
	Для Шаг = 1 По КоличествоШагов Цикл
		
		ОбработатьПорциюНаСервере(АдресДанных, РазмерШага * (Шаг - 1), (РазмерШага * Шаг) - 1);
		Идикатор = Шаг * РазмерШага;
		ОбработкаПрерыванияПользователя();
        ОбновитьОтображениеДанных();
		
	КонецЦикла;
	
	Если КоличествоЦел < Количество Тогда

        ОбработатьПорциюНаСервере(АдресДанных, РазмерШага * КоличествоШагов, Количество - 1);
        Индикатор = Количество;

    КонецЕсли;
		
КонецПроцедуры


&НаСервереБезКонтекста
Процедура ОбработатьПорциюНаСервере(Адрес,Начало,Конец)
	
	Данные = ПолучитьИзВременногоХранилища(Адрес);

    Для Индекс = Начало По Конец Цикл

        СтрокаДанных = Данные[Индекс];
		
		Если СтрокаДанных.Наименование = СокрЛП(СтрокаДанных.Наименование) Тогда
			Продолжить;
		КонецЕсли;
		
		//ПроверкаВыполнена = Ложь;
		//Если СтрокаДанных.ЭтоГруппа Тогда
		//	ПроверкаВыполнена = Истина;
		//Иначе
		//	ПроверкаВыполнена = Ложь;
		//КонецЕсли;
		
		//Если ПроверкаВыполнена Тогда
			
			Объект = СтрокаДанных.Ссылка.ПолучитьОбъект();
			Объект.Наименование = СокрЛП(Объект.Наименование);
			Объект.ОбменДанными.Загрузка = Истина;
			Объект.Записать();
			
		//КонецЕсли;		

    КонецЦикла;	
	
КонецПроцедуры

&НаСервере
Функция ИнициализироватьОбработку()
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Номенклатура.Ссылка,
	|	Номенклатура.Наименование,
	|	Номенклатура.ЭтоГруппа
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура";

	Данные = Запрос.Выполнить().Выгрузить();
	АдресДанных = ПоместитьВоВременноеХранилище(Данные, УникальныйИдентификатор);

	Возврат Данные.Количество();
	
КонецФункции
...Показать Скрыть


Еще то извращение.
5. qwe qwerty (quebracho) 07.08.13 07:21
Если бы это была публикация девушки с красивой фотографией в профиле, оценки были бы другими, да и комментарии тоже. Эх ...
6. Сергей Ященко (dammit666) 07.08.13 08:56
Блин... Понятно, что обработка предельно проста, любой может написать подобное, но публикация была сделана для того, чтобы сэкономить время, - зачем изобретать велик.
7. hopter _ (hopter) 08.08.13 06:43
(6)ага, и выложить еще десяток подобных обработок на каждый справочник
потом недельный обзор с инфостарта приходит на десяток страниц
8. Alex Misanets (Misanets) 08.08.13 10:51
Ммм-да... Про ТОП-100 не забыли? Надо бы порекомендовать))
Выкладывал похожее решение тут ранее "Причесываем" справочник
9. Галина Злобина (gala2009) 10.08.13 11:56
реально такая вещь пригодится при огромном справочнике номенклатуры у клиента
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа