#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
Функция СтатьяДвиженияДенежныхСредствПоХозяйственнойОперации(ХозяйственнаяОперация) Экспорт
Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 2
| СтатьиДвиженияДенежныхСредств.Ссылка КАК СтатьяДвиженияДенежныхСредств
|ИЗ
| Справочник.СтатьиДвиженияДенежныхСредств.ХозяйственныеОперации КАК СтатьиДвиженияДенежныхСредствХозяйственныеОперации
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СтатьиДвиженияДенежныхСредств КАК СтатьиДвиженияДенежныхСредств
| ПО СтатьиДвиженияДенежныхСредствХозяйственныеОперации.Ссылка = СтатьиДвиженияДенежныхСредств.Ссылка
| И (НЕ СтатьиДвиженияДенежныхСредств.ПометкаУдаления)
| И (СтатьиДвиженияДенежныхСредствХозяйственныеОперации.ХозяйственнаяОперация = &ХозяйственнаяОперация)");
Запрос.УстановитьПараметр("ХозяйственнаяОперация", ХозяйственнаяОперация);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат Неопределено;
КонецЕсли;
Выборка = РезультатЗапроса.Выбрать();
Если Выборка.Количество() = 1 Тогда
Выборка.Следующий();
СтатьяДвиженияДенежныхСредств = Выборка.СтатьяДвиженияДенежныхСредств;
Иначе
СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.ПустаяСсылка();
КонецЕсли;
Возврат СтатьяДвиженияДенежныхСредств;
КонецФункции
Функция ПредопределеннаяСтатьяДДС(ХозяйственнаяОперация, Валюта = Неопределено) Экспорт
Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзБанка
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ИнкассацияДенежныхСредствИзБанка
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.СнятиеНаличныхДенежныхСредств Тогда
Если Не ЗначениеЗаполнено(Валюта)
ИЛИ Валюта = ЗначениеНастроекПовтИсп.БазоваяВалютаПоУмолчанию() Тогда
СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.ПоступлениеДенежныхСредствИзБанка;
Иначе
СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.ПоступлениеДенежныхСредствИзБанкаВИностраннойВалюте;
КонецЕсли;
ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.СдачаДенежныхСредствВБанк
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ИнкассацияДенежныхСредствВБанк
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзКассыНаРасчетныйСчет Тогда
Если Не ЗначениеЗаполнено(Валюта)
ИЛИ Валюта = ЗначениеНастроекПовтИсп.БазоваяВалютаПоУмолчанию() Тогда
СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.СдачаДенежныхСредствВБанк;
Иначе
СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.СдачаДенежныхСредствВБанкВИностраннойВалюте;
КонецЕсли;
Иначе
Соответствие = Новый Соответствие;
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ВыдачаДенежныхСредствВДругуюКассу,
Справочники.СтатьиДвиженияДенежныхСредств.ВыдачаДенежныхСредствВДругуюКассу);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ОплатаДенежныхСредствВДругуюОрганизацию,
Справочники.СтатьиДвиженияДенежныхСредств.ОплатаДенежныхСредствВДругуюОрганизацию);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ВыдачаДенежныхСредствВКассуККМ,
Справочники.СтатьиДвиженияДенежныхСредств.ВыдачаДенежныхСредствВДругуюКассу);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ПеречислениеДенежныхСредствНаДругойСчет,
Справочники.СтатьиДвиженияДенежныхСредств.ПеречислениеДенежныхСредствНаДругойСчет);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзДругойКассы,
Справочники.СтатьиДвиженияДенежныхСредств.ВыдачаДенежныхСредствВДругуюКассу);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзДругойОрганизации,
Справочники.СтатьиДвиженияДенежныхСредств.ОплатаДенежныхСредствВДругуюОрганизацию);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзКассыККМ,
Справочники.СтатьиДвиженияДенежныхСредств.ВыдачаДенежныхСредствВДругуюКассу);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ВыдачаДенежныхСредствВКассуККМ,
Справочники.СтатьиДвиженияДенежныхСредств.ВыдачаДенежныхСредствВКассуККМ);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзКассыККМ,
Справочники.СтатьиДвиженияДенежныхСредств.ПоступлениеДенежныхСредствИзКассыККМ);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ВыплатаЗарплаты,
Справочники.СтатьиДвиженияДенежныхСредств.ВыплатаЗаработнойПлаты);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ВыплатаЗарплатыПоЗарплатномуПроекту,
Справочники.СтатьиДвиженияДенежныхСредств.ВыплатаЗаработнойПлаты);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ВыплатаЗарплатыНаЛицевыеСчета,
Справочники.СтатьиДвиженияДенежныхСредств.ВыплатаЗаработнойПлаты);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ВыплатаЗарплатыЧерезКассу,
Справочники.СтатьиДвиженияДенежныхСредств.ВыплатаЗаработнойПлаты);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ВыплатаЗарплатыРаздатчиком,
Справочники.СтатьиДвиженияДенежныхСредств.ВыплатаЗаработнойПлаты);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.ВыплатаЗарплатыРаботнику,
Справочники.СтатьиДвиженияДенежныхСредств.ВыплатаЗаработнойПлаты);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.КурсовыеРазницыДСПрибыль,
Справочники.СтатьиДвиженияДенежныхСредств.КурсовыеРазницыПрибыль);
Соответствие.Вставить(Перечисления.ХозяйственныеОперации.КурсовыеРазницыДСУбыток,
Справочники.СтатьиДвиженияДенежныхСредств.КурсовыеРазницыУбыток);
СтатьяДвиженияДенежныхСредств = Соответствие.Получить(ХозяйственнаяОперация);
КонецЕсли;
Если СтатьяДвиженияДенежныхСредств = Неопределено Тогда
СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.ПустаяСсылка();
КонецЕсли;
Возврат СтатьяДвиженияДенежныхСредств;
КонецФункции
Функция ХозяйственныеОперацииРасходаДенежныхСредств() Экспорт
Запрос = Новый Запрос(
"ВЫБРАТЬ
| НастройкиХозяйственныхОпераций.ХозяйственнаяОперация КАК ХозяйственнаяОперация
|ИЗ
| Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
|ГДЕ
| НастройкиХозяйственныхОпераций.Расход = ЗНАЧЕНИЕ(Перечисление.ТипыДанныхУчета.ДенежныеСредства)
| И НастройкиХозяйственныхОпераций.Приход <> ЗНАЧЕНИЕ(Перечисление.ТипыДанныхУчета.ПустаяСсылка)
| И НастройкиХозяйственныхОпераций.ХозяйственнаяОперация НЕ В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыплатаЗарплатыПоЗарплатномуПроекту),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыплатаЗарплатыРаботнику),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыплатаЗарплатыЧерезКассу),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыплатаЗарплатыРаздатчиком),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыплатаЗарплатыНаЛицевыеСчета))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыплатаЗарплаты)");
Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ХозяйственнаяОперация");
КонецФункции
Функция СтатьяСоответствуетХозяйственнойОперации(СтатьяДвиженияДенежныхСредств, ХозяйственнаяОперация) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ ПЕРВЫЕ 1
| 1
|ИЗ
| Справочник.СтатьиДвиженияДенежныхСредств.ХозяйственныеОперации КАК ХозяйственныеОперации
|ГДЕ
| ХозяйственныеОперации.ХозяйственнаяОперация = &ХозяйственнаяОперация
| И ХозяйственныеОперации.Ссылка = &СтатьяДвиженияДенежныхСредств
|";
Запрос.УстановитьПараметр("СтатьяДвиженияДенежныхСредств", СтатьяДвиженияДенежныхСредств);
Запрос.УстановитьПараметр("ХозяйственнаяОперация", ХозяйственнаяОперация);
Возврат Не Запрос.Выполнить().Пустой();
КонецФункции
Процедура ПриНастройкеНачальногоЗаполненияЭлементов(Настройки) Экспорт
Настройки.ПриНачальномЗаполненииЭлемента = Истина;
КонецПроцедуры
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
#Область ИнвестиционнаяДеятельность
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ИнвестиционнаяДеятельность";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Инвестиционная деятельность'", КодыЯзыков);
#КонецОбласти
#Область ОперационнаяДеятельность
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ОперационнаяДеятельность";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Операционная деятельность'", КодыЯзыков);
#КонецОбласти
#Область ФинансоваяДеятельность
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ФинансоваяДеятельность";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Финансовая деятельность'", КодыЯзыков);
#КонецОбласти
#Область ВозвратДенежныхСредствОтДругойОрганизации
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ВозвратДенежныхСредствОтДругойОрганизации";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Возврат денежных средств от другой организации'", КодыЯзыков);
#КонецОбласти
#Область ВозвратДенежныхСредствОтПоставщика
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ВозвратДенежныхСредствОтПоставщика";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Возврат оплаты поставщиком (товары, работы, услуги)'", КодыЯзыков);
#КонецОбласти
#Область ВозвратОплатыКлиенту
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ВозвратОплатыКлиенту";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Возврат оплаты клиенту (продажа товаров, работ, услуг)'", КодыЯзыков);
#КонецОбласти
#Область ВыдачаДенежныхСредствВДругуюКассу
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ВыдачаДенежныхСредствВДругуюКассу";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Выдача денежных средств в другую кассу'", КодыЯзыков);
#КонецОбласти
#Область ВыдачаДенежныхСредствВКассуККМ
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ВыдачаДенежныхСредствВКассуККМ";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Выдача денежных средств в кассу ККМ'", КодыЯзыков);
#КонецОбласти
#Область ВыплатаЗаработнойПлаты
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ВыплатаЗаработнойПлаты";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Выплата заработной платы по ведомостям'", КодыЯзыков);
#КонецОбласти
#Область КурсовыеРазницыПрибыль
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "КурсовыеРазницыПрибыль";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Прибыль от курсовых разниц'", КодыЯзыков);
#КонецОбласти
#Область КурсовыеРазницыУбыток
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "КурсовыеРазницыУбыток";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Убыток от курсовых разниц'", КодыЯзыков);
#КонецОбласти
#Область ОплатаДенежныхСредствВДругуюОрганизацию
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ОплатаДенежныхСредствВДругуюОрганизацию";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Оплата денежных средств в другую организацию'", КодыЯзыков);
#КонецОбласти
#Область ОплатаПоставщику
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ОплатаПоставщику";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Оплата поставщику (товары, работы, услуги)'", КодыЯзыков);
#КонецОбласти
#Область ПеречислениеДенежныхСредствНаДругойСчет
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ПеречислениеДенежныхСредствНаДругойСчет";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Перечисление денежных средств на другой счет'", КодыЯзыков);
#КонецОбласти
#Область ПоступлениеДенежныхСредствИзБанка
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ПоступлениеДенежныхСредствИзБанка";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Поступление денежных средств из банка'", КодыЯзыков);
#КонецОбласти
#Область ПоступлениеДенежныхСредствИзБанкаВИностраннойВалюте
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ПоступлениеДенежныхСредствИзБанкаВИностраннойВалюте";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Поступление денежных средств из банка (в иностранной валюте)'", КодыЯзыков);
#КонецОбласти
#Область ПоступлениеДенежныхСредствИзКассыККМ
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ПоступлениеДенежныхСредствИзКассыККМ";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Поступление денежных средств из кассы ККМ'", КодыЯзыков);
#КонецОбласти
#Область ПоступлениеДенежныхСредствОтДругойОрганизации
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ПоступлениеДенежныхСредствОтДругойОрганизации";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Поступление денежных средств от другой организации'", КодыЯзыков);
#КонецОбласти
#Область ПоступлениеОплатыОтКлиента
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ПоступлениеОплатыОтКлиента";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Поступление оплаты от клиента (продажа товаров, работ, услуг)'", КодыЯзыков);
#КонецОбласти
#Область СдачаДенежныхСредствВБанк
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "СдачаДенежныхСредствВБанк";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Сдача денежных средств в банк'", КодыЯзыков);
#КонецОбласти
#Область СдачаДенежныхСредствВБанкВИностраннойВалюте
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "СдачаДенежныхСредствВБанкВИностраннойВалюте";
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Сдача денежных средств в банк (в иностранной валюте)'", КодыЯзыков);
#КонецОбласти
КонецПроцедуры
Процедура ПриНачальномЗаполненииЭлемента(Объект, Данные, ДополнительныеПараметры) Экспорт
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытий
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
Если Параметры.Свойство("ТолькоРасходДенежныхСредств") Тогда
СтандартнаяОбработка = Ложь;
Запрос = Новый Запрос(
"ВЫБРАТЬ
| НастройкиХозяйственныхОпераций.ХозяйственнаяОперация КАК Ссылка
|ПОМЕСТИТЬ ХозяйственныеОперацииРасхода
|ИЗ
| Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
|ГДЕ
| НастройкиХозяйственныхОпераций.Расход = ЗНАЧЕНИЕ(Перечисление.ТипыДанныхУчета.ДенежныеСредства)
| И НастройкиХозяйственныхОпераций.Приход <> ЗНАЧЕНИЕ(Перечисление.ТипыДанныхУчета.ПустаяСсылка)
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| СтатьиДвиженияДенежныхСредствХозОперации.Ссылка
|ИЗ
| Справочник.СтатьиДвиженияДенежныхСредств.ХозяйственныеОперации КАК СтатьиДвиженияДенежныхСредствХозОперации
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ХозяйственныеОперацииРасхода КАК ХозяйственныеОперацииРасхода
| ПО
| СтатьиДвиженияДенежныхСредствХозОперации.ХозяйственнаяОперация = ХозяйственныеОперацииРасхода.Ссылка");
ДанныеВыбора = Новый СписокЗначений;
ДанныеВыбора.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
ИначеЕсли Параметры.Свойство("Отбор") И Параметры.Отбор.Свойство("ХозяйственнаяОперация") Тогда
СтандартнаяОбработка = Ложь;
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| ДанныеСправочника.Ссылка
|ИЗ
| Справочник.СтатьиДвиженияДенежныхСредств.ХозяйственныеОперации КАК ДанныеСправочника
|ГДЕ
| ДанныеСправочника.ХозяйственнаяОперация В (&ХозяйственнаяОперация)
| И (ДанныеСправочника.Ссылка.Наименование ПОДОБНО &СтрокаПоиска
| ИЛИ ДанныеСправочника.Ссылка.НаименованиеЯзык1 ПОДОБНО &СтрокаПоиска
| ИЛИ ДанныеСправочника.Ссылка.НаименованиеЯзык2 ПОДОБНО &СтрокаПоиска
| ИЛИ ДанныеСправочника.Ссылка.Код ПОДОБНО &СтрокаПоиска
| ИЛИ &СтрокаПоискаНеЗадана)
|";
Запрос.УстановитьПараметр("ХозяйственнаяОперация", Параметры.Отбор.ХозяйственнаяОперация);
СтрокаПоиска = "";
Если Параметры.Свойство("СтрокаПоиска") Тогда
СтрокаПоиска = Параметры.СтрокаПоиска;
КонецЕсли;
Запрос.УстановитьПараметр("СтрокаПоиска", "%" + СтрокаПоиска + "%");
Запрос.УстановитьПараметр("СтрокаПоискаНеЗадана", Не ЗначениеЗаполнено(СтрокаПоиска));
ДанныеВыбора = Новый СписокЗначений;
ДанныеВыбора.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
КонецЕсли;
КонецПроцедуры
#КонецЕсли
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
Если ВидФормы = "ФормаВыбора" Тогда
Если Параметры.Свойство("Отбор")
И Параметры.Отбор.Свойство("ХозяйственнаяОперация")
И ТипЗнч(Параметры.Отбор.ХозяйственнаяОперация) = Тип("ПеречислениеСсылка.ХозяйственныеОперации") Тогда
ВыбраннаяФорма = "ФормаВыбораПоХозяйственнойОперации";
СтандартнаяОбработка = Ложь;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
МультиязычностьКлиентСервер.ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка);
КонецПроцедуры
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
МультиязычностьКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область ОбновлениеИнформационнойБазы
Процедура ЗаполнитьПредопределенныеСтатьиДвиженияДенежныхСредств(СтатьяДДС = Неопределено) Экспорт
Соответствие = Новый Соответствие;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ВыдачаДенежныхСредствВДругуюКассу ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.ВыдачаДенежныхСредствВДругуюКассу,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.ВыдачаДенежныхСредствВДругуюКассу,
"50.01",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ОплатаПоставщику ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.ОплатаПоставщику,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.ОплатаПоставщику,
"60.01",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ПеречислениеДенежныхСредствНаДругойСчет ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.ПеречислениеДенежныхСредствНаДругойСчет,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.ПеречислениеДенежныхСредствНаДругойСчет,
"51",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ПоступлениеДенежныхСредствИзБанка ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.ПоступлениеДенежныхСредствИзБанка,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзБанка,
"51",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ПоступлениеДенежныхСредствИзБанкаВИностраннойВалюте ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.ПоступлениеДенежныхСредствИзБанкаВИностраннойВалюте,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзБанка,
"52",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ПоступлениеОплатыОтКлиента ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.ПоступлениеОплатыОтКлиента,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента,
"62.01",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.СдачаДенежныхСредствВБанк ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.СдачаДенежныхСредствВБанк,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.СдачаДенежныхСредствВБанк,
"51",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.СдачаДенежныхСредствВБанкВИностраннойВалюте ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.СдачаДенежныхСредствВБанкВИностраннойВалюте,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.СдачаДенежныхСредствВБанк,
"52",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ОплатаДенежныхСредствВДругуюОрганизацию ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.ОплатаДенежныхСредствВДругуюОрганизацию,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.ОплатаДенежныхСредствВДругуюОрганизацию,
"60.01",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ВыдачаДенежныхСредствВКассуККМ ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.ВыдачаДенежныхСредствВКассуККМ,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.ВыдачаДенежныхСредствВКассуККМ,
"50.01",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ПоступлениеДенежныхСредствИзКассыККМ ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.ПоступлениеДенежныхСредствИзКассыККМ,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзКассыККМ,
"50.01",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ВыплатаЗаработнойПлаты ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.ВыплатаЗаработнойПлаты,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.ВыплатаЗарплаты,
"70",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ВозвратДенежныхСредствОтПоставщика ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.ВозвратДенежныхСредствОтПоставщика,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.ВозвратДенежныхСредствОтПоставщика,
"60.01",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ВозвратОплатыКлиенту ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.ВозвратОплатыКлиенту,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.ВозвратОплатыКлиенту,
"62.01",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.КурсовыеРазницыПрибыль ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.КурсовыеРазницыПрибыль,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.КурсовыеРазницыДСПрибыль,
"91.01",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.КурсовыеРазницыУбыток ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.КурсовыеРазницыУбыток,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.КурсовыеРазницыДСУбыток,
"91.02",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ПоступлениеДенежныхСредствОтДругойОрганизации ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.ПоступлениеДенежныхСредствОтДругойОрганизации,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзДругойОрганизации,
"62.01",));
КонецЕсли;
Если СтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ВозвратДенежныхСредствОтДругойОрганизации ИЛИ НЕ ЗначениеЗаполнено(СтатьяДДС) Тогда
Соответствие.Вставить(Справочники.СтатьиДвиженияДенежныхСредств.ВозвратДенежныхСредствОтДругойОрганизации ,
Новый Структура("ХозяйственнаяОперация, КорреспондирующийСчет",
Перечисления.ХозяйственныеОперации.ВозвратДенежныхСредствОтДругойОрганизации,
"60.01",));
КонецЕсли;
Для Каждого Элемент Из Соответствие Цикл
СтатьяДДСОбъект = Элемент.Ключ.ПолучитьОбъект();
Элемент.Значение.Вставить("Родитель", ОперационнаяДеятельность);
ЗаполнитьЗначенияСвойств(СтатьяДДСОбъект, Элемент.Значение);
Если СтатьяДДСОбъект.ХозяйственныеОперации.Найти(Элемент.Значение.ХозяйственнаяОперация) = Неопределено Тогда
СтатьяДДСОбъект.ХозяйственныеОперации.Добавить().ХозяйственнаяОперация = Элемент.Значение.ХозяйственнаяОперация;
КонецЕсли;
Попытка
ОбновлениеИнформационнойБазы.ЗаписатьДанные(СтатьяДДСОбъект);
Исключение
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Справочник %1 не записан, произошли ошибки при записи!'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
СтатьяДДСОбъект);
ОписаниеОшибки = ИнформацияОбОшибке();
ЗаписьЖурналаРегистрации(ТекстСообщения, УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки.Описание);
КонецПопытки;
КонецЦикла;
Попытка
Объект = ОперационнаяДеятельность.ПолучитьОбъект();
Объект.РеквизитДопУпорядочивания = 1;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(Объект);
Объект = ИнвестиционнаяДеятельность.ПолучитьОбъект();
Объект.РеквизитДопУпорядочивания = 2;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(Объект);
Объект = ФинансоваяДеятельность.ПолучитьОбъект();
Объект.РеквизитДопУпорядочивания = 3;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(Объект);
Исключение
ТекстСообщения = СтрШаблон(
НСтр("ru = 'Справочник %1 не записан, произошли ошибки при записи!'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
Объект);
ОписаниеОшибки = ИнформацияОбОшибке();
ЗаписьЖурналаРегистрации(ТекстСообщения, УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки.Описание);
КонецПопытки;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли