четверг, 1 сентября 2016 г.

Обработка карточка номенклатуры в поле описания.

Обработка карточка номенклатуры в поле описания.

Проверяет внесенные строки, и добваляет перед ними вертикальную черту.




&НаСервере
Процедура ОбработкаНаСервере()

Выборка = Справочники.Номенклатура.Выбрать();

Пока Выборка.Следующий() Цикл
Если  Выборка.ЭтоГруппа = Ложь Тогда

ВыходИзСпискаЦикла = Ложь;
ОбъектНоменклатуры = Выборка.ПолучитьОбъект();
ИсходныйТекст =  ОбъектНоменклатуры.Описание;

Если СтрЧислоСтрок(ИсходныйТекст) > 1 Тогда
КоличСтрок = СтрЧислоСтрок(ИсходныйТекст);
Массив = Новый Массив(КоличСтрок) ;
СчетчикСтроки = 1;
КолСтрок = КоличСтрок - 1;
Для Счетчик = 0 По КолСтрок Цикл

Если  Счетчик = 0 Тогда
ТекСтрока = СтрПолучитьСтроку(ИсходныйТекст, СчетчикСтроки);
Иначе
ТекСтрока = СтрПолучитьСтроку(ИсходныйТекст, СчетчикСтроки);
КонецЕсли;

Если  Найти(ТекСтрока, Символ(124)) = 0 ИЛИ Найти(ТекСтрока, Символ(124)) = НеОпределено Тогда
Если  Счетчик  = 0 Тогда
Массив[Счетчик] = СтрЗаменить(ТекСтрока, ТекСтрока ,ТекСтрока + Символы.ПС);
Иначе
Массив[Счетчик] = СтрЗаменить(ТекСтрока, ТекСтрока ,Символ(124) + ТекСтрока + Символы.ПС);
КонецЕсли;
Иначе

       ВыходИзСпискаЦикла = Истина;
        Прервать
//Исключение  // ВызватьИсключение  ("ф") //Прервать
КонецЕсли;
СчетчикСтроки = СчетчикСтроки + 1
КонецЦикла;

Если   ВыходИзСпискаЦикла = Ложь Тогда
ОбъектНоменклатуры.Описание = "";
ОбъектНоменклатуры.Записать();
//ИсходныйТекст  =   "" ;
Для Каждого ЭлементМассива из Массив Цикл
ОбъектНоменклатуры.Описание =  ОбъектНоменклатуры.Описание + ЭлементМассива
//ИсходныйТекст = ИсходныйТекст + ЭлементМассива
КонецЦикла;
ОбъектНоменклатуры.Записать();
КонецЕсли;
КонецЕсли;

 КонецЕсли
КонецЦикла;

КонецПроцедуры

Комментариев нет:

Отправить комментарий