Функция РазобратьCSVСтроку(п_стр, п_разд)
рез = Новый Массив;
к_откр = Ложь;
нач_симв=1;
Для сч=1 По СтрДлина(п_стр) Цикл
лТекСимв = Сред(п_стр, сч, 1);
Если лТекСимв = """" Тогда
Если НЕ к_откр И (сч=1 ИЛИ сч>1 И Сред(п_стр, сч-1, 1)=п_разд) Тогда
ост_стр = Прав(п_стр, СтрДлина(п_стр)-сч);
Если Прав(ост_стр,1)="""" ИЛИ Найти(ост_стр, """"+п_разд) <> 0 Тогда
к_откр = Истина;
нач_симв = сч+1;
КонецЕсли;
ИначеЕсли к_откр Тогда
Если СтрДлина(п_стр) > сч И Сред(п_стр, сч+1, 1)=п_разд Тогда
рез.Добавить(Сред(п_стр, нач_симв, сч-нач_симв));
к_откр = Ложь;
сч=сч+1;
нач_симв = сч+1;
Если СтрДлина(п_стр) = сч Тогда
рез.Добавить("");
КонецЕсли;
ИначеЕсли СтрДлина(п_стр) = сч Тогда
рез.Добавить(Сред(п_стр, нач_симв, сч-нач_симв));
к_откр = Ложь;
нач_симв = сч;
КонецЕсли;
КонецЕсли;
ИначеЕсли лТекСимв = п_разд И НЕ к_откр Тогда
рез.Добавить(Сред(п_стр, нач_симв, сч-нач_симв));
нач_симв = сч+1;
Если СтрДлина(п_стр) = сч Тогда
рез.Добавить("");
КонецЕсли;
ИначеЕсли СтрДлина(п_стр) = сч Тогда
рез.Добавить(Сред(п_стр, нач_симв, сч+1-нач_симв));
КонецЕсли;
КонецЦикла;
Возврат рез;
КонецФункции
Тестировалось на платформе 8.3.10.