Loading...
Error

Расшифруйте мне код поэтапно пожалуйста!

 
Автор Сообщение

lapyshka90 Пол:Жен

23-Апр-2012 17:53

Sos sos! Help me! Приведенный ниже код формирует оборотно-сальдовую ведомость по счету 60,62. Мне необходима поэтапная расшифровка кода, то бишь что, зачем и почему... Я не сильна в конфигурировании в 1с, поэтому желательно как можно доступнее! Заранее спасибо за помощь!

А вот и сам код:
Перем Т;
Перем Обновить;
Перем Расшифровка;
Перем Закрыть;
Перем ВидСубконто1, ВидСубконто2, Субконто1, Субконто2, ОтборСубконто1, ОтборСубконто2;
//-----------------------------------------------
Функция ПроверкаПериода()
Если ПустоеЗначение(ВыбНачПериода) = 1 Тогда
Предупреждение("Не указана дата начала периода отчета!");
Возврат 0;
КонецЕсли;
Если ВыбНачПериода > ВыбКонПериода Тогда
Предупреждение("Неправильно задан период отчета!"+РазделительСтрок+
"Дата начала больше даты окончания периода.");
Возврат 0;
КонецЕсли;
Если ВыбКонПериода > КонецРассчитанногоПериодаБИ() Тогда
Предупреждение("За выбранный период итоги не рассчитаны!"+РазделительСтрок+
"Расчет итогов выполняется в режиме"+РазделительСтрок+
"""Операции - Управление бухгалтерскими итогами"".");
Возврат 0;
КонецЕсли;
Возврат 1;
КонецФункции
//-----------------------------------------------
//-----------------------------------------------
Функция РасшифровкаОбновить(Обновить)
Расшифровка.Установить("Обновить", Обновить);
Возврат Расшифровка;
КонецФункции
//-----------------------------------------------
Функция ПриВыбореСчета()
Если (ВыбСчет = СчетПоКоду("60"))или
(ВыбСчет = СчетПоКоду("62"))или
(ВыбСчет = СчетПоКоду("60.1"))или
(ВыбСчет = СчетПоКоду("60.2"))или
(ВыбСчет = СчетПоКоду("62.1"))или
(ВыбСчет = СчетПоКоду("62.2")) Тогда
Иначе
Предупреждение("Выберите пожалуйста счет 60, 62 или один из его субсчетов!"+РазделительСтрок+
" По другим счетам анализ выполнен быть не может.");
Возврат 0;
КонецЕсли;

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

Процедура Сформировать()
Т = СоздатьОбъект("Таблица");
Т.ИсходнаяТаблица("Сформировать");
Расшифровка = СоздатьОбъект("СписокЗначений");
Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, , 1);
Ит.ИспользоватьСубконто(ВидыСубконто.Договоры,, 1);
Ит.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, ВыбСчет,,, 1,, "С");
Т.ВывестиСекцию("Шапка");
Т.Опции(0,0,Т.ВысотаТаблицы(),0);
Ит.ВыбратьСубконто(ВидыСубконто.Контрагенты);
СуммаСНД = 0;
СуммаСНК = 0;
СуммаДО = 0;
СуммаКО = 0;
СуммаСКД = 0;
СуммаСКК = 0;

Пока Ит.ПолучитьСубконто(ВидыСубконто.Контрагенты) = 1 Цикл
Контрагент = Ит.Субконто(ВидыСубконто.Контрагенты);
//Таб.ВывестиСекцию("Субконто1");
Ит.ВыбратьСубконто(ВидыСубконто.Договоры);
Если ВыборДоговора.ТекущаяСтрока() = 1 Тогда
Договор = "Договор Склад№1";
ИначеЕсли ВыборДоговора.ТекущаяСтрока() = 2 Тогда
Договор = "Договор Склад№2";
ИначеЕсли ВыборДоговора.ТекущаяСтрока() = 3 Тогда
Договор = "Договор Склад№3";
Иначе
Договор = "Договор Склад№4";
КонецЕсли;
Пока Ит.ПолучитьСубконто(ВидыСубконто.Договоры) = 1 Цикл
ДоговорДок = Ит.Субконто(ВидыСубконто.Договоры);
НайденыйДоговор = СокрЛП(Ит.Субконто(ВидыСубконто.Договоры));
Если НайденыйДоговор = Договор Тогда
СуммаСНД = СуммаСНД + Ит.СНД();
СуммаСНК = СуммаСНК + Ит.СНК();
СуммаДО = СуммаДО + Ит.ДО();
СуммаКО = СуммаКО + Ит.КО();
СуммаСКД = СуммаСКД + Ит.СКД();
СуммаСКК = СуммаСКК + Ит.СКК();

ОтборСубконто1=2;
ОтборСубконто2=2;
ОтбСубконто1=2;
ОтбСубконто2=2;

Расшифровка.УдалитьВсе();
Расшифровка.Установить("Отчет", "КарточкаСчета");
Расшифровка.Установить("Дата1", ВыбНачПериода);
Расшифровка.Установить("Дата2", ВыбКонПериода);
Расшифровка.Установить("Счет", ВыбСчет);
Расшифровка.Установить("ВидСубконто1",ВидыСубконто.Контрагенты);
Расшифровка.Установить("Контрагент",Контрагент);
Расшифровка.Установить("ВидСубконто2",ВидыСубконто.Договоры);
Расшифровка.Установить("Субконто1", Контрагент);
Расшифровка.Установить("Субконто2", ДоговорДок);
Расшифровка.Установить("ОтборСубконто1", ОтбСубконто1);
Расшифровка.Установить("ОтборСубконто2", ОтбСубконто2);

Т.ВывестиСекцию("Субконто2");
КонецЕсли;
КонецЦикла;
КонецЦикла;

Т.ВывестиСекцию("Подвал");
Т.ТолькоПросмотр(1);
Т.Показать("Сформировать","");

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

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

Если глФлагРасшифровки = 1 Тогда
Закрыть = 1;
Обновить = глОбновить;
Дата1 = глРасшифровка.Получить("Дата1");
Дата2 = глРасшифровка.Получить("Дата2");
Счет = глРасшифровка.Получить("Счет");
Контрагент = глРасшифровка.Получить("Контрагент",Контрагент);
ВидСубконто1 = глРасшифровка.Получить("ВидСубконто1",ВидыСубконто.Контрагенты);
ВидСубконто2 = глРасшифровка.Получить("ВидСубконто2",ВидыСубконто.Договоры);
Субконто1 = глРасшифровка.Получить("Субконто1", Контрагент);
ДанныеПоСубсчетам = глРасшифровка.Получить("ДанныеПоСубсчетам");
ОтборСубконто1.ТекущаяСтрока(глРасшифровка.Получить("ОтборСубконто1"));
ОтборСубконто2.ТекущаяСтрока(глРасшифровка.Получить("ОтборСубконто2"));
Если Обновить <> 0 Тогда
Т = глТаблица;
КонецЕсли;
Если Обновить <> 2 Тогда
Сформировать();
СтатусВозврата(0);
Возврат;
КонецЕсли;
Иначе
Закрыть = 0;
Обновить = 0;
ВыбРазделительУчета = 1;

КонецЕсли;

ВыбНачПериода = НачалоПериодаБИ();
ВыбКонПериода = КонецПериодаБИ();
ВыборДоговора.ДобавитьЗначение(1, "Договор Склад№1");
ВыборДоговора.ДобавитьЗначение(2, "Договор Склад№2");
ВыборДоговора.ДобавитьЗначение(3, "Договор Склад№3");
ВыборДоговора.ДобавитьЗначение(4, "Договор Склад№4");
ВыборДоговора.ТекущаяСтрока(1);
ВыбСчет = СчетПоКоду("60.1");

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

Kroop Пол:Муж

05-Май-2012 02:30

Возникает вопрос: зачем?
просто из образовательных целей? тогда стоит начать с чего-то попроще.

Яндекс.Метрика powered by Sphinx


В Н И М А Н И Е
Сайт не распространяет и не хранит электронные версии произведений, а лишь бесплатно и без коммерческой выгоды (не требуя взамен платы,
SMS и т.д.) предоставляет доступ к создаваемому пользователями каталогу ссылок на торрент-файлы, которые содержат только списки хеш-сумм.
Убедительная просьба с жалобами обращаться напрямую к пользователю, разместившему торрент файл.

Вверх