#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
ТолькоПросмотр = Истина;
УстановитьУсловноеОформление();
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтаФорма);
ИнициализироватьЗначенияРеквизитовФормы();
УправлениеВидимостьюЭлементовФормы();
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", "ГруппаДополнительныеРеквизиты");
УправлениеСвойствами.ПриСозданииНаСервере(ЭтаФорма, ДополнительныеПараметры);
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
МультиязычностьСервер.ПриСозданииНаСервере(ЭтотОбъект, Объект);
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
УправлениеСвойствами.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
МультиязычностьСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтаФорма, ТекущийОбъект);
МультиязычностьСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтаФорма);
МультиязычностьСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
УправлениеСвойствами.ОбработкаПроверкиЗаполнения(ЭтаФорма, Отказ, ПроверяемыеРеквизиты);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если УправлениеСвойствамиКлиент.ОбрабатыватьОповещения(ЭтаФорма, ИмяСобытия, Параметр) Тогда
ОбновитьЭлементыДополнительныхРеквизитов();
УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_Открытие(Элемент, СтандартнаяОбработка)
МультиязычностьКлиент.ПриОткрытии(ЭтотОбъект, Объект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ОбновитьЗависимостиДополнительныхРеквизитов()
УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПриИзмененииДополнительногоРеквизита(Элемент)
УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ОбновитьЭлементыДополнительныхРеквизитов()
УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтаФорма);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат) Экспорт
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Объект, Результат);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_СвойстваВыполнитьКоманду(ЭлементИлиКоманда, НавигационнаяСсылка = Неопределено, СтандартнаяОбработка = Неопределено)
УправлениеСвойствамиКлиент.ВыполнитьКоманду(ЭтотОбъект, ЭлементИлиКоманда, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
Если Не Объект.Ссылка.Пустая() Тогда
ПолноеИмяФормы = "ПланВидовХарактеристик.СтатьиАктивовПассивов.Форма.РазблокированиеРеквизитов";
ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить("ЭтоОбъектФинансовогоУчета", Истина);
ОписаниеОповещения = Новый ОписаниеОповещения("Подключаемый_РазрешитьРедактированиеРеквизитовОбъектаЗавершение", ЭтотОбъект);
РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
ОткрытьФорму(ПолноеИмяФормы, ПараметрыФормы,,,,, ОписаниеОповещения, РежимОткрытияОкна);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъектаЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если ТипЗнч(Результат) = Тип("Массив") И Результат.Количество() > 0 Тогда
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьДоступностьЭлементовФормы(ЭтаФорма, Результат);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьОбъектыНастройки(Команда)
ПолноеИмяФормы = Объект.ИсточникОбъектовНастройки + "." + "ФормаСписка";
ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить("ФиксированныеНастройки", КомпоновщикНастроекОбъектовНастройки.Настройки);
ОткрытьФорму(ПолноеИмяФормы, ПараметрыФормы, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьОбъектыДетальныхНастроек(Команда)
ПолноеИмяФормы = Объект.ИсточникДетальныхНастроек + "." + "ФормаСписка";
ОткрытьФорму(ПолноеИмяФормы,, ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура УстановитьУсловноеОформление()
УсловноеОформление.Элементы.Очистить();
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.НастройкиИспользованияОтборПредставление.Имя);
ЭлементОтбора = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("КомпоновщикНастроекИспользования.Настройки.Отбор.ЛевоеЗначение");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
ЭлементОтбора = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("КомпоновщикНастроекИспользования.Настройки.Отбор.ВидСравнения");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
ЭлементОтбора = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("КомпоновщикНастроекИспользования.Настройки.Отбор.ТипГруппы");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Функциональные опции'"));
КонецПроцедуры
&НаСервере
Процедура ИнициализироватьЗначенияРеквизитовФормы()
ХранилищаЗначений = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект.Ссылка,
"ОтборДанных,ОтборОбъектовНастройки,СвязиФункциональныхОпций");
Если ЗначениеЗаполнено(Объект.ИсточникДанных) Тогда
МетаданныеИсточника = Метаданные.РегистрыНакопления[Объект.ИсточникДанных];
ПредставлениеИсточникаДанных = МетаданныеИсточника.Синоним;
ПараметрыОтраженияДвиженийИсточника = РегистрыНакопления[Объект.ИсточникДанных].ПараметрыОтраженияДвиженийВФинансовомУчете(МетаданныеИсточника);
ПланыВидовХарактеристик.СтатьиАктивовПассивов.ИнициализироватьКомпоновщикНастроекИсточникомДанных(
КомпоновщикНастроекИсточникаДанных, Объект.ИсточникДанных,
ПараметрыОтраженияДвиженийИсточника, УникальныйИдентификатор);
НастройкиОтбораДанных = ХранилищаЗначений.ОтборДанных.Получить();
Если ТипЗнч(НастройкиОтбораДанных) = Тип("НастройкиКомпоновкиДанных") Тогда
КомпоновщикНастроекИсточникаДанных.ЗагрузитьНастройки(НастройкиОтбораДанных);
КонецЕсли;
Элементы.ГруппаОтборДанных.Заголовок = ПредставлениеОтбора(КомпоновщикНастроекИсточникаДанных);
ЗаполнитьТаблицуРесурсов("РесурсыУпр", ПараметрыОтраженияДвиженийИсточника, МетаданныеИсточника);
ЗаполнитьТаблицуРесурсов("РесурсыРегл", ПараметрыОтраженияДвиженийИсточника, МетаданныеИсточника);
ЗаполнитьТаблицуРесурсов("РесурсыВал", ПараметрыОтраженияДвиженийИсточника, МетаданныеИсточника);
ЗаполнитьТаблицуРесурсов("РесурсыКоличество", ПараметрыОтраженияДвиженийИсточника, МетаданныеИсточника);
ВалютныйУчет = ОпределитьИспользованиеУчета("РесурсыВал");
КоличественныйУчет = ОпределитьИспользованиеУчета("РесурсыКоличество");
Элементы.ГруппаРесурсыУпр.Заголовок = ПредставлениеРесурсов("РесурсыУпр");
Элементы.ГруппаРесурсыРегл.Заголовок = ПредставлениеРесурсов("РесурсыРегл");
Если ВалютныйУчет Тогда
Элементы.ГруппаРесурсыВал.Заголовок = ПредставлениеРесурсов("РесурсыВал");
КонецЕсли;
Если КоличественныйУчет Тогда
Элементы.ГруппаРесурсыКоличество.Заголовок = ПредставлениеРесурсов("РесурсыКоличество");
КонецЕсли;
Иначе
ПредставлениеИсточникаДанных = НСтр("ru = 'Статья использует данные корреспондирующих статей'");
КонецЕсли;
Если Объект.ФункциональныеОпции.Количество() > 0 Тогда
ПланыВидовХарактеристик.СтатьиАктивовПассивов.ИнициализироватьКомпоновщикНастроекФункциональнымиОпциями(
КомпоновщикНастроекИспользования, Объект.ФункциональныеОпции, УникальныйИдентификатор);
НастройкиИспользования = ХранилищаЗначений.СвязиФункциональныхОпций.Получить();
Если ТипЗнч(НастройкиИспользования) = Тип("НастройкиКомпоновкиДанных") Тогда
КомпоновщикНастроекИспользования.ЗагрузитьНастройки(НастройкиИспользования);
КонецЕсли;
СтатьяИспользуется = ПланыВидовХарактеристик.СтатьиАктивовПассивов.ИспользованиеСтатьиПоФункциональнымОпциям(
Объект, КомпоновщикНастроекИспользования);
Если СтатьяИспользуется Тогда
ПредставлениеОграниченияИспользования = НСтр("ru = 'Статья используется согласно настроек учета'");
Иначе
ПредставлениеОграниченияИспользования = НСтр("ru = 'Статья не используется согласно настроек учета'");
КонецЕсли;
Иначе
ПредставлениеОграниченияИспользования = НСтр("ru = 'Статья используется всегда'");
КонецЕсли;
Если ЗначениеЗаполнено(Объект.ИсточникОбъектовНастройки) Тогда
МетаданныеОбъектаНастройки = Метаданные.НайтиПоПолномуИмени(Объект.ИсточникОбъектовНастройки);
ПредставлениеОбъектовНастройки = МетаданныеОбъектаНастройки.Синоним;
ПланыВидовХарактеристик.СтатьиАктивовПассивов.ИнициализироватьКомпоновщикНастроекОбъектомНастройки(
КомпоновщикНастроекОбъектовНастройки, Объект.ИсточникОбъектовНастройки,
МетаданныеОбъектаНастройки, УникальныйИдентификатор);
НастройкиОтбораОбъектовНастройки = ХранилищаЗначений.ОтборОбъектовНастройки.Получить();
Если ТипЗнч(НастройкиОтбораОбъектовНастройки) = Тип("НастройкиКомпоновкиДанных") Тогда
КомпоновщикНастроекОбъектовНастройки.ЗагрузитьНастройки(НастройкиОтбораОбъектовНастройки);
КонецЕсли;
Элементы.ГруппаОтборОбъектовНастройки.Заголовок = ПредставлениеОтбора(КомпоновщикНастроекОбъектовНастройки);
Иначе
ПредставлениеОбъектовНастройки = НСтр("ru = 'Настройка отражения данных выполняется для статьи в целом'");
КонецЕсли;
Если ЗначениеЗаполнено(Объект.ИсточникДетальныхНастроек) Тогда
МетаданныеДетальныхНастроек = Метаданные.НайтиПоПолномуИмени(Объект.ИсточникДетальныхНастроек);
ПредставлениеДетальныхНастроек = МетаданныеДетальныхНастроек.Синоним;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УправлениеВидимостьюЭлементовФормы()
Если ЗначениеЗаполнено(Объект.Описание) Тогда
Элементы.Описание.Видимость = Истина;
Иначе
Элементы.Описание.Видимость = Ложь;
КонецЕсли;
Элементы.СтраницаРазрезыНастройки.Видимость = Ложь;
Элементы.СтраницаЗаполнениеСубконто.Видимость = Ложь;
Если ЗначениеЗаполнено(Объект.ИсточникДанных) Тогда
Элементы.ПредставлениеИсточникаДанных.Вид = ВидПоляФормы.ПолеВвода;
Элементы.ПредставлениеИсточникаДанных.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Лево;
Элементы.ГруппаДоступныеПоляИсточникаДанных.Видимость = Истина;
Элементы.ГруппаОтборДанных.Видимость = Истина;
Элементы.ГруппаСоставРесурсов.Видимость = Истина;
ЕстьРесурсыУправленческогоУчета = ОпределитьИспользованиеУчета("РесурсыУпр");
Элементы.ГруппаРесурсыУпр.Видимость = ЕстьРесурсыУправленческогоУчета;
Элементы.НадписьРесурсыУпрОтсутствуют.Видимость = НЕ ЕстьРесурсыУправленческогоУчета;
ЕстьРесурсыРегламентированногоУчета = ОпределитьИспользованиеУчета("РесурсыРегл");
Элементы.ГруппаРесурсыРегл.Видимость = ЕстьРесурсыРегламентированногоУчета;
Элементы.НадписьРесурсыРеглОтсутствуют.Видимость = НЕ ЕстьРесурсыРегламентированногоУчета;
Элементы.НадписьРесурсыВал.Видимость = ВалютныйУчет;
Элементы.ГруппаРесурсыВал.Видимость = ВалютныйУчет;
Элементы.НадписьРесурсыКоличество.Видимость = КоличественныйУчет;
Элементы.ГруппаРесурсыКоличество.Видимость = КоличественныйУчет;
Иначе
Элементы.ПредставлениеИсточникаДанных.Вид = ВидПоляФормы.ПолеНадписи;
Элементы.ПредставлениеИсточникаДанных.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
Элементы.ГруппаДоступныеПоляИсточникаДанных.Видимость = Ложь;
Элементы.ГруппаОтборДанных.Видимость = Ложь;
Элементы.ГруппаСоставРесурсов.Видимость = Ложь;
КонецЕсли;
Если Объект.ФункциональныеОпции.Количество() > 0 Тогда
Элементы.НастройкиИспользованияОтбор.Видимость = Истина;
Элементы.НастройкиИспользованияОтборВидСравнения.Видимость = Ложь;
Элементы.НастройкиИспользованияОтборИспользование.Видимость = Ложь;
Иначе
Элементы.НастройкиИспользованияОтбор.Видимость = Ложь;
КонецЕсли;
Если Элементы.СтраницаРазрезыНастройки.Видимость Тогда
Если ЗначениеЗаполнено(Объект.ИсточникОбъектовНастройки) Тогда
Элементы.ПредставлениеОбъектовНастройки.Вид = ВидПоляФормы.ПолеВвода;
Элементы.ПредставлениеОбъектовНастройки.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Лево;
Элементы.ПредставлениеОбъектовНастройки.ОтображениеПодсказки = ОтображениеПодсказки.ОтображатьСнизу;
Элементы.ОткрытьОбъектыНастройки.Видимость = Истина;
Элементы.ГруппаОтборОбъектовНастройки.Видимость = Истина;
Иначе
Элементы.ПредставлениеОбъектовНастройки.Вид = ВидПоляФормы.ПолеНадписи;
Элементы.ПредставлениеОбъектовНастройки.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
Элементы.ПредставлениеОбъектовНастройки.ОтображениеПодсказки = ОтображениеПодсказки.Нет;
Элементы.ПредставлениеОбъектовНастройки.АвтоМаксимальнаяШирина = Ложь;
Элементы.ОткрытьОбъектыНастройки.Видимость = Ложь;
Элементы.ГруппаОтборОбъектовНастройки.Видимость = Ложь;
КонецЕсли;
Если ЗначениеЗаполнено(Объект.ИсточникДетальныхНастроек) Тогда
Элементы.ГруппаДетальныеНастройки.Видимость = Истина;
Иначе
Элементы.ГруппаДетальныеНастройки.Видимость = Ложь;
КонецЕсли;
КонецЕсли;
Если Элементы.СтраницаЗаполнениеСубконто.Видимость Тогда
Если Объект.ПутиКДаннымСубконто.Количество() > 0 Тогда
Элементы.ПутиКДаннымСубконто.Видимость = Истина;
Элементы.ПредставлениеЗаполненияСубконто.Видимость = Ложь;
Иначе
Элементы.ПутиКДаннымСубконто.Видимость = Ложь;
Элементы.ПредставлениеЗаполненияСубконто.Видимость = Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьТаблицуРесурсов(ИмяКоллекцииРесурсов, ПараметрыОтраженияДвиженийИсточника, МетаданныеИсточника)
РесурсыИсточника = МетаданныеИсточника.Ресурсы;
РеквизитыИсточника = МетаданныеИсточника.Реквизиты;
ТаблицаРесурсов = ЭтотОбъект[ИмяКоллекцииРесурсов];
СоставРесурсовПереопределен = Ложь;
Для Каждого СтрокаРесурса Из Объект[ИмяКоллекцииРесурсов] Цикл
СоставРесурсовПереопределен = Истина;
Если СтрокаРесурса.Коэффициент <> 0 Тогда
Ресурс = РесурсыИсточника.Найти(СтрокаРесурса.ИмяРесурса);
Если Ресурс = Неопределено Тогда
Ресурс = РеквизитыИсточника.Найти(СтрокаРесурса.ИмяРесурса);
КонецЕсли;
Если Ресурс <> Неопределено Тогда
НоваяСтрока = ТаблицаРесурсов.Добавить();
НоваяСтрока.ПредставлениеРесурса = Ресурс.Синоним;
НоваяСтрока.Коэффициент = СтрокаРесурса.Коэффициент;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Если НЕ СоставРесурсовПереопределен Тогда
Для Каждого ИмяРесурса Из ПараметрыОтраженияДвиженийИсточника[ИмяКоллекцииРесурсов] Цикл
Ресурс = РесурсыИсточника.Найти(ИмяРесурса);
Если Ресурс = Неопределено Тогда
Ресурс = РеквизитыИсточника.Найти(ИмяРесурса);
КонецЕсли;
Если Ресурс <> Неопределено Тогда
НоваяСтрока = ТаблицаРесурсов.Добавить();
НоваяСтрока.ПредставлениеРесурса = Ресурс.Синоним;
НоваяСтрока.Коэффициент = 1;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ОпределитьИспользованиеУчета(ИмяКоллекцииРесурсов)
ТаблицаРесурсов = ЭтотОбъект[ИмяКоллекцииРесурсов];
Возврат ТаблицаРесурсов.Количество() > 0;
КонецФункции
&НаСервере
Функция ПредставлениеОтбора(КомпоновщикНастроек)
ПредставлениеОтбора = Строка(КомпоновщикНастроек.Настройки.Отбор);
Если ПустаяСтрока(ПредставлениеОтбора) Тогда
ПредставлениеОтбора = НСтр("ru = 'Без дополнительного отбора'");
КонецЕсли;
Возврат ПредставлениеОтбора;
КонецФункции
&НаСервере
Функция ПредставлениеРесурсов(ИмяКоллекцииРесурсов)
ТаблицаРесурсов = ЭтотОбъект[ИмяКоллекцииРесурсов];
КоличествоРесурсов = ТаблицаРесурсов.Количество();
ПредставлениеРесурсов = "";
РесурсовВПредставлении = 3;
ИндексРесурса = 0;
Пока ИндексРесурса < РесурсовВПредставлении И ИндексРесурса < КоличествоРесурсов Цикл
СтрокаРесурса = ТаблицаРесурсов[ИндексРесурса];
Разделитель = ?(ПредставлениеРесурсов = "", "", ", ");
Разделитель = Разделитель + ?(СтрокаРесурса.Коэффициент < 0, "- ", "");
ПредставлениеРесурсов = ПредставлениеРесурсов + Разделитель + СтрокаРесурса.ПредставлениеРесурса;
ИндексРесурса = ИндексРесурса + 1;
КонецЦикла;
Если КоличествоРесурсов > ИндексРесурса Тогда
Разделитель = НСтр("ru = 'и еще'");
Разделитель = " " + Разделитель + " ";
ПредставлениеРесурсов = ПредставлениеРесурсов + Разделитель + Строка(КоличествоРесурсов - ИндексРесурса);
КонецЕсли;
Возврат ПредставлениеРесурсов;
КонецФункции
#КонецОбласти