Настройка отражения документов в регл учете / Модуль менеджера

файл
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

#Область ДоступныеСчетаУчета

// Функция формирует массивы доступных счетов учета для номенклатуры.
//
// Возвращаемое значение:
//	Структура - Структура массивов доступных счетов учета.
//
Функция ДоступныеСчетаУчетаНоменклатуры() Экспорт
	
	Запрос = Новый Запрос;
	Запрос.Текст = "
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета товаров на складе
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады)
	|	И НЕ ПланСчетов.Забалансовый
	|	И ПланСчетов.Количественный
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета товаров в пути
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И НЕ ПланСчетов.Забалансовый
	|	И ПланСчетов.Количественный
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета передачи на комиссию
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И НЕ ПланСчетов.Забалансовый
	|	И ПланСчетов.Количественный
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета передачи в переработку
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	НЕ ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И НЕ ПланСчетов.Забалансовый
	|	И ПланСчетов.Количественный
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета выручки от продаж
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ПрочиеДоходыИРасходы)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.РеализуемыеАктивы)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета себестоимости продаж
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И ПланСчетов.НалоговыйУчет
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ПрочиеДоходыИРасходы)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.РеализуемыеАктивы)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета НДС продаж
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.СтавкиНДС)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ПрочиеДоходыИРасходы)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.РеализуемыеАктивы)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета НДС при закупке
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.СФПолученные)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета НДС товаров в пути
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.СФВыданные)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета затрат на приобретения товаров
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ЗаготовлениеИПриобретениеМЦ))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета товаров принятых на ответственное хранение
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ
	|		(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТМЦпринятыеНаОтветственноеХранение),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.МатериалыПринятыеВПереработку_))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета материалов принятых в переработку
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.МатериалыПринятыеВПереработку_))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета товаров принятых на комиссию
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыПринятыеНаКомиссию))
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета резервов под обесценение ТМЦ
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РезервыПодСнижениеСтоимостиМЦ))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета резервов под обесценение ТМЦ переданной партнерам
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РезервыПодСнижениеСтоимостиМЦ))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета акцизов при продаже
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|	ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ВидыСубконтоСтавкиНДС
	|	ПО ПланСчетов.Ссылка = ВидыСубконтоСтавкиНДС.Ссылка
	|		И ВидыСубконтоСтавкиНДС.ВидСубконто = (ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.СтавкиНДС))
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы)
	|	И ВидыСубконтоСтавкиНДС.Ссылка ЕСТЬ NULL
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Продажи_ЭкспортныеПошлины))
	|	И НЕ ПланСчетов.НалоговыйУчет
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ПрочиеДоходыИРасходы)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.РеализуемыеАктивы)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета отклонений в стоимости товаров
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код";
	
	МассивРезультатов = Запрос.ВыполнитьПакет();
	
	СтруктураСчетовУчета = Новый Структура;
	СтруктураСчетовУчета.Вставить("СчетаУчетаНаСкладе", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[0])); 
	СтруктураСчетовУчета.Вставить("СчетаУчетаВПути", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[1]));
	СтруктураСчетовУчета.Вставить("СчетаУчетаПередачиНаКомиссию", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[2]));
	СтруктураСчетовУчета.Вставить("СчетаУчетаПередачиВПереработку", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[3]));
	СтруктураСчетовУчета.Вставить("СчетаУчетаВыручкиОтПродаж", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[4]));
	СтруктураСчетовУчета.Вставить("СчетаУчетаСебестоимостиПродаж", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[5]));
	СтруктураСчетовУчета.Вставить("СчетаУчетаНДСПриПродаже", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[6]));
	СтруктураСчетовУчета.Вставить("СчетаУчетаНДСПриЗакупке", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[7]));
	СтруктураСчетовУчета.Вставить("СчетаУчетаНДСВПути", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[8]));
	СтруктураСчетовУчета.Вставить("СчетаУчетаЗатратыНаПриобретение", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[9]));
	СтруктураСчетовУчета.Вставить("СчетаУчетаТоваровПринятыхНаОтветственноеХранение", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[10]));
	СтруктураСчетовУчета.Вставить("СчетаУчетаМатериаловПринятыхВПереработку", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[11]));
	СтруктураСчетовУчета.Вставить("СчетаУчетаТоваровПринятыхНаКомиссию", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[12]));
	СтруктураСчетовУчета.Вставить("РезервыПодОбесценениеТМЦ", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[13]));
	СтруктураСчетовУчета.Вставить("РезервыПодОбесценениеПереданные", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[14]));
	СтруктураСчетовУчета.Вставить("АкцизыПриПродаже", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[15]));
	СтруктураСчетовУчета.Вставить("ОтклоненияВСтоимости", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[16]));
	Возврат СтруктураСчетовУчета;
	
КонецФункции

// Функция формирует массивы доступных счетов учета для расчетов с клиентами.
//
// Возвращаемое значение:
//	Структура - Структура массивов доступных счетов учета.
//
Функция ДоступныеСчетаУчетаРасчетов() Экспорт
	
	Запрос = Новый Запрос("
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета расчетов с поставщиками
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)
	|		)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И (ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный) ИЛИ ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.АктивноПассивный))
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета расчетов по авансам, выданным поставщикам
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ФинансовыеВложения)
	|		)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И (ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный) ИЛИ ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.АктивноПассивный))
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета расчетов с клиентами
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ФинансовыеВложения)
	|		)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И (ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный) ИЛИ ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.АктивноПассивный))
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета расчетов по авансам, полученным от клиентов
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)
	|		)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И (ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный) ИЛИ ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.АктивноПассивный))
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета расчетов по комиссионному вознаграждению
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)
	|		)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета расчетов по основному долгу - кредиторы
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоКраткосрочнымКредитамИЗаймам),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоДолгосрочнымКредитамИЗаймам)
	|		)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета расчетов по процентам - кредиторы
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоКраткосрочнымКредитамИЗаймам),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоДолгосрочнымКредитамИЗаймам)
	|		)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета расчетов по комиссии - кредиторы
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И ПланСчетов.Вид <> ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета расчетов по основному долгу, процентам, комиссии - дебиторы
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И ПланСчетов.Вид <> ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СпециальныеСчета))
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ФинансовыеВложения))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета расчетов с комитентами - товары к оформлению по продаже
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|	И ПланСчетов.Вид <> ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета расчетов с комитентами - товары к оформлению по закупке
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|	И ПланСчетов.Вид <> ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета расчетов по аренде
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета переноса задолженности
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ФинансовыеВложения))
	|	И НЕ ПланСчетов.ВидыСубконто.ВидСубконто В (
	|		ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.СФВыданные),
	|		ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.СФПолученные),
	|		ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.РасходыБудущихПериодов),
	|		ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ЦенныеБумаги))
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета процентов по дисконтированию
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И НЕ ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПереводыВПути_))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета резервов по сомнительным долгам
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РезервыПоСомнительнымДолгам))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И ПланСчетов.Вид <> ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета НДС по авансам полученным
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.СФВыданные)
	|	И ПланСчетов.Вид <> ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета НДС по авансам выданным
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НДСпоАвансамИПредоплатамВыданным))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.СФПолученные)
	|	И ПланСчетов.Вид <> ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета расчетов по бронированию
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.РаботникиОрганизаций)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Бронирование)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета расчетов по неотфактурованным поставкам
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)
	|		)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И (ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный) ИЛИ ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.АктивноПассивный))
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.Валютный
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|");
	
	МассивРезультатов = Запрос.ВыполнитьПакет();
	
	СтруктураСчетовУчета = Новый Структура;
	СтруктураСчетовУчета.Вставить("СчетаРасчетовСПоставщиками", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[0]));
	СтруктураСчетовУчета.Вставить("СчетаРасчетовПоАвансамВыданным", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[1]));
	СтруктураСчетовУчета.Вставить("СчетаРасчетовСКлиентами", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[2]));
	СтруктураСчетовУчета.Вставить("СчетаРасчетовПоАвансамПолученным", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[3]));
	СтруктураСчетовУчета.Вставить("СчетаРасчетовПоКомиссии", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[4]));
	СтруктураСчетовУчета.Вставить("СчетаРасчетовСКредиторамиОсновнойДолг", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[5]));
	СтруктураСчетовУчета.Вставить("СчетаРасчетовСКредиторамиПроценты", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[6]));
	СтруктураСчетовУчета.Вставить("СчетаРасчетовСКредиторамиКомиссия", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[7]));
	СтруктураСчетовУчета.Вставить("СчетаРасчетовСДебиторамиОсновнойДолг", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[8]));
	СтруктураСчетовУчета.Вставить("ТоварыКомитентовКОформлениюПоПродаже", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[9]));
	СтруктураСчетовУчета.Вставить("ТоварыКомитентовКОформлениюПоЗакупке", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[10]));
	СтруктураСчетовУчета.Вставить("СчетаРасчетовПоАренде", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[11]));
	СтруктураСчетовУчета.Вставить("ПереносДолгосрочнойЗадолженности", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[12]));
	СтруктураСчетовУчета.Вставить("ПроцентыПоДисконтированию", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[13]));
	СтруктураСчетовУчета.Вставить("РезервыПоСомнительнымДолгам", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[14]));
	СтруктураСчетовУчета.Вставить("НДСАвансыПолученные", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[15]));
	СтруктураСчетовУчета.Вставить("НДСАвансыВыданные", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[16]));
	СтруктураСчетовУчета.Вставить("СчетаРасчетовПоБронированию", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[17]));
	СтруктураСчетовУчета.Вставить("НеотфактурованныеПоставки", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[18]));
	
	Возврат СтруктураСчетовУчета;

КонецФункции

// Функция формирует массивы доступных счетов учета для прочих доходов.
//
// Возвращаемое значение:
//	Структура - Структура массивов доступных счетов учета.
//
Функция ДоступныеСчетаУчетаПрочихДоходов() Экспорт
	
	Запрос = Новый Запрос("
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ПрочиеДоходыИРасходы)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НераспределеннаяПрибыль))
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код
	|;
	|");
	
	Результат = Запрос.Выполнить();
	
	СтруктураСчетовУчета = Новый Структура;
	СтруктураСчетовУчета.Вставить("СчетаПрочихДоходов", МассивСчетовИзРезультатаЗапроса(Результат));
	
	Возврат СтруктураСчетовУчета;

КонецФункции

