// Функция преобразовывает строку // вида: "Введен на основании: Счет на оплату № 000415 от 30 июня 2008 г." // и возвращает массив содержащий название документа, номер и дату Функция РазбитьСтрокуДокументаНаНомерИДату(Стр) Симв1 = Найти(Стр,":"); Симв2 = Найти(Стр,"№"); Симв3 = Найти(Стр,"от"); РезМассив = Новый Массив; РезМассив.Добавить(СокрЛП(Сред(Стр,Симв1+1, Симв2-Симв1-1))); РезМассив.Добавить(СокрЛП(Сред(Стр,Симв2+1, Симв3-Симв2-1))); РезМассив.Добавить(СокрЛП(Сред(Стр,Симв3+2, СтрДлина(Стр)-Симв3))); Возврат РезМассив; КонецФункции //Пример обращения Реквизит1 = "Введен на основании: Счет на оплату № 000415 от 30 июня 2008 г."; МассивСДанными = РазбитьСтрокуДокументаНаНомерИДату(Реквизит1); Сообщить("Документ - "+МассивСДанными[0]); Сообщить("Номер - "+МассивСДанными[1]); Сообщить("Дата - "+МассивСДанными[2]); // Результат Будет // Документ - Счет на оплату // Номер - 000415 // Дата - 30 июня 2008 г.
// Функция преобразовавает строку // вида: "Введен на основании: Счет на оплату № 000415 от 30 июня 2008 г." // и возвращает массив содержащий название документа, номер и дату Функция РазбитьСтрокуДокументаНаНомерИДату(Стр) Симв1 = Найти(Стр,":"); Симв2 = Найти(Стр,"№"); Симв3 = Найти(Стр,"от"); Список = СоздатьОбъект("СписокЗначений"); Список.ДобавитьЗначение(СокрЛП(Сред(Стр,Симв1+1, Симв2-Симв1-1))); Список.ДобавитьЗначение(СокрЛП(Сред(Стр,Симв2+1, Симв3-Симв2-1))); Список.ДобавитьЗначение(СокрЛП(Сред(Стр,Симв3+2, СтрДлина(Стр)-Симв3))); Возврат Список; КонецФункции //******************************************* Процедура Сформировать() Реквизит1 = "Введен на основании: Счет на оплату № 000415 от 30 июня 2008 г."; СпЗсДанными = РазбитьСтрокуДокументаНаНомерИДату(Реквизит1); Сообщить("Документ - "+ СпЗсДанными.ПолучитьЗначение(1)); Сообщить("Номер - "+ СпЗсДанными.ПолучитьЗначение(2)); Сообщить("Дата - "+ СпЗсДанными.ПолучитьЗначение(3)); КонецПроцедуры