Обработка карточка номенклатуры в поле описания.
Проверяет внесенные строки, и добваляет перед ними вертикальную черту.
&НаСервере
Процедура ОбработкаНаСервере()
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.ЭтоГруппа = Ложь Тогда
ВыходИзСпискаЦикла = Ложь;
ОбъектНоменклатуры = Выборка.ПолучитьОбъект();
ИсходныйТекст = ОбъектНоменклатуры.Описание;
Если СтрЧислоСтрок(ИсходныйТекст) > 1 Тогда
КоличСтрок = СтрЧислоСтрок(ИсходныйТекст);
Массив = Новый Массив(КоличСтрок) ;
СчетчикСтроки = 1;
КолСтрок = КоличСтрок - 1;
Для Счетчик = 0 По КолСтрок Цикл
Если Счетчик = 0 Тогда
ТекСтрока = СтрПолучитьСтроку(ИсходныйТекст, СчетчикСтроки);
Иначе
ТекСтрока = СтрПолучитьСтроку(ИсходныйТекст, СчетчикСтроки);
КонецЕсли;
Если Найти(ТекСтрока, Символ(124)) = 0 ИЛИ Найти(ТекСтрока, Символ(124)) = НеОпределено Тогда
Если Счетчик = 0 Тогда
Массив[Счетчик] = СтрЗаменить(ТекСтрока, ТекСтрока ,ТекСтрока + Символы.ПС);
Иначе
Массив[Счетчик] = СтрЗаменить(ТекСтрока, ТекСтрока ,Символ(124) + ТекСтрока + Символы.ПС);
КонецЕсли;
Иначе
ВыходИзСпискаЦикла = Истина;
Прервать
//Исключение // ВызватьИсключение ("ф") //Прервать
КонецЕсли;
СчетчикСтроки = СчетчикСтроки + 1
КонецЦикла;
Если ВыходИзСпискаЦикла = Ложь Тогда
ОбъектНоменклатуры.Описание = "";
ОбъектНоменклатуры.Записать();
//ИсходныйТекст = "" ;
Для Каждого ЭлементМассива из Массив Цикл
ОбъектНоменклатуры.Описание = ОбъектНоменклатуры.Описание + ЭлементМассива
//ИсходныйТекст = ИсходныйТекст + ЭлементМассива
КонецЦикла;
ОбъектНоменклатуры.Записать();
КонецЕсли;
КонецЕсли;
КонецЕсли
КонецЦикла;
КонецПроцедуры
Проверяет внесенные строки, и добваляет перед ними вертикальную черту.
&НаСервере
Процедура ОбработкаНаСервере()
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.ЭтоГруппа = Ложь Тогда
ВыходИзСпискаЦикла = Ложь;
ОбъектНоменклатуры = Выборка.ПолучитьОбъект();
ИсходныйТекст = ОбъектНоменклатуры.Описание;
Если СтрЧислоСтрок(ИсходныйТекст) > 1 Тогда
КоличСтрок = СтрЧислоСтрок(ИсходныйТекст);
Массив = Новый Массив(КоличСтрок) ;
СчетчикСтроки = 1;
КолСтрок = КоличСтрок - 1;
Для Счетчик = 0 По КолСтрок Цикл
Если Счетчик = 0 Тогда
ТекСтрока = СтрПолучитьСтроку(ИсходныйТекст, СчетчикСтроки);
Иначе
ТекСтрока = СтрПолучитьСтроку(ИсходныйТекст, СчетчикСтроки);
КонецЕсли;
Если Найти(ТекСтрока, Символ(124)) = 0 ИЛИ Найти(ТекСтрока, Символ(124)) = НеОпределено Тогда
Если Счетчик = 0 Тогда
Массив[Счетчик] = СтрЗаменить(ТекСтрока, ТекСтрока ,ТекСтрока + Символы.ПС);
Иначе
Массив[Счетчик] = СтрЗаменить(ТекСтрока, ТекСтрока ,Символ(124) + ТекСтрока + Символы.ПС);
КонецЕсли;
Иначе
ВыходИзСпискаЦикла = Истина;
Прервать
//Исключение // ВызватьИсключение ("ф") //Прервать
КонецЕсли;
СчетчикСтроки = СчетчикСтроки + 1
КонецЦикла;
Если ВыходИзСпискаЦикла = Ложь Тогда
ОбъектНоменклатуры.Описание = "";
ОбъектНоменклатуры.Записать();
//ИсходныйТекст = "" ;
Для Каждого ЭлементМассива из Массив Цикл
ОбъектНоменклатуры.Описание = ОбъектНоменклатуры.Описание + ЭлементМассива
//ИсходныйТекст = ИсходныйТекст + ЭлементМассива
КонецЦикла;
ОбъектНоменклатуры.Записать();
КонецЕсли;
КонецЕсли;
КонецЕсли
КонецЦикла;
КонецПроцедуры
Комментариев нет:
Отправить комментарий