// Функция формирует массивы доступных счетов учета для расходов.
//
// Параметры:
// 	 ВерсияРазделаСчетов - Строка -	для поддержки совместимости со предыдущими версиями структуры счетов
// 	 								например "2.2", для актуальной версии параметр не задается
//
// Возвращаемое значение:
//	Структура - Структура массивов доступных счетов учета.
//
Функция ДоступныеСчетаУчетаРасходов(ВерсияРазделаСчетов = "") Экспорт
	
	Запрос = Новый Запрос(
	"////////////////////////////////////////////////////////////////////////////////
	|// Счета учета Расходов
	// Прочие расходы
	|ВЫБРАТЬ
	|	""СчетаПрочихРасходов"" КАК РазделСчета,
	|	""СчетаПрочихРасходов"" КАК РазделСчета2_2,
	|	План.Ссылка КАК Ссылка,
	|	План.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК План
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		ПланСчетов.Хозрасчетный.ВидыСубконто КАК Виды
	|	ПО
	|		План.Ссылка = Виды.Ссылка
	|		И Виды.ВидСубконто В (ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ПрочиеДоходыИРасходы))
	|
	|ГДЕ
	|	План.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ План.Забалансовый
	|	И НЕ План.Количественный
	|	И НЕ План.ЗапретитьИспользоватьВПроводках
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	""СчетаРасходов"",
	|	""СчетаРасходов"",
	|	План.Ссылка КАК Ссылка,
	|	План.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК План
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		ПланСчетов.Хозрасчетный.ВидыСубконто КАК Виды
	|	ПО
	|		План.Ссылка = Виды.Ссылка
	|		И Виды.ВидСубконто В (ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.СтатьиЗатрат),
	|							  ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.РасходыБудущихПериодов))
	|
	|ГДЕ
	|	План.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ План.Забалансовый
	|	И НЕ План.Количественный
	|	И НЕ План.ЗапретитьИспользоватьВПроводках
	|	И НЕ План.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НедостачиИПотериОтПорчиЦенностей),
	|								 ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПриобретениеОбъектовОсновныхСредств),
	|								 ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СтроительствоОбъектовОсновныхСредств),
	|								 ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПриобретениеНематериальныхАктивов),
	|								 ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПриобретениеЗемельныхУчастков),
	|								 ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПриобретениеОбъектовПриродопользования),
	|								 ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВыполнениеНИОКР),
	|								 ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НематериальныеПоисковыеАктивы))
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	// Недостачи и расходы на продажу, выбытие ОС и МЦ
	|ВЫБРАТЬ
	|	""СчетаРасходов"",
	|	""СчетаРасходов"",
	|	План.Ссылка,
	|	План.Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК План
	|
	|ГДЕ
	|	План.Ссылка В ИЕРАРХИИ (
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НедостачиИПотериОтПорчиЦенностей),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Продажи_РасходыНаПродажуНеЕНВД),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Продажи_РасходыНаПродажуЕНВД),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Продажи_УправленческиеРасходыНеЕНВД),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Продажи_УправленческиеРасходыЕНВД),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВыбытиеОС),
	|		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВыбытиеМЦ))
	|	И План.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ План.Забалансовый
	|	И НЕ План.Количественный
	|	И НЕ План.ЗапретитьИспользоватьВПроводках
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	// ОС
	|ВЫБРАТЬ
	|	""СчетаРасходов"",
	|	""СчетаОС"",
	|	План.Ссылка,
	|	План.Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК План
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
	|		ПО ХозрасчетныйВидыСубконто.Ссылка = План.Ссылка
	|			И ХозрасчетныйВидыСубконто.НомерСтроки = 1
	|			И ХозрасчетныйВидыСубконто.ВидСубконто В (
	|					ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства),
	|					ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОбъектыСтроительства))
	|	
	|ГДЕ
	|	План.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВложенияВоВнеоборотныеАктивы))
	|	И План.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ План.Забалансовый
	|	И НЕ План.Количественный
	|	И НЕ План.ЗапретитьИспользоватьВПроводках
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	// Объекты строительсва
	|ВЫБРАТЬ
	|	""СчетаРасходов"",
	|	""СчетаОбъектыСтроительства"",
	|	План.Ссылка,
	|	План.Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК План
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
	|		ПО ХозрасчетныйВидыСубконто.Ссылка = План.Ссылка
	|			И ХозрасчетныйВидыСубконто.НомерСтроки = 1
	|			И ХозрасчетныйВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОбъектыСтроительства)
	|
	|ГДЕ
	|	План.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВложенияВоВнеоборотныеАктивы))
	|	И План.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ План.Забалансовый
	|	И НЕ План.Количественный
	|	И НЕ План.ЗапретитьИспользоватьВПроводках
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	// НМА
	|ВЫБРАТЬ
	|	""СчетаРасходов"",
	|	""СчетаНМА"",
	|	План.Ссылка,
	|	План.Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК План
	|
	|ГДЕ
	|	План.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПриобретениеНематериальныхАктивов),
	|								ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВыполнениеНИОКР),
	|								ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НематериальныеПоисковыеАктивы))
	|	И План.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ План.Забалансовый
	|	И НЕ План.Количественный
	|	И НЕ План.ЗапретитьИспользоватьВПроводках
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	""СчетаРасходов"",
	|	""СчетаНМА"",
	|	План.Ссылка,
	|	План.Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК План
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
	|		ПО ХозрасчетныйВидыСубконто.Ссылка = План.Ссылка
	|			И ХозрасчетныйВидыСубконто.НомерСтроки = 1
	|			И ХозрасчетныйВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.НематериальныеАктивы)
	|
	|ГДЕ
	|	План.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВложенияВоВнеоборотныеАктивы))
	|	И План.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ План.Забалансовый
	|	И НЕ План.Количественный
	|	И НЕ План.ЗапретитьИспользоватьВПроводках
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	// Счета списания расходов
	|ВЫБРАТЬ
	|	""СчетаСписания"",
	|	""СчетаСписания"",
	|	План.Ссылка,
	|	План.Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК План
	|	
	|ГДЕ
	|	План.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Продажи_РасходыНаПродажу),
	|							ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Продажи_УправленческиеРасходы),
	|							ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СебестоимостьПродажНеЕНВД),
	|							ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПрочиеРасходы))
	|	И План.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ План.Забалансовый
	|	И НЕ План.Количественный
	|	И НЕ План.ЗапретитьИспользоватьВПроводках
	|;
	|");
	
	СтруктураСчетовУчета = Новый Структура;
	СтруктураСчетовУчета.Вставить("СчетаРасходов",				Новый Массив);
	СтруктураСчетовУчета.Вставить("СчетаПрочихРасходов",		Новый Массив);
	СтруктураСчетовУчета.Вставить("СчетаСписания",				Новый Массив);

	Если Истина Тогда
		СтруктураСчетовУчета.Вставить("СчетаОС",					Новый Массив);
		СтруктураСчетовУчета.Вставить("СчетаОбъектыСтроительства",  Новый Массив);
		СтруктураСчетовУчета.Вставить("СчетаНМА",					Новый Массив);
	КонецЕсли;
	
	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		СтруктураСчетовУчета[Выборка["РазделСчета"+СтрЗаменить(ВерсияРазделаСчетов, ".", "_")]].Добавить(Выборка.Ссылка);
	КонецЦикла;
	
	Возврат СтруктураСчетовУчета;
	
КонецФункции

// Функция формирует массивы доступных счетов учета ТМЦ в эксплуатации.
//
// Возвращаемое значение:
//	Структура - Структура массивов доступных счетов учета.
//
Функция ДоступныеСчетаУчетаТМЦВЭксплуатации() Экспорт
	
	Запрос = Новый Запрос("
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета в эксплуатации
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ПартииМатериаловВЭксплуатации)
	|	И НЕ ПланСчетов.Забалансовый
	|	И ПланСчетов.Количественный
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета забалансового учета в эксплуатации
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ПартииМатериаловВЭксплуатации)
	|	И ПланСчетов.Забалансовый
	|	И ПланСчетов.Количественный
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код");
	
	МассивРезультатов = Запрос.ВыполнитьПакет();
	
	СтруктураСчетовУчета = Новый Структура;
	СтруктураСчетовУчета.Вставить("СчетаУчетаТМЦВЭксплуатации", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[0])); 
	СтруктураСчетовУчета.Вставить("СчетаЗабалансовогоУчета", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[1]));
	
	Возврат СтруктураСчетовУчета;
	
КонецФункции

// Функция формирует массивы доступных счетов учета НЗП.
//
// Возвращаемое значение:
//	Структура - Структура массивов доступных счетов учета.
//
Функция ДоступныеСчетаУчетаНЗП() Экспорт
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ТипыЗатрат)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.СтатьиЗатрат)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ГруппыПродукции)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета резервов под обесценение производства
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РезервыПодСнижениеСтоимостиМЦ))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ГруппыПродукции)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код";
	
	МассивРезультатов = Запрос.ВыполнитьПакет();
	
	СтруктураСчетовУчета = Новый Структура;
	СтруктураСчетовУчета.Вставить("СчетаУчетаНЗП", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[0]));
	СтруктураСчетовУчета.Вставить("РезервыПодОбесценениеПроизводства", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[1]));
	
	Возврат СтруктураСчетовУчета;
	
КонецФункции

// Функция формирует массивы доступных счетов учета денежных средств.
//
// Возвращаемое значение:
//	Структура - Структура массивов доступных счетов учета.
//
Функция ДоступныеСчетаУчетаДенежныхСредств() Экспорт
	Запрос = Новый Запрос("
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета безналичных денежных средств
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.БанковскиеСчета)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета наличных денежных средств
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Касса))
	|	И ПланСчетов.ВидыСубконто.ВидСубконто <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ДенежныеДокументы)
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|");
	
	МассивРезультатов = Запрос.ВыполнитьПакет();
	
	СтруктураСчетовУчета = Новый Структура;
	СтруктураСчетовУчета.Вставить("СчетаБезналичныхДенежныхСредств", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[0]));
	СтруктураСчетовУчета.Вставить("СчетаНаличныхДенежныхСредств", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[1]));
	
	Возврат СтруктураСчетовУчета;
	
КонецФункции

// Функция формирует массивы доступных счетов учета внеоборотных активов.
//
// Возвращаемое значение:
//	Структура - Структура массивов доступных счетов учета.
//
Функция ДоступныеСчетаУчетаВнеоборотныхАктивов() Экспорт
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"/////////////////////////////////////////////////////////////////////////////
	|// Счета учета стоимости основных средств
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновныеСредства), ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ДоходныеВложенияВ_МЦ))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета стоимости основных средств (целевое финансирование)
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновныеСредства))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета стоимости нематериальных активов
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.НематериальныеАктивы)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НематериальныеАктивы))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета стоимости нематериальных активов (целевое финансирование)
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.НематериальныеАктивы)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НематериальныеАктивы))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета амортизации основных средств
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.АмортизацияОсновныхСредств))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета амортизации основных средств (целевое финансирование)
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.АмортизацияОсновныхСредств))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета амортизации нематериальных активов
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.НематериальныеАктивы)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.АмортизацияНематериальныхАктивов))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета амортизации нематериальных активов (целевое финансирование)
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.НематериальныеАктивы)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.АмортизацияНематериальныхАктивов))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета выбытия основных средств
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновныеСредства), ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ДоходныеВложенияВ_МЦ))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета резерва дооценки основных средств
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПриростСтоимостиПоПереоценке))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета резерва дооценки нематериальных активов
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.НематериальныеАктивы)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПриростСтоимостиПоПереоценке))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета забалансового учета ОС
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ПланСчетовВидыСубконто
	|		ПО ПланСчетов.Ссылка = ПланСчетовВидыСубконто.Ссылка
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто В (
	|				ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства),
	|				ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты))
	|	И ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И НЕ ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновныеСредстваСданныеВАренду))
	|
	|СГРУППИРОВАТЬ ПО
	|	ПланСчетов.Ссылка,
	|	ПланСчетов.Код
	|
	|ИМЕЮЩИЕ
	|	КОЛИЧЕСТВО(ПланСчетовВидыСубконто.Ссылка) = 2 И
	|	СУММА(ВЫБОР
	|			КОГДА ПланСчетовВидыСубконто.ВидСубконто В (
	|					ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства),
	|					ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты))
	|				ТОГДА 1
	|			ИНАЧЕ 0
	|		КОНЕЦ) = 2
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета обесценения основных средств
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета обесценения нематериальных активов
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.НематериальныеАктивы)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета арендных платежей
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И ПланСчетов.НалоговыйУчет
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета негарантированной ликвидационной стоимости
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И ПланСчетов.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
	|	И НЕ ПланСчетов.Валютный И ПланСчетов.НалоговыйУчет
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета процентного дисконта по аренде
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры)
	|	И ПланСчетов.НалоговыйУчет
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета налог на прибыль от операций переоценки основных средств
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ВариантыНалогообложенияПрибыли)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ВидыОперацийРасчетаНалога)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НалогНаПрибыльОтОперацийПереоценки))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код 
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета налог на прибыль от операций переоценки нематериальных активов
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.НематериальныеАктивы)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ВариантыНалогообложенияПрибыли)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ВидыОперацийРасчетаНалога)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НалогНаПрибыльОтОперацийПереоценки))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код";
	
	РезультатыЗапроса = Запрос.ВыполнитьПакет();
	СтруктураСчетовУчета = Новый Структура;
	
	СтруктураСчетовУчета.Вставить("СчетаСтоимость_ОС",			МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(0)));
	СтруктураСчетовУчета.Вставить("СчетаСтоимость_ОС_ЦФ",		МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(1)));
	СтруктураСчетовУчета.Вставить("СчетаСтоимость_НМА",			МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(2)));
	СтруктураСчетовУчета.Вставить("СчетаСтоимость_НМА_ЦФ",		МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(3)));
	СтруктураСчетовУчета.Вставить("СчетаАмортизация_ОС",		МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(4)));
	СтруктураСчетовУчета.Вставить("СчетаАмортизация_ОС_ЦФ",		МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(5)));
	СтруктураСчетовУчета.Вставить("СчетаАмортизация_НМА",		МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(6)));
	СтруктураСчетовУчета.Вставить("СчетаАмортизация_НМА_ЦФ",	МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(7)));
	СтруктураСчетовУчета.Вставить("СчетаВыбытие_ОС",			МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(8)));
	СтруктураСчетовУчета.Вставить("СчетаРезервДооценки_ОС",		МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(9)));
	СтруктураСчетовУчета.Вставить("СчетаРезервДооценки_НМА",	МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(10)));
	СтруктураСчетовУчета.Вставить("СчетаЗабалансовогоУчета_ОС",	МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(11)));
	СтруктураСчетовУчета.Вставить("СчетаОбесценения_ОС",		МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(12)));
	СтруктураСчетовУчета.Вставить("СчетаОбесценения_НМА",		МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(13)));
	СтруктураСчетовУчета.Вставить("АрендныеПлатежи",			МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(14)));
	СтруктураСчетовУчета.Вставить("НГЛС",						МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(15)));
	СтруктураСчетовУчета.Вставить("ПроцентныйДисконт",			МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(16)));
	СтруктураСчетовУчета.Вставить("СчетаНалогНаПрибыльОтОперацийПереоценкиОС",	МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(17)));
	СтруктураСчетовУчета.Вставить("СчетаНалогНаПрибыльОтОперацийПереоценкиНМА",	МассивСчетовИзРезультатаЗапроса(РезультатыЗапроса.Получить(18)));
	
	Возврат СтруктураСчетовУчета;

КонецФункции

// Функция формирует структуру массивов доступных счетов учета.
// Параметры:
//	РазделыУчета - Массив - массив элементов с типом Строка.
//		Каждый элемент представляет собой имя раздела учета, см. РегистрыСведений.ПорядокОтраженияНаСчетахУчета.СписокРазделовСчетовУчета();
// Возвращаемое значение:
//	Структура - Структура массивов доступных счетов учета.
//
Функция ДоступныеСчетаУчета(РазделыУчета) Экспорт
	
	СтруктураДоступныхСчетов = Новый Структура;
	
	Для каждого РазделУчета Из РазделыУчета Цикл
		
		Если РазделУчета = "НоменклатураСобственная" Или РазделУчета = "Номенклатура" Или РазделУчета = "НоменклатураПереданная" Или РазделУчета = "НоменклатураПринятая" Тогда
			ДоступныеСчетаТекущегоРаздела = ДоступныеСчетаУчетаНоменклатуры();
		КонецЕсли;
		
		Если НастройкаСчетовУчетаКлиентСервер.ВидыРасчетовСПартнерами().Найти(РазделУчета) <> Неопределено
			Или РазделУчета = "РасчетыСПартнерами" Или РазделУчета = "ПодарочныеСертификаты" Тогда
			ДоступныеСчетаТекущегоРаздела = ДоступныеСчетаУчетаРасчетов();
		КонецЕсли;
		
		Если РазделУчета = "Доходы" Тогда
			ДоступныеСчетаТекущегоРаздела = ДоступныеСчетаУчетаПрочихДоходов();
		КонецЕсли;
		
		Если РазделУчета = "Расходы" Тогда
			ДоступныеСчетаТекущегоРаздела = ДоступныеСчетаУчетаРасходов();
		КонецЕсли;
		
		Если РазделУчета = "ТМЦВЭксплуатации" Тогда
			ДоступныеСчетаТекущегоРаздела = ДоступныеСчетаУчетаТМЦВЭксплуатации();
		КонецЕсли;
		
		Если РазделУчета = "Производство" Тогда
			ДоступныеСчетаТекущегоРаздела = ДоступныеСчетаУчетаНЗП();
		КонецЕсли;
		
		Если РазделУчета = "ДенежныеСредства" Тогда
			ДоступныеСчетаТекущегоРаздела = ДоступныеСчетаУчетаДенежныхСредств();
		КонецЕсли;
		
		Если РазделУчета = "ВнеоборотныеАктивы" Тогда
			ДоступныеСчетаТекущегоРаздела = ДоступныеСчетаУчетаВнеоборотныхАктивов();
		КонецЕсли;
		
		Если РазделУчета = "Резервы" Тогда
			ДоступныеСчетаТекущегоРаздела = ДоступныеСчетаУчетаРезервов();
		КонецЕсли;
		
		Если РазделУчета = "Эквайринг" Тогда
			ДоступныеСчетаТекущегоРаздела = ДоступныеСчетаУчетаЭквайринга();
		КонецЕсли;
		
		ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(СтруктураДоступныхСчетов, ДоступныеСчетаТекущегоРаздела, Ложь);
		
	КонецЦикла;
	
	Возврат СтруктураДоступныхСчетов;
	
КонецФункции

#КонецОбласти

// Функция определяет период, в котором находятся документы к отражению в регл. учете.
// 
// Параметры:
// 	МассивОрганизаций - Массив - Организации для отбора
// 	ОрганичениеПериода - СтандартнаяДатаНачала - ограничение периода "сверху".
//
// Возвращаемое значение:
// 	Период - Структура - Структура с полями ДатаНачала и ДатаОкончания.
// 	
Функция ПериодКОтражениюВРеглУчете(МассивОрганизаций, ОрганичениеПериода) Экспорт
	
	УстановитьПривилегированныйРежим(Истина);
	
	Запрос = Новый Запрос("
	|ВЫБРАТЬ
	|	МИНИМУМ(Строки.ДатаОтражения) КАК ДатаНачала,
	|	МАКСИМУМ(Строки.ДатаОтражения) КАК ДатаОкончания
	|ИЗ
	|	РегистрСведений.ОтражениеДокументовВРеглУчете КАК Строки
	|	ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПередачаТоваровМеждуОрганизациями КАК Передачи
	|		ПО Передачи.Ссылка = Строки.Регистратор
	|	ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровМеждуОрганизациями КАК Возвраты
	|		ПО Возвраты.Ссылка = Строки.Регистратор
	|	ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПоКомиссииМеждуОрганизациями КАК ОтчетыПоКомиссии
	|		ПО ОтчетыПоКомиссии.Ссылка = Строки.Регистратор
	|
	|ГДЕ
	|	(Строки.Организация В (&МассивОрганизаций)
	|		ИЛИ Передачи.ОрганизацияПолучатель В (&МассивОрганизаций)
	|		ИЛИ Возвраты.ОрганизацияПолучатель В (&МассивОрганизаций)
	|		ИЛИ ОтчетыПоКомиссии.Комиссионер В (&МассивОрганизаций))
	|	И Строки.Статус <> ЗНАЧЕНИЕ(Перечисление.СтатусыОтраженияДокументовВРеглУчете.ОтраженоВРеглУчете)
	|
	|ИМЕЮЩИЕ
	|	НЕ МИНИМУМ(Строки.ДатаОтражения) ЕСТЬ NULL
	|	ИЛИ НЕ МАКСИМУМ(Строки.ДатаОтражения) ЕСТЬ NULL
	|");
	Запрос.УстановитьПараметр("МассивОрганизаций", МассивОрганизаций);
	
	Период = Новый Структура("ДатаНачала, ДатаОкончания", Дата(1,1,1), Дата(2029, 12, 31));
	
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		Период.ДатаНачала = НачалоДня(Выборка.ДатаНачала);
		Период.ДатаОкончания = КонецДня(Выборка.ДатаОкончания);
	КонецЕсли;
	
	Если ЗначениеЗаполнено(ОрганичениеПериода.Дата) И Период.ДатаОкончания > КонецДня(ОрганичениеПериода.Дата) Тогда
		Период.ДатаОкончания = КонецДня(ОрганичениеПериода.Дата);
	КонецЕсли;
	Если Период.ДатаНачала > Период.ДатаОкончания Тогда
		Период.ДатаНачала = Период.ДатаОкончания;
	КонецЕсли;
	
	УстановитьПривилегированныйРежим(Ложь);
	
	Возврат Период;
	
КонецФункции

// Процедура обновляет таблицы счетов учета, используемые в форме обработки "ФормаНастройки". При обновлении анализируется
// регистр
//	"СчетаРеглУчетаТребующиеНастройки" и на основании данных в нем заполняется информация о требовании настройки. Для таблиц исключений
//	получаются данных по умолчанию (соответствующих счетов учета, указанных непосредственно в общих настройках - аналитиках).
//
//	Параметры:
//		Параметры - Структура - содержит следующие значения:
//			* СтруктураТаблиц - Структура - содержит следующие значения:
//				** Ключ - Строка - Имя соответствующей таблицы для заполнения. На основании переданного имени отрабывается тот или иной запрос;
//				** Значение - ТаблицаЗначений - текущая таблица настроек. Если значение заполнено, то исходные данные берутся из этой таблицы
//				и для нее лишь обновляется информация по необходимости настройки и значения по умолчанию;
//			* Организации - Массив Из СправочникСсылка.Организации - отбор по организациям;
//			* ОрганизацияОтбора - СправочникСсылка.Организации - конкретная организация, анализируемая в форме;
//		АдресРезультата - Строка - результаты обновления таблиц будут записаны во временное хранилище по этому адресу.
//
Процедура ТаблицыНастроекСчетов(Параметры, АдресРезультата) Экспорт
	
	ДополнитьПараметрамиПоУмолчанию(Параметры);
	Запрос = РасчетСебестоимостиПрикладныеАлгоритмы.ИнициализироватьЗапросПоПараметрам(Параметры, Новый МенеджерВременныхТаблиц);
	
	ТекстыЗапроса = Новый СписокЗначений;
	
	Для каждого ЭлементРазделаУчета Из Параметры.СтруктураТаблиц Цикл
		
		СписокТекстовЗапросаТекущегоРаздела = ТекстЗапросаПоРазделу(ЭлементРазделаУчета.Ключ,
			Параметры.ОрганизацииСДолгосрочнымиСчетами.Количество(), ЭлементРазделаУчета.Значение <> Неопределено);
		
		Если ЭлементРазделаУчета.Значение <> Неопределено Тогда
			Запрос.УстановитьПараметр(СтрШаблон("ТаблицаНастроек_%1", ЭлементРазделаУчета.Ключ), ЭлементРазделаУчета.Значение);
		КонецЕсли;
		
		Для каждого ЭлементТекстаЗапроса Из СписокТекстовЗапросаТекущегоРаздела Цикл
			Представление = ?(ЭлементТекстаЗапроса.Пометка, ЭлементТекстаЗапроса.Представление, "");
			ТекстыЗапроса.Добавить(ЭлементТекстаЗапроса.Значение, Представление);
		КонецЦикла;
		Для каждого ЭлементТекстаЗапроса Из СписокТекстовЗапросаТекущегоРаздела Цикл
			Если Не ЭлементТекстаЗапроса.Пометка Тогда
				ТекстыЗапроса.Добавить("УНИЧТОЖИТЬ" + " " + ЭлементТекстаЗапроса.Представление);
			КонецЕсли;
		КонецЦикла;
		
	КонецЦикла;
	
	ТаблицыЗапроса = ОбщегоНазначенияУТ.ВыгрузитьРезультатыЗапроса(Запрос, ТекстыЗапроса,, Истина);
	
	ПоместитьВоВременноеХранилище(ТаблицыЗапроса, АдресРезультата);
	
КонецПроцедуры

// Процедура дополняет параметры запроса настройки счетов учета значениями по умолчанию. Добавляется параметр "ОрганизацииВместеСПустой" - идентичен параметру "Организации",
//	плюс ссылка на пустую, добавляется параметр пустой счет.
//
//	Параметры:
//		Параметры - Структура - содержит следующие значения:
//			* Организации - Массив из СправочникСсылка.Организации - отбор по организациям, если не задано - заполняется всеми доступными организациями;
//			* ОрганизацииСДолгосрочнымиСчетами - Массив Из СправочникСсылка.Организации - отбор по организациям, которые применяют долгосрочные счета учета;
//			* ОрганизацияОтбора - СправочникСсылка.Организации - конкретная организация, анализируемая в форме, если не задано (или пустая ссылка) - "Неопределено".
//
Процедура ДополнитьПараметрамиПоУмолчанию(Параметры) Экспорт
	
	МассивОрганизацийОтбора = Новый Массив;
	Организации = ?(Параметры.Свойство("Организации"), Параметры.Организации, Справочники.Организации.ДоступныеОрганизации(Истина));
	ОбщегоНазначенияКлиентСервер.ДополнитьМассив(МассивОрганизацийОтбора, Организации);
	МассивОрганизацийОтбора.Добавить(Справочники.Организации.ПустаяСсылка());
	ОрганизацииСДолгосрочнымиСчетами = Новый Массив;
	Если Параметры.Свойство("ОрганизацииСДолгосрочнымиСчетами") И Параметры.ОрганизацииСДолгосрочнымиСчетами.Количество() Тогда
		ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ОрганизацииСДолгосрочнымиСчетами, Параметры.ОрганизацииСДолгосрочнымиСчетами);
		ОрганизацииСДолгосрочнымиСчетами.Добавить(Справочники.Организации.ПустаяСсылка());
	КонецЕсли;
	Параметры.Вставить("ОрганизацииВместеСПустой", МассивОрганизацийОтбора);
	Параметры.Вставить("ОрганизацииСДолгосрочнымиСчетами", ОрганизацииСДолгосрочнымиСчетами);
	Параметры.Вставить("Организации", Организации);
	Параметры.Вставить("ОрганизацияОтбора", ?(Параметры.Свойство("ОрганизацияОтбора") И ЗначениеЗаполнено(Параметры.ОрганизацияОтбора), Параметры.ОрганизацияОтбора, Неопределено));
	Параметры.Вставить("ПустойСчет", ПланыСчетов.Хозрасчетный.ПустаяСсылка());
	
КонецПроцедуры

// Функция возвращает текст запроса по разделу настроек счетов учета.
// 
// Параметры:
// 	ИмяРаздела - Строка - раздел по которому необходимо заполнить текст запроса, список возможных разделов см. РегистрыСведений.ПорядокОтраженияНаСчетахУчета.СписокРазделовСчетовУчета();
// 	АнализироватьДолгосрочные - Булево - необходимость анализировать в запросе долгосрочные счета учета, обычно используется если среди организаций отбора участвуют организации,
// 		применяющие долгосрочные счета учета.
// 	ПереданаТаблица - Булево - если "Истина", используется отдельный, упрощенный текст запроса. Обычно используется, когда таблицы обновляются уже в процессе работы с рабочим местом
// 		настроек счетов учета.
//
// Возвращаемое значение:
// 	СписокЗначений из Строка - каждый элемент - отдельная временная таблица, значением выступает текст запроса, представление - имя временной таблицы.
//
Функция ТекстЗапросаПоРазделу(ИмяРаздела, АнализироватьДолгосрочные, ПереданаТаблица) Экспорт
	
	НастройкаРаздела = НастройкаСчетовУчетаСервер.ИнициализироватьСтруктуруНастроекРаздела(ИмяРаздела, Истина);
	СписокТекстовЗапросаТекущегоРаздела = Новый СписокЗначений;
	
	Если ПереданаТаблица Тогда
		ТекстЗапроса = ТекстЗапросаТаблицыНастроекНаОснованииПереданнойТаблицы(ИмяРаздела, НастройкаРаздела);
		СписокТекстовЗапросаТекущегоРаздела.Добавить(ТекстЗапроса, "ТаблицаНастроекСчетовУчета");
	Иначе
		Если АнализироватьДолгосрочные И НастройкаРаздела.ДолгосрочныеСчета.Количество() Тогда
			ТекстЗапроса_ТаблицаНастроек = ТекстЗапроса_ТаблицаНастроек(НастройкаРаздела);
			ТекстЗапроса_ТаблицаНастроек = СтрЗаменить(ТекстЗапроса_ТаблицаНастроек, "ПОМЕСТИТЬ ТаблицаНастроек", "ПОМЕСТИТЬ ТаблицаНастроекПромежуточная");
			СписокТекстовЗапросаТекущегоРаздела.Добавить(ТекстЗапроса_ТаблицаНастроек, "ТаблицаНастроекПромежуточная");
			СписокТекстовЗапросаТекущегоРаздела.Добавить(ТекстЗапроса_ТаблицаНастроекСДолгосрочными(НастройкаРаздела), "ТаблицаНастроек");
		Иначе
			СписокТекстовЗапросаТекущегоРаздела.Добавить(ТекстЗапроса_ТаблицаНастроек(НастройкаРаздела), "ТаблицаНастроек");
		КонецЕсли;
		СписокТекстовЗапросаТекущегоРаздела.Добавить(ТекстЗапроса_АналитикиУчета(НастройкаРаздела), "АналитикиУчета");
		СписокТекстовЗапросаТекущегоРаздела.Добавить(ТекстЗапроса_ОбщиеНастройки(НастройкаРаздела), "ОбщиеНастройки");
		СписокТекстовЗапросаТекущегоРаздела.Добавить(ТекстЗапроса_ТаблицаНастроекСчетовУчета(ИмяРаздела, НастройкаРаздела), "ТаблицаНастроекСчетовУчета");
	КонецЕсли;
	
	СписокТекстовЗапросаТекущегоРаздела.Добавить(ТекстЗапросаГруппировкиТаблицыИсключений(), "ТаблицаНастроекИсключений");
	
	СписокТекстовЗапросаТекущегоРаздела.Добавить(ТекстЗапроса_Результат(НастройкаРаздела), "ТаблицаНастроек_" + ИмяРаздела, Истина);
	
	Возврат СписокТекстовЗапросаТекущегоРаздела;
	
КонецФункции

// Выполняет анализ всех неотраженных операций,
//	ищет для них ненастроенные счета учета и заносит эти данные в регистр ненастроенных счетов учета, после чего обновляет данные по таблицам
//	настройки счетов учета.
//
//	Параметры:
//		СтруктураПараметров - Структура - содержит следующие значения:
//			* Таблицы - Структура - ключ содержит имя таблицы для обновления, значение - не используется.
//			* МассивОрганизаций - Массив - СправочникСсылка.Организации - отбор по организациям, операции которых будут анализироваться;
//			* ДатаОкончанияПериода - СтандартнаяДатаНачала - конец периода определяется на основании этой даты
//				(см. метод "Обработки.НастройкаОтраженияДокументовВРеглУчете.ПериодКОтражениюВРеглУчете");
//		АдресХранилища - результаты обновления таблиц (см. функцию "ТаблицыНастроекСчетов") будут записаны во временное хранилище по этому адресу.
//
Процедура АнализСчетовТребующихНастройкиИОбновлениеТаблиц(СтруктураПараметров, АдресХранилища) Экспорт
	
	ПараметрыАнализа = Новый Структура("МассивОрганизаций, ДатаОкончанияПериода");
	ЗаполнитьЗначенияСвойств(ПараметрыАнализа, СтруктураПараметров);
	ПараметрыАнализа.Вставить("РежимАнализа", "ПоНеотраженным");
	
	РазделыУчета = Новый Массив;
		
	Для каждого Таблица Из СтруктураПараметров.Таблицы Цикл
		
		РазделыУчета.Добавить(Таблица.Ключ);
		
	КонецЦикла;
	
	ПараметрыАнализа.Вставить("РазделыУчета", РазделыУчета);
	
	РегистрыСведений.ПорядокОтраженияНаСчетахУчета.ЗаполнитьРегистрТребующихНастройкиНаОснованииАнализаНеотраженныхОпераций(ПараметрыАнализа);
	
	ПараметрыФоновогоЗадания = Новый Структура;
	ПараметрыФоновогоЗадания.Вставить("Организации", СтруктураПараметров.МассивОрганизаций);
	ПараметрыФоновогоЗадания.Вставить("ОрганизацииСДолгосрочнымиСчетами", СтруктураПараметров.ОрганизацииСДолгосрочнымиСчетами);
	ПараметрыФоновогоЗадания.Вставить("СтруктураТаблиц", СтруктураПараметров.Таблицы);
	ПараметрыФоновогоЗадания.Вставить("ОрганизацияОтбора", Неопределено);
	
	ТаблицыНастроекСчетов(ПараметрыФоновогоЗадания, АдресХранилища);
	
КонецПроцедуры

#Область ПолучениеСостоянийНастройкиОтраженияДокументовВРеглУчете

Процедура СостояниеОффлайновыхРасчетов(Параметры, АдресРезультата) Экспорт
	
	НеВыполненныеОперации = Новый Массив;
	
	ЭтапыЗакрытияМесяца = Новый Массив;
	ЭтапыЗакрытияМесяца.Добавить(Справочники.ОперацииЗакрытияМесяца.РасчетПартийИСебестоимости);
	
	Дата = ?(ЗначениеЗаполнено(Параметры.ДатаОкончанияПериода), Параметры.ДатаОкончанияПериода.Дата, ТекущаяДатаСеанса());
	СостояниеЭтапов = ЗакрытиеМесяцаСервер.ОпределитьСостояниеЭтаповРасчета(ЭтапыЗакрытияМесяца, Дата, Параметры.МассивОрганизаций);
	
	Если СостояниеЭтапов = Перечисления.СостоянияОперацийЗакрытияМесяца.ВыполненоСОшибками
			ИЛИ СостояниеЭтапов = Перечисления.СостоянияОперацийЗакрытияМесяца.НеВыполнено Тогда

			НеВыполненныеОперации.Добавить(НСтр("ru = 'расчета себестоимости'"));
			
	КонецЕсли;
	
	ПоместитьВоВременноеХранилище(НеВыполненныеОперации, АдресРезультата);
	
КонецПроцедуры

