Модификация информационной системы на предприятии "Управляющая компания жилищно-коммунального хозяйства "Левинцы""

Информационные системы в сфере ЖКХ. Анализ технологий автоматизации бухгалтерского учета и работы экономиста, используемых на предприятии ОМУП "УК ЖКХ Лёвинцы". Модификация 1С:Бухгалтерия для формирования калькуляций себестоимости, листинг отчетов.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 19.09.2011
Размер файла 4,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Возврат;

КонецЕсли;

КонецЕсли;

ИмяФайлаСохраненияОтчета = КаталогФормы +

СтрЗаменить(ПериодСтр(Дата1,Дата2),".","");

Если ПустаяСтрока(ИмяФайлаСохраненияОтчета)=1 Тогда

Возврат;

КонецЕсли;

СписокСохранения = СоздатьОбъект("СписокЗначений");

Таблица.Выгрузить(СписокСохранения);

Если ФС.СуществуетФайл(КаталогФормы)=0 Тогда

ФС.СоздатьКаталог(КаталогФормы);

КонецЕсли;

Если ФС.СуществуетФайл(КаталогФормы+

СтрЗаменить(ПериодСтр(Дата1,Дата2),".","")) = 1 Тогда

Если Вопрос("Заменить сохраненные ранее

данные?","Да+Нет",60)="Нет" Тогда

Возврат;

КонецЕсли;

КонецЕсли;

// *******Сохраняем данные формы в файле*******//

Если

ЗначениеВФайл(ИмяФайлаСохраненияОтчета,СписокСохранения) > 0

Тогда

Сообщить("Данные отчета за "+ПериодСтр(Дата1,Дата2)+"

сохранены","I");

Иначе

Сообщить("Не удалось сохранить данные отчета","!!");

КонецЕсли;

КонецПроцедуры //** Сохранить()**//

//*******Изменение периода составления отчета*******//

Процедура ИзменитьПериод(Шаг)

Дата2 = ДобавитьМесяц(Дата2,Шаг);

Дата1 = НачГода(Дата2);

Дата_Год = ДатаГод(Дата2);

Дата_Месяц = Формат(ДатаМесяц(Дата2), "Ч(0)2");

Дата_Число = Формат(ДатаЧисло(Дата2), "Ч(0)2");

Восстановить(0);

КонецПроцедуры //** ИзменитьПериод()**//

//*******Заполнение формы при открытии*******//

// *******Предопределенная процедура*******//

Процедура ПриОткрытии()

ИдентКонфигурации = ВРЕГ(глИдентификаторКонфигурации());

ФорматыВывода = СоздатьОбъект("СписокЗначений");

ФорматыВывода.ДобавитьЗначение("383", "в рублях");

ФорматыВывода.ДобавитьЗначение("384", "в тысячах рублей");

ФорматыВывода.ДобавитьЗначение("385", "в миллионах рублей");

Дата2 = КонГода(РабочаяДата());

Дата1 = НачГода(Дата2);

Дата11 = НачГода(Дата1-1);

Дата21 = КонГода(Дата1-1);

// *******Период для показа в шапке отчета*******//

ПериодОтчета = Строка (" период с 1 Января по " + Формат(Дата2,"Д

ДДММММГГГГ"));

Форма.Заголовок("(отчетность за " + ПериодСтр(Дата1,Дата2),1);

КаталогФормы = КаталогИБ() +

"\extForms\МССохраненныеотчеты\Автопарк\";

Восстановить(0);

ЗаполнитьСпискиНоменклатуры();

Форма.Расшифровать.Видимость(0);

Форма.Раскрыть.Видимость(0);

Форма.Пер1.Видимость(0);

Форма.Пер2.Видимость(0);

КонецПроцедуры //** ПриОткрытии()**//

//*******Определение списка значений*******//

Сп060 = СоздатьОбъект("СписокЗначений");

Сп070 = СоздатьОбъект("СписокЗначений");

Сп075 = СоздатьОбъект("СписокЗначений");

Сп080 = СоздатьОбъект("СписокЗначений");

Сп090 = СоздатьОбъект("СписокЗначений");

Сп100 = СоздатьОбъект("СписокЗначений");

Сп101 = СоздатьОбъект("СписокЗначений");

Сп110 = СоздатьОбъект("СписокЗначений");

Сп120 = СоздатьОбъект("СписокЗначений");

Сп130 = СоздатьОбъект("СписокЗначений");

Сп131 = СоздатьОбъект("СписокЗначений");

Сп140 = СоздатьОбъект("СписокЗначений");

Сп141 = СоздатьОбъект("СписокЗначений");

Сп142 = СоздатьОбъект("СписокЗначений");

Сп150 = СоздатьОбъект("СписокЗначений");

Отчетная калькуляция по полному содержанию и ремонту жилого фонда

//*******Объявляем переменные*******//

Перем КаталогФормы;

Перем ИдентКонфигурации;

Перем Сп410, Сп420, Сп430, Сп440,Сп400; //400

Перем Сп300, Сп310, Сп320, Сп330, Сп340; //300

Перем Сп500, Сп510, Сп520, Сп530, Сп540, Сп550, Сп560;

Перем Сп700, Сп800, Сп600, Сп710, Сп720, Сп730;

Перем Сп1100;

//*******Заполняем статьи затрат по кодам*******//

Процедура ЗаполнитьСпискиНоменклатуры()

СпрЗатрат =

СоздатьОбъект("Справочник.СтатьиЗатратНаПроизводство");

ТаблК = СоздатьОбъект("Таблица");

ТаблК.ИсходнаяТаблица("СтрокиКодов");

ТаблК.Вывести();

//*******Строка №300*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп300.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(4, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; //**Переменная для кода поиска из справочника**//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп300.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №310*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп310.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(5, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; //**Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп310.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №320*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп320.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(6, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; //**Переменная для кода поиска из справочника**//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп320.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №330*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения

Сп330.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(7, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп330.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №340*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп340.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(8, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп340.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//*******Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №400*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп400.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(9, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп400.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №410*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп410.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(10, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп410.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №420*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп420.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(11, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника**//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп420.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №430*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп430.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(12, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; //*Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп430.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №440*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп440.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(13, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп440.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить ("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №500*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп500.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(14, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп500.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №510*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп510.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(15, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; //**Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп510.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №520*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп520.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(16, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп520.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №530*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп530.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(17, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп530.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №540*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп540.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(18, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп540.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №550*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп550.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(19, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп550.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №560*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп560.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(20, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп560.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №600*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**

Сп600.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(21, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп600.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №700*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп700.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(22, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп700.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №710*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп710.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(23, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // переменная для кода поиска из справочника

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп710.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №720*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп720.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(24, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп720.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №730*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп730.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(25, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; //**Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп730.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №800*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп800.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(26, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп800.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №1100*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп1100.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(28, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп1100.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

КонецПроцедуры

//*******Заполняем табличную форму калькуляции*******//

Процедура Заполнить()

//*******Заполним из отчета за предыдущий год*******//

Если ЗаполнИзОтчета = 1 Тогда

Если ФС.СуществуетФайл(КаталогФормы +

СтрЗаменить(ПериодСтр(Дата11,Дата21),".","")) = 1 Тогда

СписокСохранения = СоздатьОбъект("СписокЗначений");

ЗначениеИзФайла(КаталогФормы +

СтрЗаменить(ПериодСтр(Дата11,Дата21),".",""),СписокСохранения);

Если ТипЗначенияСтр(СписокСохранения)="СписокЗначений" Тогда

СписокЗаполнения = СоздатьОбъект("СписокЗначений");

Для й =1 по СписокСохранения.РазмерСписка() цикл

ИдентПер = "";

СписокСохранения.ПолучитьЗначение(й, ИдентПер);

Если Лев(СокрЛП(ИдентПер),2) = "П2" Тогда

СписокЗаполнения.ДобавитьЗначение(СписокСохранения.Получить(И

дентПер),СтрЗаменить(ИдентПер,"П2","П1"));

КонецЕсли;

КонецЦикла;

Таблица.Загрузить(СписокЗаполнения);

КонецЕсли;

Иначе

Сообщить("Сохраненных данных за период " +

ПериодСтр(Дата11,Дата21) + " не найдено");

КонецЕсли;

КонецЕсли;

//*******Установим вид номенклатуры для отбора, если найден в

справочнике с кодом, то устанавливаем, иначе выбирается из списака,

при отмене выход из процедуры*******//

Спр = СоздатьОбъект("Справочник.ВидыНоменклатуры");

Спр.ВыборГруппы(1);

Если Спр.НайтипоКоду("0000016") = 1 Тогда

ТекВидНоменклатуры = Спр.ТекущийЭлемент();

Иначе

Если Спр.Выбрать("Выберите вид номенклатуры",) = 1 тогда

ТекВидНоменклатуры = Спр.ТекущийЭлемент();

Иначе

Возврат;

КонецЕсли;

КонецЕсли;

//*******Заполнение оборотов по строкам бухугалтерских

итогов*******//

//*******Строка №300*******//

Если Сп300.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп300, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П221 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп300, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П121 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №310*******//

Если Сп310.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп310, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П222 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп310, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П122 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №320*******//

Если Сп320.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп320, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П223 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп320, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П123 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №330*******//

Если Сп330.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп330, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П224 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп330, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П124 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №340*******//

Если Сп340.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп340, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П225 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп340, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П125 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №400*******//

Если Сп400.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп400, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П226 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп400, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П126 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №410*******//

Если Сп410.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп410, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П228 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп410, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П128 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №420*******//

Если Сп420.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп420, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П229 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп420, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П129 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №430*******//

Если Сп430.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп430, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П230 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп430, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П130 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №440*******//

Если Сп440.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп440, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П231 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп440, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П131 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №500*******//

Если Сп500.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп500, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П232 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп500, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П132 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №510*******//

Если Сп510.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп510, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П234 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп510, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П134 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №520*******//

Если Сп520.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп520, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П235 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп520, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П135 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка № 530*******//

Если Сп530.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп530, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П236 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп530, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П136 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №600*******//

Если Сп600.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп600, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П240 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп600, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П140 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка № 540*******//

Если Сп540.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп540, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П237 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп540, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П137 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №550*******//

Если Сп550.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп550, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П238 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп550, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П138 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №560*******//

Если Сп560.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп560, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П239 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп560, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П139 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №700*******//

Если Сп700.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп700, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П241 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп700, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П141 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №710*******//

Если Сп710.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп710, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П243 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп710, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П143 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №720*******//

Если Сп720.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп720, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П244 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп720, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П144 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №730*******//

Если Сп730.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп730, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П245 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп730, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П145 = Ит.ДО();

КонецЕсли;

КонецЕсли;

Сум20П246 = 0;

Сум20П146 = 0;

//*******без учета второго субконто*******//

//*******Строка №800*******//

Если Сп800.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп800, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

Сум20П246 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп800, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

Сум20П146 = Ит.ДО();

КонецЕсли;

КонецЕсли;

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "90.8");

П246 = Сум20П246 + Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "90.8");

П146 = Сум20П146 + Ит.ДО();

КонецЕсли;

//*******Строка №1100*******//

Если Сп1100.РазмерСписка() > 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп1100, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "20");

П247 = Ит.ДО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводст

во, Сп1100, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "20");

П147 = Ит.ДО();

КонецЕсли;

КонецЕсли;

//*******Строка №1500*******//

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ВыполнитьЗапрос(Дата1, Дата2, "90.1");

П250 = Ит.КО();

Если ЗаполнИзотчета = 0 Тогда

Ит = СоздатьОбъект("БухгалтерскиеИтоги");

Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,

ТекВидНоменклатуры, 2);

Ит.ВыполнитьЗапрос(Дата11, Дата21, "90.1");

П150 = Ит.КО();

КонецЕсли;

ПечДиректор =

СтрПолучитьФИО(константа.Руководитель.Получить(Дата2));

ПечГлБух =

СтрПолучитьФИО(Константа.ГлБухгалтер.Получить(Дата2));

КонецПроцедуры

Функция Расчет()

//*******Расчет расходов на эксплуатацию *******//

П11000 = П121 + П126 + П132 + П140 + П141 + П146;

П21000 = П221 + П226 + П232 + П240 + П241 + П246;

//*******Расчет расходов на распределение итогов*******//

П11200 = П11000 + П147;

П21200 = П21000 + П247;

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

//*******Печать отчетной калькуляции*******//

Процедура Печать()

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Печать");

Таб.Вывести();

Таб.Толькопросмотр(1);

Таб.Показать();

КонецПроцедуры

//*******Очищение табличной формы*******//

Процедура Очистить(парам)

СписокСохранения = Создатьобъект("СписокЗначений");

Таблица.Выгрузить(СписокСохранения);

Для Инд = 1 По СписокСохранения.РазмерСписка() Цикл

ПредставлениеЗначения = "";

СписокСохранения.ПолучитьЗначение(Инд, ПредставлениеЗначения);

СписокСохранения.УстановитьЗначение(Инд,

ПолучитьПустоеЗначение(), ПредставлениеЗначения);

КонецЦикла;

Таблица.Загрузить(СписокСохранения);

КонецПроцедуры

//*******Восстановление данных, сохраненнных ранее*******//

Процедура Восстановить(Спрашивать)

Перем ВыбДанные;

Перем Позиция;

Если Спрашивать=1 Тогда

Если ФС.СуществуетФайл(КаталогФормы +

СтрЗаменить(ПериодСтр(Дата1,Дата2),".","")) = 1 Тогда

Иначе

Сообщить("Файл сохраненных данных не найден");

Очистить(0);

Возврат;

КонецЕсли;

СписокСохранения = СоздатьОбъект("СписокЗначений");

ЗначениеИзФайла(КаталогФормы +

СтрЗаменить(ПериодСтр(Дата1,Дата2),".",""),СписокСохранения);

Если ТипЗначенияСтр(СписокСохранения)="СписокЗначений" Тогда

Если Вопрос("Текущие данные будут очищены!

Продолжить?","Да+Нет")="Нет" Тогда

Возврат;

КонецЕсли;

КонецЕсли;

Очистить(0);

Таблица.Загрузить(СписокСохранения);

Иначе

Если ФС.СуществуетФайл(КаталогФормы +

СтрЗаменить(ПериодСтр(Дата1,Дата2),".","")) = 1 Тогда

СписокСохранения = СоздатьОбъект("СписокЗначений");

ЗначениеИзФайла(КаталогФормы +

СтрЗаменить(ПериодСтр(Дата1,Дата2),".",""),СписокСохранения);

Если ТипЗначенияСтр(СписокСохранения)="СписокЗначений" Тогда

Очистить(0);

Таблица.Загрузить(СписокСохранения);

КонецЕсли;

Иначе

Очистить(0);

КонецЕсли;

КонецЕсли;

КонецПроцедуры // **Восстановить()**//

//*******Сохранение отчетных данных*******//

Процедура Сохранить(Спрашивать)

Если Спрашивать=1 Тогда

Если Вопрос("Сохранить данные отчета ""Отчет о прибылях и

убытках""?","Да+Нет",60)="Нет" Тогда

Возврат;

КонецЕсли;

КонецЕсли;

ИмяФайлаСохраненияОтчета = КаталогФормы +

СтрЗаменить(ПериодСтр(Дата1,Дата2),".","");

Если ПустаяСтрока(ИмяФайлаСохраненияОтчета)=1 Тогда

Возврат;

КонецЕсли;

СписокСохранения = СоздатьОбъект("СписокЗначений");

Таблица.Выгрузить(СписокСохранения);

Если ФС.СуществуетФайл(КаталогФормы)=0 Тогда

ФС.СоздатьКаталог(КаталогФормы);

КонецЕсли;

Если ФС.СуществуетФайл(КаталогФормы+

СтрЗаменить(ПериодСтр(Дата1,Дата2),".","")) = 1 Тогда

Если Вопрос("Заменить сохраненные ранее

данные?","Да+Нет",60)="Нет" Тогда

Возврат;

КонецЕсли;

КонецЕсли;

//*******сохраняем данные формы в файле*******//

Если

ЗначениеВФайл(ИмяФайлаСохраненияОтчета,СписокСохранения) > 0

Тогда

Сообщить("Данные отчета за "+ПериодСтр(Дата1,Дата2)+"

сохранены","I");

Иначе

Сообщить("Не удалось сохранить данные отчета","!!");

КонецЕсли;

КонецПроцедуры // Сохранить()

//*******Изменение периода на форме*******//

Процедура ИзменитьПериод(Шаг)

Дата2 = ДобавитьМесяц(Дата2,Шаг);

Дата1 = НачГода(Дата2);

//*******Дата для показа в колонке "Коды"*******//

Дата_Год = ДатаГод(Дата2);

Дата_Месяц = Формат(ДатаМесяц(Дата2), "Ч(0)2");

Дата_Число = Формат(ДатаЧисло(Дата2), "Ч(0)2");

//*******Период для показа в шапке отчета*******//

Восстановить(0);

КонецПроцедуры //**ИзменитьПериод()**//

//*******Заполнение формы при открытии ,предопределенная

процедура*******//

Процедура ПриОткрытии()

ИдентКонфигурации = ВРЕГ(глИдентификаторКонфигурации());

ФорматыВывода = СоздатьОбъект("СписокЗначений");

ФорматыВывода.ДобавитьЗначение("383", "в рублях");

ФорматыВывода.ДобавитьЗначение("384", "в тысячах рублей");

ФорматыВывода.ДобавитьЗначение("385", "в миллионах рублей");

Дата2 = КонГода(РабочаяДата());

Дата1 = НачГода(Дата2);

Дата11 = НачГода(Дата1-1);

Дата21 = КонГода(Дата1-1);

//******* Период для показа в шапке отчета*******//

ПериодОтчета = Строка (" период с 1 Января по " + Формат(Дата2,"Д

ДДММММГГГГ"));

Форма.Заголовок("(отчетность за " + ПериодСтр(Дата1,Дата2),1);

КаталогФормы = КаталогИБ() +

"\extForms\МССохраненныеотчеты\Жилье\";

Восстановить(0);

ЗаполнитьСпискиНоменклатуры();

Форма.Расшифровать.Видимость(0);

Форма.Раскрыть.Видимость(0);

Форма.Пер1.Видимость(0);

Форма.Пер2.Видимость(0);

КонецПроцедуры // ПриОткрытии()

Сп300 = СоздатьОбъект("СписокЗначений");

Сп310 = СоздатьОбъект("СписокЗначений");

Сп320 = СоздатьОбъект("СписокЗначений");

Сп330 = СоздатьОбъект("СписокЗначений");

Сп340 = СоздатьОбъект("СписокЗначений");

Сп400 = СоздатьОбъект("СписокЗначений");

Сп410 = СоздатьОбъект("СписокЗначений");

Сп420 = СоздатьОбъект("СписокЗначений");

Сп430 = СоздатьОбъект("СписокЗначений");

Сп440 = СоздатьОбъект("СписокЗначений");

Сп500 = СоздатьОбъект("СписокЗначений");

Сп510 = СоздатьОбъект("СписокЗначений");

Сп520 = СоздатьОбъект("СписокЗначений");

Сп530 = СоздатьОбъект("СписокЗначений");

Сп540 = СоздатьОбъект("СписокЗначений");

Сп550 = СоздатьОбъект("СписокЗначений");

Сп560 = СоздатьОбъект("СписокЗначений");

Сп600 = СоздатьОбъект("СписокЗначений");

Сп700 = СоздатьОбъект("СписокЗначений");

Сп710 = СоздатьОбъект("СписокЗначений");

Сп720 = СоздатьОбъект("СписокЗначений");

Сп730 = СоздатьОбъект("СписокЗначений");

Сп800 = СоздатьОбъект("СписокЗначений");

Сп1100 = СоздатьОбъект("СписокЗначений");

Отчетная калькуляция себестоимости отпущенной тепловой энергии

//*******Объявляем переменные*******//

Перем КаталогФормы;

Перем ИдентКонфигурации;

Перем Сп410, Сп420, Сп430, Сп440,Сп450, Сп460, Сп461, Сп470,

Сп480, Сп490;

Перем Сп610, Сп620, Сп630, Сп631, Сп640, Сп650, Сп660;

Перем Сп700, Сп800, Сп900, Сп910, Сп500;

Перем Сп1000;

//*******Заполняем статьи затрат по кодам*******//

Процедура ЗаполнитьСпискиНоменклатуры()

СпрЗатрат =

СоздатьОбъект("Справочник.СтатьиЗатратНаПроизводство");

//*******Коды субконто берутся из таблицы СтрокиКодов*******//

ТаблК = СоздатьОбъект("Таблица");

ТаблК.ИсходнаяТаблица("СтрокиКодов");

ТаблК.Вывести();

//*******Строка №410*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп410.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(1, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; //**Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп410.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №420*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп420.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(2, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; //**Переменная для кода поиска из справочника**/

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп420.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №430*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп430.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(3, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника**//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп430.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №440*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп440.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(4, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // переменная для кода поиска из справочника

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*****Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп440.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №450*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп450.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(5, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника**//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп450.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №460*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп460.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(6, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; // **Переменная для кода поиска из справочника**//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп460.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №461*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп461.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(7, 2).Текст);

Если ПустаяСтрока(СтрКоды) = 0 Тогда

КодСуб = ""; //**Переменная для кода поиска из справочника **//

Для й = 1 по СтрДлина(СтрКоды) цикл

Если Сред(СтрКоды, й, 1) = "," Тогда

//*******Поиск в справочник, если не найден сообщаем код*******//

Если СпрЗатрат.НайтиПоКоду(КодСуб) = 1 тогда

Сп461.ДобавитьЗначение(СпрЗатрат.ТекущийЭлемент());

Иначе

Сообщить("Элемент с кодом " + КодСуб + " не найден, обратитесь к

программисту");

КонецЕсли;

КодСуб = ""; //**Обнулим код субконто**//

Иначе

КодСуб = КодСуб + Сред(СтрКоды, й, 1);//**Добавляем символ к

строке кода**//

КонецЕсли;

КонецЦикла;

КонецЕсли;

//*******Строка №470*******//

СтрКоды = ""; //**Переменная строки с кодами, берется из таблицы

заполнения**//

Сп470.УдалитьВсе();

СтрКоды = СокрЛП(ТаблК.Область(8, 2).Текст);


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.