Процедура СостояниеОтраженияДокументов(Параметры, АдресРезультата) Экспорт
	
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	МАКСИМУМ(ОтражениеДокументов.ДатаОтражения) КАК ДатаНачала,
	|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОтражениеДокументов.Регистратор) КАК Количество
	|ИЗ
	|	РегистрСведений.ОтражениеДокументовВРеглУчете КАК ОтражениеДокументов
	|ГДЕ
	|	ОтражениеДокументов.Организация В(&МассивОрганизаций)
	|	И ОтражениеДокументов.ДатаОтражения <= &ДатаОкончания
	|	И (&ТекстУсловийПоВидуОперации)
	|
	|ИМЕЮЩИЕ
	|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОтражениеДокументов.Регистратор) > 0";
	
	Запрос.УстановитьПараметр("МассивОрганизаций", Параметры.МассивОрганизаций);
	Запрос.УстановитьПараметр("ДатаОкончания", ?(ЗначениеЗаполнено(Параметры.ДатаОкончанияПериода), Параметры.ДатаОкончанияПериода.Дата, Дата(2399, 1, 1)));
	
	СтрокиУсловийПоВидуОперации = Новый Массив;
	СтрокиУсловийПоВидуОперации.Добавить("ОтражениеДокументов.Статус = &СтатусОтражения");
	
	Если Параметры.ВидЗадания = "ОтраженныеВручную" Тогда
		Запрос.УстановитьПараметр("СтатусОтражения", Перечисления.СтатусыОтраженияДокументовВРеглУчете.ОтраженоВУчетеВручную);
		СтрокиУсловийПоВидуОперации.Добавить("И НЕ ОтражениеДокументов.Регистратор ССЫЛКА Документ.ОперацияБух");
	ИначеЕсли Параметры.ВидЗадания = "НеОтраженныеВручную" Тогда
		Запрос.УстановитьПараметр("СтатусОтражения", Перечисления.СтатусыОтраженияДокументовВРеглУчете.КОтражениюВУчетеВручную);
		СтрокиУсловийПоВидуОперации.Добавить("И НЕ ОтражениеДокументов.Регистратор ССЫЛКА Документ.ОперацияБух");
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "МАКСИМУМ", "МИНИМУМ");
	ИначеЕсли Параметры.ВидЗадания = "Отраженные" Тогда
		Запрос.УстановитьПараметр("СтатусОтражения", Перечисления.СтатусыОтраженияДокументовВРеглУчете.ОтраженоВРеглУчете);
	ИначеЕсли Параметры.ВидЗадания = "НеОтраженные" Тогда
		Запрос.УстановитьПараметр("СтатусОтражения", Перечисления.СтатусыОтраженияДокументовВРеглУчете.КОтражениюВРеглУчете);
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "МАКСИМУМ", "МИНИМУМ");
		Если ПолучитьФункциональнуюОпцию("ОтражатьВРеглУчетеТолькоПроверенныеДокументы") Тогда
			// Добавим внутреннее соединение с регистром проверенных документов, для того, чтобы выбрать только проверенные:
			СтрокаВыборкиТаблицы = "РегистрСведений.ОтражениеДокументовВРеглУчете КАК ОтражениеДокументов";
			СтрокиНовойВыборки = Новый Массив;
			СтрокиНовойВыборки.Добавить(СтрокаВыборкиТаблицы);
			СтрокиНовойВыборки.Добавить("ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыПроверкиДокументов КАК ПроверкаДокументов");
			СтрокиНовойВыборки.Добавить("ПО ОтражениеДокументов.Регистратор = ПроверкаДокументов.Документ");
			СтрокиНовойВыборки.Добавить("И ОтражениеДокументов.Организация = ПроверкаДокументов.Организация");
			ТекстИсключаемыеТипы = "И НЕ ТИПЗНАЧЕНИЯ(ПроверкаДокументов.Документ) В (&ИсключаемыеТипы)";
			ТекстИсключаемыеТипы = СтрЗаменить(ТекстИсключаемыеТипы, "&ИсключаемыеТипы",
				ПроверкаДокументовСервер.ТипыНеПроверяемыхДокументовСтрокой(, "," + Символы.ПС + Символы.Таб + Символы.Таб + Символы.Таб));
			СтрокиНовойВыборки.Добавить(ТекстИсключаемыеТипы);
			НоваяСтрокаВыборки = СтрСоединить(СтрокиНовойВыборки, Символы.ПС + Символы.Таб + Символы.Таб);
			Запрос.Текст = СтрЗаменить(Запрос.Текст, СтрокаВыборкиТаблицы, НоваяСтрокаВыборки);
			Запрос.УстановитьПараметр("СтатусПроверки", Перечисления.СтатусыПроверкиФинансовыхДокументов.Проверен);
			СтрокиУсловийПоВидуОперации.Добавить("И ЕСТЬNULL(ПроверкаДокументов.СтатусПроверки, &СтатусПроверки) = &СтатусПроверки");
		КонецЕсли;
		Если Не ПолучитьФункциональнуюОпцию("ИспользоватьРучнуюКорректировкуПроводокПоРеглУчету") Тогда
			// Если снята галка ручного отражения, но ранее документы были отражены вручную они не будут попадать ни в один из
			// списков, учтем их:
			СтрокиУсловийПоВидуОперации.Добавить("ИЛИ НЕ ОтражениеДокументов.Регистратор ССЫЛКА Документ.ОперацияБух");
		Иначе
			// Могут быть документы, проводки которых в начале корректировались вручную, а потом такое поведение было изменено:
			СтрокиУсловийПоВидуОперации.Добавить("ИЛИ ТИПЗНАЧЕНИЯ(ОтражениеДокументов.Регистратор) В (");
			МассивСтрокДокументовИсключений = Новый Массив;
			Для каждого ИсключаемыйТип Из РеглУчетВыборкиСерверПовтИсп.ИсключенияИзРучнойКорректировкиПроводок() Цикл
				МассивСтрокДокументовИсключений.Добавить("ТИП(Документ." + Метаданные.НайтиПоТипу(ИсключаемыйТип).Имя + ")");
			КонецЦикла;
			СтрокиУсловийПоВидуОперации.Добавить(СтрСоединить(МассивСтрокДокументовИсключений, ","));
			СтрокиУсловийПоВидуОперации.Добавить(")");
		КонецЕсли;
		СтрокиУсловийПоВидуОперации.Добавить("И ОтражениеДокументов.Статус В ("); 
		СтрокиУсловийПоВидуОперации.Добавить("ЗНАЧЕНИЕ(Перечисление.СтатусыОтраженияДокументовВРеглУчете.ОтраженоВУчетеВручную),");
		СтрокиУсловийПоВидуОперации.Добавить("ЗНАЧЕНИЕ(Перечисление.СтатусыОтраженияДокументовВРеглУчете.КОтражениюВУчетеВручную))");
	ИначеЕсли Параметры.ВидЗадания = "ОтраженныеОперациейБух" Тогда
		Запрос.УстановитьПараметр("СтатусОтражения", Перечисления.СтатусыОтраженияДокументовВРеглУчете.ОтраженоВУчетеВручную);
		СтрокиУсловийПоВидуОперации.Добавить("И ОтражениеДокументов.Регистратор ССЫЛКА Документ.ОперацияБух");
	ИначеЕсли Параметры.ВидЗадания = "НеОтраженныеОперациейБух" Тогда
		Запрос.УстановитьПараметр("СтатусОтражения", Перечисления.СтатусыОтраженияДокументовВРеглУчете.КОтражениюВУчетеВручную);
		СтрокиУсловийПоВидуОперации.Добавить("И ОтражениеДокументов.Регистратор ССЫЛКА Документ.ОперацияБух");
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "МАКСИМУМ", "МИНИМУМ");
	ИначеЕсли Параметры.ВидЗадания = "НеУказаныСчетаУчета" Тогда
		Запрос.УстановитьПараметр("СтатусОтражения", Перечисления.СтатусыОтраженияДокументовВРеглУчете.НеУказаныСчетаУчета);
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "МАКСИМУМ", "МИНИМУМ");
	КонецЕсли;
	
	ТекстУсловияПоВидуОперации = СтрСоединить(СтрокиУсловийПоВидуОперации, Символы.ПС + Символы.Таб);
	Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстУсловийПоВидуОперации", ТекстУсловияПоВидуОперации);
	
	Результат = Запрос.Выполнить();
	
	ПоместитьВоВременноеХранилище(Результат, АдресРезультата);
	
КонецПроцедуры

// Считает количество проверенных/не проверенных документов
//
// Параметры:
// 	 Параметры - Структура:
// 	 	* МассивОрганизаций - Массив Из СправочникСсылка.Организации - 
// 	 	* ДатаОкончанияПериода - Дата - 
// 	 	* ВидЗадания - Строка - 
// 	 АдресРезультата - Строка - Адрес во временном хранилище для помещения результата
// 	 
Процедура СостояниеПроверкиДокументов(Параметры, АдресРезультата) Экспорт
	
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	&ТекстПоляДатаНачала КАК ДатаНачала,
	|	КОЛИЧЕСТВО(1) КАК Количество
	|ИЗ
	|	РегистрСведений.СтатусыПроверкиДокументов КАК СтатусыПроверкиДокументов
	|ГДЕ
	|	СтатусыПроверкиДокументов.Организация В(&МассивОрганизаций)
	|	И СтатусыПроверкиДокументов.Период <= &ДатаОкончания
	|	И СтатусыПроверкиДокументов.СтатусПроверки В (&СтатусПроверки)
	|	И НЕ ТИПЗНАЧЕНИЯ(СтатусыПроверкиДокументов.Документ) В (&ИсключаемыеТипыДляПроверки)";
	
	Запрос.УстановитьПараметр("МассивОрганизаций", Параметры.МассивОрганизаций);
	Запрос.УстановитьПараметр("ДатаОкончания", ?(ЗначениеЗаполнено(Параметры.ДатаОкончанияПериода), Параметры.ДатаОкончанияПериода.Дата, Дата(2399, 1, 1)));
	
	Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ИсключаемыеТипыДляПроверки", ПроверкаДокументовСервер.ТипыНеПроверяемыхДокументовСтрокой());
	
	Если Параметры.ВидЗадания = "Проверенные" Тогда
		Запрос.УстановитьПараметр("СтатусПроверки", Перечисления.СтатусыПроверкиФинансовыхДокументов.Проверен);
		ТекстПоляДатаНачала = "МАКСИМУМ(СтатусыПроверкиДокументов.Период)";
	ИначеЕсли Параметры.ВидЗадания = "НеПроверенные" Тогда
		Запрос.УстановитьПараметр("СтатусПроверки", Перечисления.СтатусыПроверкиФинансовыхДокументов.НеПроверен);
		ТекстПоляДатаНачала = "МИНИМУМ(СтатусыПроверкиДокументов.Период)";
	ИначеЕсли Параметры.ВидЗадания = "КПовторнойПроверке" Тогда
		ТекстПоляДатаНачала = "МИНИМУМ(СтатусыПроверкиДокументов.Период)";
		Запрос.УстановитьПараметр("СтатусПроверки", Перечисления.СтатусыПроверкиФинансовыхДокументов.КПовторнойПроверке);
	КонецЕсли;
	
	Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстПоляДатаНачала", ТекстПоляДатаНачала);
	
	Результат = Запрос.Выполнить();
	
	ПоместитьВоВременноеХранилище(Результат, АдресРезультата);
	
КонецПроцедуры

Процедура СостояниеРегламентногоЗадания(Параметры, АдресРезультата) Экспорт
	
	СтруктураВозврата = Новый Структура;
	
	УстановитьПривилегированныйРежим(Истина);
	
	РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
	
	Задание = РегламентныеЗаданияСервер.Задание(Метаданные.РегламентныеЗадания.ОтражениеДокументовВРеглУчете);
	Если РазделениеВключено И ЗначениеЗаполнено(Задание.Шаблон) Тогда
		РасписаниеРегламентногоЗадания = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Задание.Шаблон, "Расписание").Получить();
	Иначе
		РасписаниеРегламентногоЗадания	= Задание.Расписание;
	КонецЕсли;
	ИспользоватьАвтоматическоеОтражениеВУчете = Задание.Использование;	
	СвойстваПоследнегоФоновогоЗадания = ОбщегоНазначенияУТ.ПолучитьСостояниеПоследнегоЗадания(Задание);
	
	УстановитьПривилегированныйРежим(Ложь);
	
	СтруктураВозврата.Вставить("ИспользоватьАвтоматическоеОтражениеВУчете", ИспользоватьАвтоматическоеОтражениеВУчете);
	СтруктураВозврата.Вставить("РазделениеВключено", РазделениеВключено);
	СтруктураВозврата.Вставить("РасписаниеРегламентногоЗадания", РасписаниеРегламентногоЗадания);
	СтруктураВозврата.Вставить("СвойстваПоследнегоФоновогоЗадания", СвойстваПоследнегоФоновогоЗадания);
	
	ПоместитьВоВременноеХранилище(СтруктураВозврата, АдресРезультата);
	
КонецПроцедуры

#КонецОбласти

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

Функция МассивСчетовИзРезультатаЗапроса(РезультатЗапроса)
	
	МассивВозврата = Новый Массив;
	
	Выборка = РезультатЗапроса.Выбрать();
	Пока Выборка.Следующий() Цикл
		МассивВозврата.Добавить(Выборка.Ссылка);
	КонецЦикла;
	
	Возврат МассивВозврата;
	
КонецФункции

Функция ТекстЗапроса_ТаблицаНастроек(ДанныеЗаполнения)
	
	ТекстЗапроса = РегистрыСведений.ПорядокОтраженияНаСчетахУчета.СоставитьДинамическийТекстЗапросаПолученияСчетовУчета(ДанныеЗаполнения.ЭлементыНастройки,, "ТаблицаНастроек", Истина);
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеВыборкиПереопределяемый", "ПорядокОтраженияНаСчетахУчета.Организация В (&ОрганизацииВместеСПустой)");
	
	ТекстЗапроса = ТекстЗапроса + "
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	Организация,
	|	АналитикаУчета,
	|	МестоУчета";
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапроса_ТаблицаНастроекСДолгосрочными(ДанныеЗаполнения)
	
	МассивТекстовЗапроса = Новый Массив;
	
	ТекстЗапроса =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ПорядокОтраженияНаСчетахУчета.Организация КАК Организация,
	|	ПорядокОтраженияНаСчетахУчета.АналитикаУчета КАК АналитикаУчета,
	|	ПорядокОтраженияНаСчетахУчета.МестоУчета КАК МестоУчета,
	|	ПорядокОтраженияНаСчетахУчета.Долгосрочный КАК Долгосрочный,
	|	&ПоляПереопределяемый
	|ПОМЕСТИТЬ ТаблицаНастроек
	|ИЗ
	|	ТаблицаНастроекПромежуточная КАК ПорядокОтраженияНаСчетахУчета";
	
	МассивТекстовПолей = Новый Массив;
	ШаблонСтрокиЗначениеСчетаУчета = "ПорядокОтраженияНаСчетахУчета.%2_%1 КАК %2_%1";
	
	Для каждого ЭлементНастройки Из ДанныеЗаполнения.ЭлементыНастройки Цикл
		
		ТипЭлемента = НастройкаСчетовУчетаКлиентСервер.ПрефиксЭлементаНастройки(ЭлементНастройки);
		ИмяЭлемента = СтрЗаменить(ЭлементНастройки, ТипЭлемента + "_", "");
		МассивТекстовПолей.Добавить(СтрШаблон(ШаблонСтрокиЗначениеСчетаУчета, ИмяЭлемента, ТипЭлемента));
		
	КонецЦикла;
	
	ТекстПоляПереопределяемый = СтрСоединить(МассивТекстовПолей, "," + Символы.ПС + Символы.Таб);
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоляПереопределяемый", ТекстПоляПереопределяемый);
	
	МассивТекстовЗапроса.Добавить(ТекстЗапроса);
	
	ТекстЗапроса =
	"ВЫБРАТЬ
	|	ТаблицаНастроекКраткосрочные.Организация КАК Организация,
	|	ТаблицаНастроекКраткосрочные.АналитикаУчета КАК АналитикаУчета,
	|	ТаблицаНастроекКраткосрочные.МестоУчета КАК МестоУчета,
	|	ИСТИНА КАК Долгосрочный,
	|	&ПоляПереопределяемый
	|ИЗ
	|	ТаблицаНастроекПромежуточная КАК ТаблицаНастроекКраткосрочные
	|	ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаНастроекПромежуточная КАК ТаблицаНастроекДолгосрочные
	|		ПО ТаблицаНастроекДолгосрочные.Организация = ТаблицаНастроекКраткосрочные.Организация
	|			И ТаблицаНастроекДолгосрочные.АналитикаУчета = ТаблицаНастроекКраткосрочные.АналитикаУчета
	|			И ТаблицаНастроекДолгосрочные.МестоУчета = ТаблицаНастроекКраткосрочные.МестоУчета
	|			И ТаблицаНастроекДолгосрочные.Долгосрочный
	|ГДЕ
	|	НЕ ТаблицаНастроекКраткосрочные.Долгосрочный
	|	И ТаблицаНастроекКраткосрочные.Организация В (&ОрганизацииСДолгосрочнымиСчетами)
	|	И ТаблицаНастроекДолгосрочные.Долгосрочный ЕСТЬ NULL";
	
	МассивТекстовПолей = Новый Массив;
	
	Для каждого ЭлементНастройки Из ДанныеЗаполнения.ЭлементыНастройки Цикл
		
		ТипЭлемента = НастройкаСчетовУчетаКлиентСервер.ПрефиксЭлементаНастройки(ЭлементНастройки);
		ЗначениеПоУмолчанию = НастройкаСчетовУчетаКлиентСервер.ЗначениеУмолчанияПоТипуЭлемента(ТипЭлемента);
		МассивТекстовПолей.Добавить(ЗначениеПоУмолчанию);
		
	КонецЦикла;
	
	ТекстПоляПереопределяемый = СтрСоединить(МассивТекстовПолей, "," + Символы.ПС + Символы.Таб);
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоляПереопределяемый", ТекстПоляПереопределяемый);
	
	МассивТекстовЗапроса.Добавить(ТекстЗапроса);
	
	ТекстЗапроса = СтрСоединить(МассивТекстовЗапроса, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
	
	Возврат ТекстЗапроса;
	
КонецФункции

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

Функция ТекстЗапроса_ОбщиеНастройки(ДанныеЗаполнения)
	
	Префикс = "," + Символы.ПС + Символы.Таб;
	
	ТекстЗапроса =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	АналитикиУчета.АналитикаУчета КАК АналитикаУчета,
	|	АналитикиУчета.Организация КАК Организация,
	|	АналитикиУчета.МестоУчета КАК МестоУчета,
	|	ЕСТЬNULL(ПорядокОтражения.Долгосрочный, ЛОЖЬ) КАК Долгосрочный,
	|	&ПоляРеквизитовПереопределяемый,
	|	&СписокЗначенийСчетовУчетаАналитики
	|
	|ПОМЕСТИТЬ ОбщиеНастройки
	|ИЗ
	|	АналитикиУчета КАК АналитикиУчета
	|		ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаНастроек КАК ПорядокОтражения
	|		ПО АналитикиУчета.Организация = ПорядокОтражения.Организация
	|			И АналитикиУчета.АналитикаУчета = ПорядокОтражения.АналитикаУчета
	|			И АналитикиУчета.МестоУчета = ПорядокОтражения.МестоУчета
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	АналитикаУчета";
	
	МассивТекстовСписокЗначенийСчетовУчетаАналитики = Новый Массив;
	
	ШаблонСтрокиЗначениеСчетаУчетаАналитики = "ЕСТЬNULL(ПорядокОтражения.%1, %2) КАК %1";
	
	Для каждого ЭлементНастройки Из ДанныеЗаполнения.ЭлементыНастройки Цикл
		
		ТипЭлемента = НастройкаСчетовУчетаКлиентСервер.ПрефиксЭлементаНастройки(ЭлементНастройки);
		ИмяЭлемента = СтрЗаменить(ЭлементНастройки, ТипЭлемента + "_", "");
		ЗначениеПоУмолчанию = НастройкаСчетовУчетаКлиентСервер.ЗначениеУмолчанияПоТипуЭлемента(ТипЭлемента);
		
		ТекстПоля = СтрШаблон(ШаблонСтрокиЗначениеСчетаУчетаАналитики, ТипЭлемента + "_" + ИмяЭлемента, ЗначениеПоУмолчанию);
		МассивТекстовСписокЗначенийСчетовУчетаАналитики.Добавить(ТекстПоля);
		
	КонецЦикла;
	
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СписокЗначенийСчетовУчетаАналитики", СтрСоединить(МассивТекстовСписокЗначенийСчетовУчетаАналитики, Префикс));
	
	МассивТекстовПолей = Новый Массив;
	Для каждого РеквизитАналитики Из ДанныеЗаполнения.РеквизитыАналитики Цикл
		Если РеквизитАналитики.Ключ = "Организация" Тогда
			ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "АналитикиУчета.Организация = ПорядокОтражения.Организация", РеквизитАналитики.Значение + " = ПорядокОтражения.Организация");
			ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ТаблицаНастроек.Организация <> АналитикиУчета.Организация", "ТаблицаНастроек.Организация <> " + РеквизитАналитики.Значение);
		КонецЕсли;
		Если НастройкаСчетовУчетаКлиентСервер.ЭтоНеРеквизитАналитики(РеквизитАналитики.Ключ) Тогда
			Продолжить;
		КонецЕсли;
		МассивТекстовПолей.Добавить(СтрШаблон("АналитикиУчета.%1 КАК %1", РеквизитАналитики.Ключ));
	КонецЦикла;
	ТекстПоляПереопределяемый = ?(МассивТекстовПолей.Количество(), Префикс + СтрСоединить(МассивТекстовПолей, Префикс), "");
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, Префикс + "&ПоляРеквизитовПереопределяемый", ТекстПоляПереопределяемый);
	
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапроса_ТаблицаНастроекСчетовУчета(РазделУчета, ДанныеЗаполнения)
	
	Префикс = "," + Символы.ПС + Символы.ПС + Символы.Таб;
	ТекстыЗапросаТаблицыНастроек = Новый Массив;
	
	ТекстЗапроса =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ТаблицаНастроек.АналитикаУчета КАК АналитикаУчета,
	|	ТаблицаНастроек.Организация КАК Организация,
	|	ТаблицаНастроек.МестоУчета КАК МестоУчета,
	|	ТаблицаНастроек.Долгосрочный КАК Долгосрочный,
	|
	|	&ПоляРеквизитовПереопределяемый,
	|
	|	&СписокЗначенийСчетовУчетаИсключения,
	|
	|	&СчетаУчетаПоУмолчаниюИсключения КАК СчетаУчетаПоУмолчанию,
	|
	|	ЛОЖЬ КАК ЭтоОбщаяНастройка,
	|	"""" КАК ИзмененныеДанные,
	|	ЛОЖЬ КАК Удалить
	|
	|ПОМЕСТИТЬ ТаблицаНастроекСчетовУчета
	|ИЗ
	|	ТаблицаНастроек КАК ТаблицаНастроек
	|		ЛЕВОЕ СОЕДИНЕНИЕ ОбщиеНастройки КАК ОбщиеНастройки
	|		ПО ТаблицаНастроек.АналитикаУчета = ОбщиеНастройки.АналитикаУчета
	|		И ТаблицаНастроек.Долгосрочный = ОбщиеНастройки.Долгосрочный
	|ГДЕ
	|	ТаблицаНастроек.Организация <> ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)";
	
	МассивТекстовСписокЗначенийСчетовУчетаИсключения = Новый Массив;
	МассивТекстовСчетаУчетаПоУмолчаниюИсключения = Новый Массив;
	
	ШаблонСтрокиЗначениеСчетаУчетаИсключения = "ВЫБОР КОГДА ТаблицаНастроек.%2_%1 = %3
	|		ТОГДА ЕСТЬNULL(ОбщиеНастройки.%2_%1, %3)
	|		ИНАЧЕ ТаблицаНастроек.%2_%1 КОНЕЦ КАК %2_%1";
	ШаблонСтрокиСчетаУчетаПоУмолчаниюИсключения = "ВЫБОР КОГДА ТаблицаНастроек.%2_%1 = %3 И ЕСТЬNULL(ОбщиеНастройки.%2_%1, %3) <> %3 ТОГДА ""%4"" ИНАЧЕ """" КОНЕЦ";
	
	Для каждого ЭлементНастройки Из ДанныеЗаполнения.ЭлементыНастройки Цикл
		
		ТипЭлемента = НастройкаСчетовУчетаКлиентСервер.ПрефиксЭлементаНастройки(ЭлементНастройки);
		ИмяЭлемента = СтрЗаменить(ЭлементНастройки, ТипЭлемента + "_", "");
		ЗначениеПоУмолчанию = НастройкаСчетовУчетаКлиентСервер.ЗначениеУмолчанияПоТипуЭлемента(ТипЭлемента);
		ТекстПоля = СтрШаблон(ШаблонСтрокиЗначениеСчетаУчетаИсключения, ИмяЭлемента, ТипЭлемента, ЗначениеПоУмолчанию);
		Если ТипЭлемента = "ДопПоле" Тогда
			ТекстПоля = СтрЗаменить(ТекстПоля, "= ЛОЖЬ", "= НЕОПРЕДЕЛЕНО");
		КонецЕсли;
		МассивТекстовСписокЗначенийСчетовУчетаИсключения.Добавить(ТекстПоля);
		НаименованиеПоля = ?(ТипЭлемента = "СчетУчета", "", ТипЭлемента + "_") + ИмяЭлемента;
		ТекстПоля = СтрШаблон(ШаблонСтрокиСчетаУчетаПоУмолчаниюИсключения, ИмяЭлемента, ТипЭлемента, ЗначениеПоУмолчанию, НаименованиеПоля);
		МассивТекстовСчетаУчетаПоУмолчаниюИсключения.Добавить(ТекстПоля);
		
	КонецЦикла;
	
	МассивТекстовПолей = Новый Массив;
	Для каждого РеквизитАналитики Из ДанныеЗаполнения.РеквизитыАналитики Цикл
		Если НастройкаСчетовУчетаКлиентСервер.ЭтоНеРеквизитАналитики(РеквизитАналитики.Ключ) Тогда
			Продолжить;
		КонецЕсли;
		МассивТекстовПолей.Добавить(СтрШаблон("ЕСТЬNULL(ОбщиеНастройки.%1, %2) КАК %1", РеквизитАналитики.Ключ, РеквизитАналитики.Значение));
	КонецЦикла;
	ТекстПоляПереопределяемый = ?(МассивТекстовПолей.Количество(), Префикс + СтрСоединить(МассивТекстовПолей, "," + Символы.ПС + Символы.Таб), "");
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, Префикс + "&ПоляРеквизитовПереопределяемый", ТекстПоляПереопределяемый);
	
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СписокЗначенийСчетовУчетаИсключения", СтрСоединить(МассивТекстовСписокЗначенийСчетовУчетаИсключения, "," + Символы.ПС + Символы.Таб));
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СчетаУчетаПоУмолчаниюИсключения", """,""+" + СтрСоединить(МассивТекстовСчетаУчетаПоУмолчаниюИсключения, "+"",""+") + "+"",""");
	
	Если ДанныеЗаполнения.СвойстваАналитики.ТипЗначения <> Неопределено Тогда
		// Наложим отбор, чтобы выбирались настройки только по данной аналитике:
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ЛЕВОЕ СОЕДИНЕНИЕ", "ВНУТРЕННЕЕ СОЕДИНЕНИЕ");
	КонецЕсли;
	
	ТекстыЗапросаТаблицыНастроек.Добавить(ТекстЗапроса);
	
	Если ДанныеЗаполнения.СвойстваАналитики.ТипЗначения <> Неопределено Тогда
		ТекстЗапроса = 
		"ВЫБРАТЬ
		|	ОбщиеНастройки.АналитикаУчета КАК АналитикаУчета,
		|	ОбщиеНастройки.Организация КАК Организация,
		|	ОбщиеНастройки.МестоУчета КАК МестоУчета,
		|	ОбщиеНастройки.Долгосрочный КАК Долгосрочный,
		|
		|	&ПоляРеквизитовПереопределяемый,
		|
		|	&СписокЗначенийСчетовУчетаОбщие,
		|
		|	"""" КАК СчетаУчетаПоУмолчанию,
		|
		|	ИСТИНА КАК ЭтоОбщаяНастройка,
		|	"""" КАК ИзмененныеДанные,
		|	ЛОЖЬ КАК Удалить
		|
		|ИЗ
		|	ОбщиеНастройки КАК ОбщиеНастройки";
		
		МассивТекстовСписокЗначенийСчетовУчетаОбщие = Новый Массив;
		ШаблонСтрокиЗначениеСчетаУчетаОбщие = "ОбщиеНастройки.%1";
		
		Для каждого ЭлементНастройки Из ДанныеЗаполнения.ЭлементыНастройки Цикл
		
			ТипЭлемента = НастройкаСчетовУчетаКлиентСервер.ПрефиксЭлементаНастройки(ЭлементНастройки);
			ИмяЭлемента = СтрЗаменить(ЭлементНастройки, ТипЭлемента + "_", "");
			ТекстПоля = СтрШаблон(ШаблонСтрокиЗначениеСчетаУчетаОбщие, ТипЭлемента + "_" + ИмяЭлемента);
			МассивТекстовСписокЗначенийСчетовУчетаОбщие.Добавить(ТекстПоля);
			
		КонецЦикла;
		
		МассивТекстовПолей = Новый Массив;
		Для каждого РеквизитАналитики Из ДанныеЗаполнения.РеквизитыАналитики Цикл
			Если НастройкаСчетовУчетаКлиентСервер.ЭтоНеРеквизитАналитики(РеквизитАналитики.Ключ) Тогда
				Продолжить;
			КонецЕсли;
			МассивТекстовПолей.Добавить(СтрШаблон("ОбщиеНастройки.%1 КАК %1", РеквизитАналитики.Ключ));
		КонецЦикла;
		ТекстПоляПереопределяемый = ?(МассивТекстовПолей.Количество(), Префикс + СтрСоединить(МассивТекстовПолей, "," + Символы.ПС + Символы.Таб), "");
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, Префикс + "&ПоляРеквизитовПереопределяемый", ТекстПоляПереопределяемый);
		
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СписокЗначенийСчетовУчетаОбщие", СтрСоединить(МассивТекстовСписокЗначенийСчетовУчетаОбщие, "," + Символы.ПС + Символы.Таб));
		
		ТекстыЗапросаТаблицыНастроек.Добавить(ТекстЗапроса);
	КонецЕсли;
	
	НетНастройкиИсключений = НастройкаСчетовУчетаКлиентСервер.РазделыУчетаДляКоторыхНастраиваютсяИсключения().Найти(РазделУчета) = Неопределено;
	Если ДанныеЗаполнения.СвойстваАналитики.ТипЗначения = Неопределено Или НетНастройкиИсключений
		И ДанныеЗаполнения.СвойстваАналитики.ПредставлениеПустого <> Неопределено И ДанныеЗаполнения.СвойстваОрганизации.Используется Тогда
		// не ведется учет по аналитике учета, соответственно изначально никаких записей может не быть, но они могут фигурировать в ошибках,
		//	так же если настраивается пустая аналитика, но настройки исключений для нее нет, мы должны анализировать данные и из ошибок,
		//	основываясь на данных регистра ошибок дополним получившуюся таблицу настроек (при условии, что используются организации):
		
		ТекстЗапроса =
		"ВЫБРАТЬ
		|	СчетаТребующиеНастройки.АналитикаУчета КАК АналитикаУчета,
		|	СчетаТребующиеНастройки.Организация КАК Организация,
		|	СчетаТребующиеНастройки.МестоУчета КАК МестоУчета,
		|	СчетаТребующиеНастройки.Долгосрочный КАК Долгосрочный,
		|
		|	&ПоляРеквизитовПереопределяемый,
		|
		|	&СписокЗначенийСчетовУчетаИсключения,
		|
		|	"""" КАК СчетаУчетаПоУмолчанию,
		|
		|	ЛОЖЬ КАК ЭтоОбщаяНастройка,
		|	"""" КАК ИзмененныеДанные,
		|	ЛОЖЬ КАК Удалить
		|
		|ИЗ
		|	РегистрСведений.СчетаРеглУчетаТребующиеНастройки КАК СчетаТребующиеНастройки
		|
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПорядокОтраженияНаСчетахУчета КАК ТаблицаНастроек
		|		ПО ТаблицаНастроек.Организация = СчетаТребующиеНастройки.Организация
		|			И ТаблицаНастроек.АналитикаУчета = СчетаТребующиеНастройки.АналитикаУчета
		|			И ТаблицаНастроек.МестоУчета = СчетаТребующиеНастройки.МестоУчета
		|			И ТаблицаНастроек.Долгосрочный = СчетаТребующиеНастройки.Долгосрочный
		|
		|		ЛЕВОЕ СОЕДИНЕНИЕ ОбщиеНастройки КАК ОбщиеНастройки
		|		ПО ОбщиеНастройки.Организация = СчетаТребующиеНастройки.Организация
		|			И ОбщиеНастройки.АналитикаУчета = СчетаТребующиеНастройки.АналитикаУчета
		|
		|ГДЕ
		|	ТаблицаНастроек.ВидСчета ЕСТЬ NULL
		|	И ОбщиеНастройки.МестоУчета ЕСТЬ NULL
		|	И СчетаТребующиеНастройки.ВидСчета В (&ВидыСчетов)
		|	И СчетаТребующиеНастройки.Организация В (&Организации)
		|
		|СГРУППИРОВАТЬ ПО
		|	СчетаТребующиеНастройки.АналитикаУчета,
		|	СчетаТребующиеНастройки.Организация,
		|	СчетаТребующиеНастройки.МестоУчета,
		|	СчетаТребующиеНастройки.Долгосрочный";
		
		МассивТекстовСписокЗначенийСчетовУчета = Новый Массив;
		МассивТекстовВидовСчетов = Новый Массив;
		
		Для каждого ЭлементНастройки Из ДанныеЗаполнения.ЭлементыНастройки Цикл
		
			ТипЭлемента = НастройкаСчетовУчетаКлиентСервер.ПрефиксЭлементаНастройки(ЭлементНастройки);
			ИмяЭлемента = СтрЗаменить(ЭлементНастройки, ТипЭлемента + "_", "");
			ЗначениеПоУмолчанию = НастройкаСчетовУчетаКлиентСервер.ЗначениеУмолчанияПоТипуЭлемента(ТипЭлемента);
			МассивТекстовСписокЗначенийСчетовУчета.Добавить(ЗначениеПоУмолчанию);
			Если ТипЭлемента = "СчетУчета" Тогда
				МассивТекстовВидовСчетов.Добавить(СтрШаблон("ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.%1)", ИмяЭлемента));
			КонецЕсли;
			
		КонецЦикла;
		
		МассивТекстовПолей = Новый Массив;
		Для каждого РеквизитАналитики Из ДанныеЗаполнения.РеквизитыАналитики Цикл
			Если НастройкаСчетовУчетаКлиентСервер.ЭтоНеРеквизитАналитики(РеквизитАналитики.Ключ) Тогда
				Продолжить;
			КонецЕсли;
			МассивТекстовПолей.Добавить(СтрШаблон("%1 КАК %2", РеквизитАналитики.Значение, РеквизитАналитики.Ключ));
		КонецЦикла;
		ТекстПоляПереопределяемый = ?(МассивТекстовПолей.Количество(), Префикс + СтрСоединить(МассивТекстовПолей, "," + Символы.ПС + Символы.Таб), "");
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, Префикс + "&ПоляРеквизитовПереопределяемый", ТекстПоляПереопределяемый);
		
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СписокЗначенийСчетовУчетаИсключения", СтрСоединить(МассивТекстовСписокЗначенийСчетовУчета, "," + Символы.ПС + Символы.Таб));
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ВидыСчетов", СтрСоединить(МассивТекстовВидовСчетов, "," + Символы.ПС + Символы.Таб));
		ТекстыЗапросаТаблицыНастроек.Добавить(ТекстЗапроса);
		
	КонецЕсли;
	
	ТекстЗапроса = СтрСоединить(ТекстыЗапросаТаблицыНастроек, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
	
	// Добавление индексов:
	ТекстЗапроса = ТекстЗапроса + "
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	ЭтоОбщаяНастройка,
	|	АналитикаУчета";
	
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицыНастроекНаОснованииПереданнойТаблицы(РазделУчета, ДанныеЗаполнения)
	
	Префикс = "," + Символы.ПС + Символы.ПС + Символы.Таб;
	
	ТекстЗапроса =
	"ВЫБРАТЬ
	|	ТаблицаНастроек.АналитикаУчета КАК АналитикаУчета,
	|	ТаблицаНастроек.Организация КАК Организация,
	|	ТаблицаНастроек.МестоУчета КАК МестоУчета,
	|	ТаблицаНастроек.Долгосрочный КАК Долгосрочный,
	|
	|	&ПоляРеквизитовПереопределяемый,
	|
	|	&СписокЗначенийСчетовУчетаИсключения,
	|
	|	ТаблицаНастроек.СчетаУчетаПоУмолчанию КАК СчетаУчетаПоУмолчанию,
	|
	|	ТаблицаНастроек.ЭтоОбщаяНастройка КАК ЭтоОбщаяНастройка,
	|	ТаблицаНастроек.КоличествоИсключений КАК КоличествоИсключений,
	|	ТаблицаНастроек.КоличествоИсключенийПоОрганизациям КАК КоличествоИсключенийПоОрганизациям,
	|	ТаблицаНастроек.ИзмененныеДанные КАК ИзмененныеДанные,
	|	ТаблицаНастроек.Удалить КАК Удалить
	|ПОМЕСТИТЬ ТаблицаНастроекСчетовУчета
	|ИЗ
	|	&ТаблицаНастроек_%1 КАК ТаблицаНастроек
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	ЭтоОбщаяНастройка,
	|	Организация";
	
	МассивТекстовСписокЗначенийСчетовУчетаИсключения = Новый Массив;
	
	ШаблонСтрокиЗначениеСчетаУчетаИсключения = "ТаблицаНастроек.%2_%1 КАК %2_%1";
	
	Для каждого ЭлементНастройки Из ДанныеЗаполнения.ЭлементыНастройки Цикл
		
		ТипЭлемента = НастройкаСчетовУчетаКлиентСервер.ПрефиксЭлементаНастройки(ЭлементНастройки);
		ИмяЭлемента = СтрЗаменить(ЭлементНастройки, ТипЭлемента + "_", "");
		ТекстПоля = СтрШаблон(ШаблонСтрокиЗначениеСчетаУчетаИсключения, ИмяЭлемента, ТипЭлемента);
		МассивТекстовСписокЗначенийСчетовУчетаИсключения.Добавить(ТекстПоля);
		
	КонецЦикла;
	
	МассивТекстовПолей = Новый Массив;
	Для каждого РеквизитАналитики Из ДанныеЗаполнения.РеквизитыАналитики Цикл
		Если НастройкаСчетовУчетаКлиентСервер.ЭтоНеРеквизитАналитики(РеквизитАналитики.Ключ) Тогда
			Продолжить;
		КонецЕсли;
		МассивТекстовПолей.Добавить(СтрШаблон("ТаблицаНастроек.%1 КАК %1", РеквизитАналитики.Ключ));
	КонецЦикла;
	ТекстПоляПереопределяемый = ?(МассивТекстовПолей.Количество(), Префикс + СтрСоединить(МассивТекстовПолей, "," + Символы.ПС + Символы.Таб), "");
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, Префикс + "&ПоляРеквизитовПереопределяемый", ТекстПоляПереопределяемый);
	
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СписокЗначенийСчетовУчетаИсключения", СтрСоединить(МассивТекстовСписокЗначенийСчетовУчетаИсключения, "," + Символы.ПС + Символы.Таб));
	ТекстЗапроса = СтрШаблон(ТекстЗапроса, РазделУчета);
	
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаГруппировкиТаблицыИсключений()
	
	ТекстЗапроса =
	"ВЫБРАТЬ
	|	ТаблицаНастроек.АналитикаУчета КАК АналитикаУчета,
	|	ТаблицаНастроек.Долгосрочный КАК Долгосрочный,
	|	КОЛИЧЕСТВО(ТаблицаНастроек.Организация) КАК КоличествоИсключений,
	|	КОЛИЧЕСТВО(ВЫБОР КОГДА ТаблицаНастроек.МестоУчета = НЕОПРЕДЕЛЕНО ТОГДА
	|		ТаблицаНастроек.Организация ИНАЧЕ NULL КОНЕЦ) КАК КоличествоИсключенийПоОрганизациям
	|ПОМЕСТИТЬ ТаблицаНастроекИсключений
	|ИЗ
	|	ТаблицаНастроекСчетовУчета КАК ТаблицаНастроек
	|ГДЕ
	|	НЕ ТаблицаНастроек.ЭтоОбщаяНастройка
	|	И (&ОрганизацияОтбора = НЕОПРЕДЕЛЕНО И ТаблицаНастроек.Организация В (&Организации)
	|		ИЛИ ТаблицаНастроек.Организация = &ОрганизацияОтбора)
	|СГРУППИРОВАТЬ ПО
	|	ТаблицаНастроек.АналитикаУчета,
	|	ТаблицаНастроек.Долгосрочный
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	АналитикаУчета";
	
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапроса_Результат(ДанныеЗаполнения)
	
	Префикс = "," + Символы.ПС + Символы.ПС + Символы.Таб;
	
	ТекстЗапроса =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ТаблицаНастроек.АналитикаУчета КАК АналитикаУчета,
	|	ТаблицаНастроек.Организация КАК Организация,
	|	ТаблицаНастроек.МестоУчета КАК МестоУчета,
	|	ТаблицаНастроек.Долгосрочный КАК Долгосрочный,
	|
	|	&СписокЗначенийСчетовУчета,
	|
	|	&ПоляРеквизитовПереопределяемый,
	|
	|	ТаблицаНастроек.СчетаУчетаПоУмолчанию,
	|
	|	&СчетаУчетаТребуются КАК ТребуетсяНастройкаСчетов,
	|
	|	ТаблицаНастроек.ЭтоОбщаяНастройка,
	|	ЛОЖЬ КАК ТребуетсяНастройка,
	|	ТаблицаНастроек.ИзмененныеДанные,
	|	ТаблицаНастроек.Удалить,
	|	ТаблицаНастроекИсключений.КоличествоИсключенийПоОрганизациям,
	|	ТаблицаНастроекИсключений.КоличествоИсключений
	|
	|ИЗ
	|	ТаблицаНастроекСчетовУчета КАК ТаблицаНастроек
	|
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СчетаРеглУчетаТребующиеНастройки КАК СчетаТребующиеНастройки
	|		ПО ТаблицаНастроек.АналитикаУчета = СчетаТребующиеНастройки.АналитикаУчета
	|			И ТаблицаНастроек.Долгосрочный = СчетаТребующиеНастройки.Долгосрочный
	|			И ВЫБОР
	|				КОГДА ТаблицаНастроек.ЭтоОбщаяНастройка И &ОрганизацияОтбора = НЕОПРЕДЕЛЕНО
	|				ТОГДА СчетаТребующиеНастройки.Организация В (&Организации)
	|				КОГДА ТаблицаНастроек.ЭтоОбщаяНастройка
	|				ТОГДА СчетаТребующиеНастройки.Организация = &ОрганизацияОтбора
	|				ИНАЧЕ ТаблицаНастроек.Организация = СчетаТребующиеНастройки.Организация
	|			КОНЕЦ
	|			И ВЫБОР КОГДА ТаблицаНастроек.ЭтоОбщаяНастройка ИЛИ ТаблицаНастроек.МестоУчета = НЕОПРЕДЕЛЕНО
	|				ИЛИ ТаблицаНастроек.МестоУчета = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
	|				ИЛИ ТаблицаНастроек.МестоУчета = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
	|				ИЛИ ТаблицаНастроек.МестоУчета = ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка)
	|				ТОГДА ИСТИНА
	|				ИНАЧЕ ТаблицаНастроек.МестоУчета = СчетаТребующиеНастройки.МестоУчета КОНЕЦ
	|			И СчетаТребующиеНастройки.ВидСчета В (&ВидыСчетов)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаНастроекИсключений КАК ТаблицаНастроекИсключений
	|		ПО ТаблицаНастроек.ЭтоОбщаяНастройка
	|			И ТаблицаНастроекИсключений.АналитикаУчета = ТаблицаНастроек.АналитикаУчета
	|			И ТаблицаНастроекИсключений.Долгосрочный = ТаблицаНастроек.Долгосрочный
	|
	|СГРУППИРОВАТЬ ПО
	|	ТаблицаНастроек.АналитикаУчета,
	|	ТаблицаНастроек.Организация,
	|	ТаблицаНастроек.МестоУчета,
	|	ТаблицаНастроек.Долгосрочный,
	|	&СписокЗначенийСчетовУчета,
	|
	|	&ПоляРеквизитовПереопределяемый,
	|	ТаблицаНастроек.СчетаУчетаПоУмолчанию,
	|	ТаблицаНастроек.ЭтоОбщаяНастройка,
	|	ТаблицаНастроек.ИзмененныеДанные,
	|	ТаблицаНастроек.Удалить,
	|	ТаблицаНастроекИсключений.КоличествоИсключенийПоОрганизациям,
	|	ТаблицаНастроекИсключений.КоличествоИсключений
	|
	|УПОРЯДОЧИТЬ ПО
	|	ТаблицаНастроек.АналитикаУчета,
	|	ТаблицаНастроек.Организация,
	|	ТаблицаНастроек.МестоУчета";
	
	МассивТекстовСписокЗначенийСчетовУчета = Новый Массив;
	МассивТекстовСчетаУчетаТребуются = Новый Массив;
	МассивТекстовВидовСчетов = Новый Массив;
	МассивТекстовПолейРеквизитов = Новый Массив;
	
	ШаблонСтрокиСчетаУчетаТребуются = "ВЫБОР КОГДА МАКСИМУМ(СчетаТребующиеНастройки.ВидСчета = ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.%1)) ТОГДА ""%1"" ИНАЧЕ """" КОНЕЦ";
	
	Для каждого ЭлементНастройки Из ДанныеЗаполнения.ЭлементыНастройки Цикл
		
		ТипЭлемента = НастройкаСчетовУчетаКлиентСервер.ПрефиксЭлементаНастройки(ЭлементНастройки);
		ИмяЭлемента = СтрЗаменить(ЭлементНастройки, ТипЭлемента + "_", "");
		МассивТекстовСписокЗначенийСчетовУчета.Добавить("ТаблицаНастроек." + ТипЭлемента + "_" + ИмяЭлемента);
		Если ТипЭлемента = "СчетУчета" Тогда
			МассивТекстовСчетаУчетаТребуются.Добавить(СтрШаблон(ШаблонСтрокиСчетаУчетаТребуются, ИмяЭлемента));
			МассивТекстовВидовСчетов.Добавить(СтрШаблон("ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.%1)", ИмяЭлемента));
		КонецЕсли;
		
	КонецЦикла;
	
	Для каждого РеквизитАналитики Из ДанныеЗаполнения.РеквизитыАналитики Цикл
		Если НастройкаСчетовУчетаКлиентСервер.ЭтоНеРеквизитАналитики(РеквизитАналитики.Ключ) Тогда
			Продолжить;
		КонецЕсли;
		МассивТекстовПолейРеквизитов.Добавить(СтрШаблон("ТаблицаНастроек.%1", РеквизитАналитики.Ключ));
	КонецЦикла;
	ТекстПоляПереопределяемый = ?(МассивТекстовПолейРеквизитов.Количество(), Префикс + СтрСоединить(МассивТекстовПолейРеквизитов, "," + Символы.ПС + Символы.Таб), "");
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, Префикс + "&ПоляРеквизитовПереопределяемый", ТекстПоляПереопределяемый);
	
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СписокЗначенийСчетовУчета", СтрСоединить(МассивТекстовСписокЗначенийСчетовУчета, "," + Символы.ПС + Символы.Таб));
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СчетаУчетаТребуются", """,""+" + СтрСоединить(МассивТекстовСчетаУчетаТребуются, "+"",""+") + "+"",""");
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ВидыСчетов", СтрСоединить(МассивТекстовВидовСчетов, "," + Символы.ПС + Символы.Таб + Символы.Таб));
	
	Возврат ТекстЗапроса;
	
КонецФункции

#Область ДоступныеСчетаУчета

Функция ДоступныеСчетаУчетаЭквайринга()
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"/////////////////////////////////////////////////////////////////////////////
	|// Счета учета резервов
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты)
	|	И ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ДоговорыЭквайринга)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|	И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПродажиПоПлатежнымКартам))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код";
	
	Результат = Запрос.Выполнить();
	
	СтруктураСчетовУчета = Новый Структура;
	СтруктураСчетовУчета.Вставить("ПродажиПоЭквайрингу", МассивСчетовИзРезультатаЗапроса(Результат));
	
	Возврат СтруктураСчетовУчета;

КонецФункции

Функция ДоступныеСчетаУчетаРезервов()
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"/////////////////////////////////////////////////////////////////////////////
	|// Счета учета резервов
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	НЕ ПланСчетов.Забалансовый
	|		И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|		И ПланСчетов.Ссылка В ИЕРАРХИИ(ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РезервыПредстоящихРасходов))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код
	|;
	|
	|/////////////////////////////////////////////////////////////////////////////
	|// Счета учета процентов по дисконтированию резервов
	|ВЫБРАТЬ
	|	ПланСчетов.Ссылка КАК Ссылка,
	|	ПланСчетов.Код КАК Код
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК ПланСчетов
	|ГДЕ
	|	ПланСчетов.ВидыСубконто.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Резервы)
	|	И НЕ ПланСчетов.Забалансовый
	|	И НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПланСчетов.Код";
	
	МассивРезультатов = Запрос.ВыполнитьПакет();
	
	СтруктураСчетовУчета = Новый Структура;
	СтруктураСчетовУчета.Вставить("Резервы", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[0]));
	СтруктураСчетовУчета.Вставить("ПроцентыПоДисконтированиюРезервов", МассивСчетовИзРезультатаЗапроса(МассивРезультатов[1]));
	
	Возврат СтруктураСчетовУчета;

КонецФункции

#КонецОбласти

#КонецОбласти

#КонецЕсли

Связанные материалы