Метданные

1. Naty_K89 24.03.09 08:57 Сейчас в теме
Тут представлен модуль документа Заявки на кассовый расход. При
печати данного документа печатаеться 3 листа,...что слишком много
тоесть на
1стр он печатает 1. реквизиты документов, подпись
ответственных лиц,
на втором 2"реквезиты документа, 3 "реквизиты
контрагента, подпись
ответственных лиц,
на третем листе расшифровка заявки на кассовый расход подпись
ответственных лиц,
а нужно чтоб он переносил печать только при случае если на страницы
действительно не хватает места.


////////////////////////////////////////////////////////////­////////////////////
// ПЕРЕМЕННЫЕ МОДУЛЯ
//

Перем НачальнаяДатаДокумента;
Перем СтараяФирма;
Перем Новый;

Перем ФКРУчреждения;
Перем ВыбФКР;

Перем ТекущаяЗакладка;

Перем ТаблицаПечФорм; // список печатных форм документа
Перем НомерТекущейФормы;

// Предопределенные списки для выбора значений в формах
Перем СпПоказательТипа;
Перем СпПоказательОснования;
Перем СтатусСоставителя;

// Буферный переменные для печати колонтитулов
Перем ВсегоСтраниц;
Перем пНомерДокумента;
Перем пДатаДок;

Перем ТекстШапкиРаздела;

////////////////////////////////////////////////////////////­////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ
//

Функция Падеж(ДатаСтр)

СтрВозврат = СокрЛП(ДатаСтр);

Окончание = Прав(СтрВозврат, 9);

Если (Лев(Окончание, 1) = "й") ИЛИ (Лев(Окончание, 1) = "ь") Тогда

СтрокаДоп = "я";
Основание = 9;

Иначе

СтрокаДоп = "а";
Основание = 8;

КонецЕсли;

СтрВозврат = Лев(СтрВозврат, СтрДлина(СтрВозврат) - Основание) + СтрокаДоп + Сред(Окончание, 2);

Возврат СтрВозврат;

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

//******************************************************************************

Функция ВывестиРазделБланка(Чистовик, Черновик = "", Подвал, НомСтрБланка)

Чистовик.ВывестиСекцию(Подвал);
Чистовик.НоваяСтраница();

ТекстШапкиРаздела = "Форма 0531801, с." + Строка(НомСтрБланка) + "
|Номер Заявки на кассовый расход " + НомерДок + "
|от «" + ДатаЧисло(ДатаДок) + "» " + Падеж(Нрег(ПериодСтр(НачМесяца(ДатаДок), КонМесяца(ДатаДок))));

Заголовок = Чистовик.ПолучитьСекцию("ШапкаРаздела");
Чистовик.ВывестиСекцию(Заголовок);

Если ПустоеЗначение(Черновик) = 0 Тогда

// Очищаем черновик
Черновик = СоздатьОбъект("Таблица");
Черновик.ПараметрыСтраницы(2,,,,,10,10,10,10,1,,);
Черновик.ВывестиСекцию(Подвал);

Черновик.ВывестиСекцию(Заголовок);

КонецЕсли;

Возврат Заголовок;

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

//******************************************************************************

Процедура ОпределениеОЛ()


Руководитель = ВыбраннаяФирма.Руководитель.Получить(ДатаДок);
Бухгалтер = ВыбраннаяФирма.ГлБухгалтер.Получить(ДатаДок);


КонецПроцедуры //ОпределениеРуководителя()

//******************************************************************************
// РасчетНДС()
//
// Параметры:
// Нет
//
// Возвращаемое значение:
// Нет
//
//
// Описание:
// Выполняет расчет суммы НДС
//
Процедура РасчетНДС()

Если СтавкаНДС.Выбран() = 1 Тогда
СтНДС = СтавкаНДС.Ставка;
Иначе
СтНДС = 0;
КонецЕсли;
Если ВИнВалюте = 1 Тогда
СумДок = СуммаДокументаВВалюте;
Иначе
СумДок = СуммаДокумента;
КонецЕсли;

СуммаНДС = СумДок*СтНДС/(100+СтНДС);

КонецПроцедуры // РасчетНДС()

//******************************************************************************
// ОчиститьНалоговыеРеквизиты()
//
// Параметры:
// Нет
//
// Возвращаемое значение:
// Нет
//
//
// Описание:
// Очищает налоговые реквизиты
//
Процедура ОчиститьНалоговыеРеквизиты()

СтатусСоставителяПлДок = "";
ПоказательОснования = "";
ПоказательПериода = "";
ПоказательНомера = "";
ПоказательДаты = "";
ПоказательТипа = "";
КодОКАТО = "";
ВыбранныйНалог = "";
КодБК = "";

КонецПроцедуры // ОчиститьНалоговыеРеквизиты()

//*****************************************************************************
// ОтобразитьРасшифровки()
//
// Параметры:
// Нет
//
// Возвращаемое значение:
// Нет
//
// Описание:
// Обновляет текст расшифровок налоговых показателей.
//
Процедура ОтобразитьРасшифровки()

Перем Представление;

Если НалоговыйПлатеж = 1 Тогда
Позиция = СтатусСоставителя.НайтиЗначение(СтатусСоставителяПлДок);
Если Позиция > 0 Тогда
СтатусСоставителя.ПолучитьЗначение(Позиция,Представление);
Форма.РасшифровкаСтатусСоставителя.Заголовок(Представление);
КонецЕсли;

Позиция = СпПоказательОснования.НайтиЗначение(ПоказательОснования);
Если Позиция > 0 Тогда
СпПоказательОснования.ПолучитьЗначение(Позиция,Представление);
Форма.РасшифровкаПоказательОснования.Заголовок(Представление);
КонецЕсли;

Позиция = СпПоказательТипа.НайтиЗначение(ПоказательТипа);
Если Позиция > 0 Тогда
СпПоказательТипа.ПолучитьЗначение(Позиция,Представление);
Форма.РасшифровкаПоказательТипаПлатежа.Заголовок(Представление);
КонецЕсли;

КонецЕсли;

КонецПроцедуры // ОтобразитьРасшифровки()

//******************************************************************************
// УправлениеВидимостьюДоступностью()
//
// Параметры:
// Нет
//
// Возвращаемое значение:
// Нет
//
//
// Описание:
// Управление видимостью / доступностью элементов диалога в зависимости от
// значения закладки и других условий.
//
Процедура УправлениеВидимостьюДоступностью()

Форма.ВалютаДокумента.Видимость(ВИнВалюте);
Форма.Курс.Видимость(ВИнВалюте);
Форма.Кратность.Видимость(ВИнВалюте);
Форма.СуммаДокументаВВалюте.Видимость(ВИнВалюте);
Форма.СуммаВал.Доступность(ВИнВалюте);

Форма.НадписьВалюта.Видимость(ВИнВалюте);
Форма.НадписьКурс.Видимость(ВИнВалюте);
Форма.НадписьКратность.Видимость(ВИнВалюте);
Форма.НадписьСуммаВВалюте.Видимость(ВИнВалюте);

//Если (КВД = Перечисление.КодВидаДеятельности.ВремРасп) И (НалоговыйПлатеж = 1) Тогда
// Форма.КонтрагентВремРасп.Видимость(1);
//Иначе
// Форма.КонтрагентВремРасп.Видимость(0);
//КонецЕсли;

КонецПроцедуры // УправлениеВидимостьюДоступностью()

//******************************************************************************
// ВывестиСекциюПостранично(НоваяСекция, Чистовик, Черновик, СекцияПодвала = 0, СекцияЗаголовка = 0)
//
// Параметры:
// НоваяСекция - секция таблицы, которую необходимо вывести
// Чистовик - таблица, куда необходимо вывести секцию
// Черновик - таблица, используемая для расчета необходимости новой страницы в Чистовике
// СекцияПодвала - секция, выводимая в подвале на каждом листе
// СекцияЗаголовка - секция, выводимая в заголовке на каждом листе
//
// Возвращаемое значение:
// Нет.
//
// Описание:
// Выводит секцию в таблицу с учетом разбиения на несколько страниц
// с заголовком и подвалом на каждой.
//
Процедура ВывестиСекциюПостранично(НоваяСекция, Чистовик, Черновик, СекцияПодвала = 0, СекцияЗаголовка = 0)

// Инициализируется черновик, если он пустой
Если Черновик.ВысотаТаблицы() = 0 Тогда
Если ПустоеЗначение(СекцияПодвала) = 0 Тогда
Черновик.ВывестиСекцию(СекцияПодвала);
КонецЕсли;
Если ПустоеЗначение(СекцияЗаголовка) = 0 Тогда
Черновик.ВывестиСекцию(СекцияЗаголовка);
КонецЕсли;
КонецЕсли;

// Выполняется проверка необходимости перехода на новую страницу
БылоСтраниц = Черновик.КоличествоСтраниц();
Черновик.ВывестиСекцию(НоваяСекция);

Если (БылоСтраниц <> Черновик.КоличествоСтраниц()) Тогда
// Очищаем черновик
Черновик = СоздатьОбъект("Таблица");
Черновик.ПараметрыСтраницы(2,,,,,10,10,10,10,1,,);


// Добавляем, если нужно, подвал в Чистовик и в очищенный Черновик
Если ПустоеЗначение(СекцияПодвала) = 0 Тогда
Черновик.ВывестиСекцию(СекцияПодвала);
Чистовик.ВывестиСекцию(СекцияПодвала);
КонецЕсли;

// Переводим страницу в Чистовике
Чистовик.НоваяСтраница();
ВсегоСтраниц = ВсегоСтраниц + 1;

// Добавляем, если нужно, заголовок в Чистовик и в очищенный Черновик
Если ПустоеЗначение(СекцияЗаголовка) = 0 Тогда
Черновик.ВывестиСекцию(СекцияЗаголовка);
Чистовик.ВывестиСекцию(СекцияЗаголовка);
КонецЕсли;

// Добавляем секцию в черновик, ведь его очистили после пробного вывода
Черновик.ВывестиСекцию(НоваяСекция);
КонецЕсли;

// Выводим секцию в Чистовик
Чистовик.ВывестиСекцию(НоваяСекция);

КонецПроцедуры // ВывестиСекциюПостранично()

//******************************************************************************
// Печать(СразуНаПринтер, КолЭкз)
//
// Параметры:
// СразуНаПринтер - (1) если печать на принтер, (0) - с предварительным просмотром
// КолЭкз - количество экземпляров печати
//
// Возвращаемое значение:
// нет.
//
// Описание:
//
Процедура Печать(СразуНаПринтер = 0,КолЭкз = 1)

Если ВИнВалюте = 1 Тогда
Если СуммаДокументаВВалюте <> Итог("СуммаВал") Тогда
Сообщить(ГлПредставлениеДокумента(ТекущийДокумент(),1));
Сообщить("- сумма документа в валюте ("+Строка(СуммаДокументаВВалюте)+") не равна итогу
табличной части ("+Строка(Итог("СуммаВал")));
КонецЕсли;
КонецЕсли;
Если СуммаДокумента <> Итог("Сумма") Тогда
Сообщить(ГлПредставлениеДокумента(ТекущийДокумент(),1));
Сообщить("- сумма документа ("+Строка(СуммаДокумента)+") не равна итогу табличной части
("+Строка(Итог("Сумма")));
КонецЕсли;


Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("0531801");
Таб.ПараметрыСтраницы(2,,,,,10,10,10,10,1,,);
ВсегоСтраниц = 1;

Состояние("Формируется шапка документа");

пНомерДокумента = глПреобразоватьНомерДок(НомерДок,ВыбраннаяФирма);
пНомерДокумента = НомерДок;
пДатаДок = "от " + Формат(ДатаДок,"ДДДММММГГГГ");
пДатаДокЦ= Формат(ДатаДок,"ДДДММГГГГ");
пДатаДок_2 = Формат(ДатаДок,"ДДДММММГГГГ");

СписокДанных=СоздатьОбъект("СписокЗначений");
//ЦБ="";
//Если Константа.ОднаКассоваяКнига=Да Тогда
// ЦБ=Константа.ЦентрализованнаяБухгалтерия;
//КонецЕсли;
//Если ПустоеЗначение(ЦБ)=1 Тогда
СписокДанных.Установить( "Контекст", Контекст);
//Иначе
// СписокДанных.Установить( "Контекст", ЦБ);
//КонецЕсли;

пНомерЛС = "";
ВыбратьСтроки();
Если ПолучитьСтроку() = 1 Тогда
пНомерЛС = РазделЛицевогоСчета.Номер;
КонецЕсли;

СписокДанных.Установить( "Дата",ДатаДок );
СписокДанных.Установить( "ОфициальноеНаименование","" );
СписокДанных.Установить( "ФИОБух", "" );
СписокДанных.Установить( "ФИОРук", "" );
СписокДанных.Установить( "ДолжностьРук", "" );
СписокДанных.Установить( "ДолжностьБух", "" );
СписокДанных.Установить( "Министерство", "" );
СписокДанных.Установить( "КодБюджетополучателя" , "" );
СписокДанных.Установить( "КодППП" , "" );
СписокДанных.Установить( "НаименованиеБюджета" , "" );

ГлПолучитьДанные(СписокДанных);

пНаименованиеКлиента = СписокДанных.Получить("ОфициальноеНаименование");
//ОргБухФИО = глФИО(СписокДанных.Получить("ФИОБух"),1);
//ОргБухДолжность = СписокДанных.Получить("ДолжностьБух");
//ОргРукФИО = глФИО(СписокДанных.Получить("ФИОРук"),1);
//ОргРукДолжность = СписокДанных.Получить("ДолжностьРук");

ОргБухФИО = глФИО(Бухгалтер,1);
ОргБухДолжность = Бухгалтер.Должность.Получить(ДатаДок);
ОргРукФИО = глФИО(Руководитель,1);
ОргРукДолжность = Руководитель.Должность.Получить(ДатаДок);


пКодРПБС = СписокДанных.Получить("КодБюджетополучателя");
Если Сред(пНомерЛС, 5, 1) <> "1" Тогда
пКодРПБС = "";
КонецЕсли;
пНаименованиеГлавы = СписокДанных.Получить("Министерство");
пГлава = СписокДанных.Получить("КодППП");
пНаименованиеБюджета = СписокДанных.Получить("НаименованиеБюджета");

пФинансовыйОрган = ОрганКазначейства.ФинОрганНаименование;
пНаименованиеОФК = ОрганКазначейства.ПолнНаимен;
пКОФК = ОрганКазначейства.Код;

пПредельнаяДатаИсполнения = Формат(ПредельнаяДатаИсполнения,"ДДДММГГГГ");
пНомерОбязательства = НомерОбязательства;
Если ПустоеЗначение(ВалютаДокумента) = 1 Тогда
КодОКВ = "643";
Иначе
КодОКВ = ВалютаДокумента.Код;
КонецЕсли;

ПризнакАванса = ?(ПризнакАвансовогоПлатежа = 0, "Нет", "Да");
НазначениеПлатежа = ППНазначениеПлатежа;

// реквизиты контрагента

ПолучательПП = "";
БанкПолучателя = "";
Кредит = "";
БИКБанкаПолучателя = "";
СчетБанкаПолучателя = "";
ПолучательИНН = "";
ПолучательКПП = "";
ПечатьКПППол = СчетКонтрагента.ВсегдаУказыватьКПП;

глПлатежныеРеквизиты(СчетКонтрагента,ДатаДок,ПолучательИНН,ПолучательКПП, ПолучательПП, БанкПолучателя,
Кредит, БИКБанкаПолучателя,СчетБанкаПолучателя,НалоговыйПлатеж,,"Нет");


КонтрагентНаименование = ПолучательПП;
КонтрагентИНН = ПолучательИНН;
КонтрагентКПП = ПолучательКПП;
Если ПустоеЗначение(СчетКонтрагента.КазначействоОрганизации) = 0 Тогда
КонтрагентЛицевойСчет = СчетКонтрагента.Номер;
КонтрагентБанковскийСчет = СчетКонтрагента.НомерСчетаКазначейства;
Иначе
КонтрагентЛицевойСчет = "";
КонтрагентБанковскийСчет = СчетКонтрагента.Номер;
КонецЕсли;

КонтрагентНаименованиеБанка = БанкПолучателя;
КонтрагентБИКБанка = БИКБанкаПолучателя;
КонтрагентКорСчетБанка = СчетБанкаПолучателя;


// Суммы документа
Если (ПустоеЗначение(ВалютаДокумента) = 1) ИЛИ (ВалютаДокумента.Код = "643") Тогда
ППСуммаДокумента = "0";
ППСуммаДокументаВВалюте = Формат(СуммаДокумента,"Ч15.2");
Иначе
ППСуммаДокумента = Формат(СуммаДокумента,"Ч15.2");
ППСуммаДокументаВВалюте = Формат(СуммаДокументаВВалюте,"Ч15.2");
КонецЕсли;


// Получаем заголовок
СекцияЗаголовка = Таб.ПолучитьСекцию("Раздел5_Шапка");

// Получаем подвал
СекцияПодвала = Таб.ПолучитьСекцию("Подвал");

Черновик = СоздатьОбъект("Таблица");
Черновик.ПараметрыСтраницы(2,,,,,10,10,10,10,1,,);

// Выводим заголовок
ВывестиСекциюПостранично(Таб.ПолучитьСекцию("Заголовок"), Таб, Черновик, СекцияПодвала);

// Выводим раздел №1
ВывестиСекциюПостранично(Таб.ПолучитьСекцию("Раздел1"), Таб, Черновик, СекцияПодвала);

ЗалоговокРаздела = ВывестиРазделБланка(Таб, Черновик, СекцияПодвала, 2);

Если НалоговыйПлатеж = 0 Тогда
// Выводим раздел №2
ВывестиСекциюПостранично(Таб.ПолучитьСекцию("Раздел2"), Таб, Черновик, СекцияПодвала, ЗалоговокРаздела);
КонецЕсли;

// Выводим раздел №3
ВывестиСекциюПостранично(Таб.ПолучитьСекцию("Раздел3"), Таб, Черновик, СекцияПодвала, ЗалоговокРаздела);

Если НалоговыйПлатеж = 1 Тогда
// Выводим раздел №4

Контроль=1;
СписокПараметров = СоздатьОбъект("СписокЗначений");
СписокПараметров.ДобавитьЗначение(Контекст,"Контекст");
СписокПараметров.ДобавитьЗначение(СтатусСоставителяПлДок,"П101");
СписокПараметров.ДобавитьЗначение(КодБК,"П104");
СписокПараметров.ДобавитьЗначение(КодОКАТО,"П105");
СписокПараметров.ДобавитьЗначение(ПоказательОснования,"П106");
СписокПараметров.ДобавитьЗначение(ПоказательПериода,"П107");
СписокПараметров.ДобавитьЗначение(ПоказательНомера,"П108");
СписокПараметров.ДобавитьЗначение(ПоказательДаты,"П109");
СписокПараметров.ДобавитьЗначение(ПоказательТипа,"П110");
СписокПараметров.ДобавитьЗначение(Контроль,"Контроль");
ОткрытьФормуМодально("Обработка.ПеречислениеНалога",СписокПараметров);

ПНСтатусСоставителя = СтатусСоставителяПлДок;
ПНКодБК = ?(ПустаяСтрока(КодБК)=1,"0", КодБК);
ПНКодОКАТО = ?(ПустаяСтрока(КодОКАТО)=1,"0", КодОКАТО);
ПНПоказательОснования = ?(ПустаяСтрока( ПоказательОснования)=1,"0", ПоказательОснования);
ПНПоказательПериода = ?(ПустаяСтрока(ПоказательПериода)=1,"0", ПоказательПериода);
ПНПоказательНомера = ?(ПустаяСтрока(ПоказательНомера)=1,"0",ПоказательНомера);
ПНПоказательДаты = ?(ПустоеЗначение(ПоказательДаты)=1,"0",ПоказательДаты);
ПНПоказательТипа = ?(ПустоеЗначение( ПоказательТипа)=1,"0", ПоказательТипа);

ВывестиСекциюПостранично(Таб.ПолучитьСекцию("Раздел4"), Таб, Черновик, СекцияПодвала, ЗалоговокРаздела);
КонецЕсли;

ЗалоговокРаздела = ВывестиРазделБланка(Таб, Черновик, СекцияПодвала, 3);

// Выводим раздел №5
ВывестиСекциюПостранично(Таб.ПолучитьСекцию("Раздел5_Заголовок"), Таб, Черновик, СекцияПодвала,
ЗалоговокРаздела);
ВывестиСекциюПостранично(Таб.ПолучитьСекцию("Раздел5_Шапка"), Таб, Черновик, СекцияПодвала, ЗалоговокРаздела);

ВыбратьСтроки();

Пока ПолучитьСтроку() = 1 Цикл

Состояние("Формируется строка расшифровки № " + НомерСтроки);
// Выводим очередную строку на печать
КодБКПлательщика = "" + КБКНазначениеПлатежа.ДляКодаСчета + КОСГУНазначениеПлатежа.Код;

ВидСредствДляИсполнения = Строка(РазделЛицевогоСчета.ВидКазначейскогоСчета);

// Суммы строки расшифровки
СуммаВВалюте = Формат(СуммаВал,"Ч15.2");
Если (ПустоеЗначение(ВалютаДокумента) = 1) ИЛИ (ВалютаДокумента.Код = "643") Тогда
СуммаВРублях = "0";
СуммаВВалюте = Формат(Сумма,"Ч15.2");
Иначе
СуммаВВалюте = Формат(СуммаВал,"Ч15.2");
СуммаВРублях = Формат(Сумма,"Ч15.2");
КонецЕсли;

ВывестиСекциюПостранично(Таб.ПолучитьСекцию("Раздел5_Строка"), Таб, Черновик, СекцияПодвала,
Таб.ПолучитьСекцию("ШапкаРазд5Стр"));

КонецЦикла;

// Выводим подвал
Таб.ВывестиСекцию("Подвал");

// Выводим Отметку ФК
ВывестиСекциюПостранично(Таб.ПолучитьСекцию("ОтметкаФК"), Таб, Черновик);

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

Состояние("");

КонецПроцедуры // Печать()

//******************************************************************************
// ПоКнопкеПечать()
//
// Вызывается из формул элементов диалога:
// Кнопка "кнПечать".
//
// Описание:
// Определяется соответствующая печатная форма.
//
Процедура ПоКнопкеПечать(СразуНаПринтер = 0,КолЭкз = 1)

Если глКонтрольДатыДокумента(Контекст, НачальнаяДатаДокумента)=1 Тогда
Возврат;
КонецЕсли;

Если ПустоеЗначение(НомерТекущейФормы) = 1 Тогда
НомерТекущейФормы = 1;
Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));
КонецЕсли;

Если НомерТекущейФормы = 1 Тогда
Печать(СразуНаПринтер, КолЭкз);

Иначе
Параметры = СоздатьОбъект("СписокЗначений");
Параметры.ДобавитьЗначение(Контекст, "Контекст");
Параметры.ДобавитьЗначение(СразуНаПринтер, "Устройство");
Параметры.ДобавитьЗначение(КолЭкз, "КоличествоКопий");

ОткрытьФорму("Отчет", Параметры,
глКаталогПечФорм+ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы,"Файл"));
КонецЕсли;

КонецПроцедуры // ПоКнопкеПечать()

//******************************************************************************
// ПоКнопкеВыборПечатнойФормы()
//
// Вызывается из формул элементов диалога:
// Кнопка "кнВыбПечать".
//
// Описание:
// - открывает список для выбора способа печати.
// - формирует таблицу по выбранному способу.
//
Процедура ПоКнопкеВыборПечатнойФормы()

ВыбНомер = глВыборПечатнойФормы("Документ." + Вид(), ТаблицаПечФорм);
Если ВыбНомер > 0 Тогда
НомерТекущейФормы = ВыбНомер;
Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));
ПоКнопкеПечать();
КонецЕсли;

КонецПроцедуры // ПоКнопкеВыборПечатнойФормы()

//******************************************************************************
// ПеречислениеНалога()
//
// Параметры:
// Нет
//
// Возвращаемое значение:
// Нет
//
//
// Описание:
// Выполняет вызов обработки для заполнения налоговых реквизитов
// и заполняет их введенными значениями
//
Процедура ПеречислениеНалога()

Если КоличествоСтрок()>0 Тогда
Если Вопрос("Табличная часть документа будет очищена!
|Продолжить?","Да+Нет")="Нет" Тогда
Возврат;
КонецЕсли;
КонецЕсли;
УдалитьСтроки();

КодБК="";

Контроль=0;
СписокПараметров = СоздатьОбъект("СписокЗначений");
СписокПараметров.ДобавитьЗначение(Контекст,"Контекст");
СписокПараметров.ДобавитьЗначение(СтатусСоставителяПлДок,"П101");
СписокПараметров.ДобавитьЗначение(КодБК,"П104");
СписокПараметров.ДобавитьЗначение(КодОКАТО,"П105");
СписокПараметров.ДобавитьЗначение(ПоказательОснования,"П106");
СписокПараметров.ДобавитьЗначение(ПоказательПериода,"П107");
СписокПараметров.ДобавитьЗначение(ПоказательНомера,"П108");
СписокПараметров.ДобавитьЗначение(ПоказательДаты,"П109");
СписокПараметров.ДобавитьЗначение(ПоказательТипа,"П110");
СписокПараметров.ДобавитьЗначение(Контроль,"Контроль");

ОткрытьФормуМодально("Обработка.ПеречислениеНалога",СписокПараметров);

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

КодБК=СокрЛП(ВыбранныйНалог.Налог.КодАдминистратора.Код)+СокрЛП(ВыбранныйНалог.Налог.КодБК.Код)+СокрЛП(ВыбранныйНалог.Налог.КодБК.ОГС.Код);
КонецЕсли;
Если ПустаяСтрока(КодОКАТО)=1 Тогда
КодОКАТО=ВыбранныйНалог.КодОКАТО;
КонецЕсли;

Если ВыбраннаяФирма <> СтараяФирма Тогда
глПриИзмененииФирмы(Контекст);
СтараяФирма = ВыбраннаяФирма;
КонецЕсли;

ППНазначениеПлатежа = ВыбранныйНалог.НазначениеПлатежа;

ОтобразитьРасшифровки();

КонецПроцедуры // ПеречислениеНалога()

//******************************************************************************
// ПересчитатьРублевыеСуммы()
//
Процедура ПересчитатьРублевыеСуммы()
СуммаДокумента = СуммаДокументаВВалюте * Курс / Кратность;
РасчетНДС();
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Сумма = СуммаВал * Курс / Кратность;
КонецЦикла;
КонецПроцедуры

//******************************************************************************
// ПриВыбореСуммыДокументаВВалюте()
//
// Параметры:
// Нет
//
// Возвращаемое значение:
// Нет
//
//
// Описание:
// Выполняет действия при выборе валютной суммы документа:
// корректирует кратность и расчитывает сумму документа
//
Процедура ПриВыбореСуммыДокументаВВалюте()

Если Кратность = 0 Тогда
Кратность = 1;
КонецЕсли;

СуммаДокумента = СуммаДокументаВВалюте * Курс / Кратность;
РасчетНДС();

КонецПроцедуры // ПриВыбореСуммыДокументаВВалюте()

//******************************************************************************
//
//
Процедура ПриИзмененииСуммыВал()
Сумма = СуммаВал * Курс / Кратность;
КонецПроцедуры

//******************************************************************************
// ПриВыбореВалютыДокумента()
//
// Параметры:
// Парам - 1 - всегда установливать курс и кратность
//
// Возвращаемое значение:
// Нет
//
//
// Описание:
// Выполняет действия при выборе валюты:
// устанавливает курс и кратность, расчитывает сумму документа
//
Процедура ПриВыбореВалютыДокумента(Парам=0)

Если ВалютаДокумента.Выбран()=1 Тогда
Если Парам=1 Тогда
Курс = ВалютаДокумента.Курс.Получить(ДатаДок);
Кратность = ВалютаДокумента.Кратность.Получить(ДатаДок);
КонецЕсли;
Иначе
Если Парам=1 Тогда
Курс = 1;
Кратность = 1;
КонецЕсли;
КонецЕсли;

Если Кратность = 0 Тогда
Кратность = 1;
КонецЕсли;


ПересчитатьРублевыеСуммы()

КонецПроцедуры // ПриВыбореВалютыДокумента()

//******************************************************************************
// ПриУстановкеПризнакаВИнВалюте()
//
// Параметры:
// Нет
//
// Возвращаемое значение:
// Нет
//
//
// Описание:
// Выполняет действия при изменении признака валютного платежа:
// если требуется очищает валютные реквизиты и устанавливает
// их видимость для редактирования
//
Процедура ПриУстановкеПризнакаВИнВалюте()

Если ВИнВалюте = 0 Тогда
ВалютаДокумента = "";
Курс = 1;
Крастность = 1;
СуммаДокументаВВалюте = СуммаДокумента;
КонецЕсли;

УправлениеВидимостьюДоступностью();

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

//******************************************************************************
// ПриУстановкеПризнакаНалог()
//
// Параметры:
// Нет
//
// Возвращаемое значение:
// Нет
//
//
// Описание:
// Выполняет действия при изменении признака налогового платежа:
// если требуется очищает налоговые реквизиты и устанавливает
// их доступность для редактирования
//
Процедура ПриУстановкеПризнакаНалог()

Если ТекущаяЗакладка = 1 Тогда
Если НалоговыйПлатеж=0 Тогда
Форма.ИспользоватьСлой("Шапка,Кнопки,Основной,ДокументОснование",2);
Форма.кнДоговор.Видимость(1);
ОчиститьНалоговыеРеквизиты();
Иначе
Форма.ИспользоватьСлой("Шапка,Кнопки,Основной,НалоговыйПлатеж",2);
Форма.кнДоговор.Видимость(0);

КонецЕсли;
КонецЕсли;

УправлениеВидимостьюДоступностью();

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

//******************************************************************************
// ПриВыбореДоговора()
//
// Параметры:
// Нет
//
// Возвращаемое значение:
// Нет
//
//
// Описание:
// Выполняет действия при выборе договора:
// устанавливает значения реквизитов документа основания,указанные в договоре
//
Процедура ПриВыбореДоговора()

ДокументОснованиеВид = Договор.ВидОбязательства;
ДокументОснованиеДата = Договор.ДатаДоговора;
ДокументОснованиеНомер = Договор.НомерДоговора;
ДокументОснованиеПредмет = Договор.Содержание;
ППНазначениеПлатежа = Договор.НазначениеПлатежа


КонецПроцедуры // ПриВыбореДоговора()

//******************************************************************************
// ПриВыбореФирмы()
//
// Параметры:
// Нет
//
// Возвращаемое значение:
// Нет
//
//
// Описание:
// Выполняет действия при выборе фирмы:
// запоминает текущее значение и устанавливает значения реквизитов
//
Процедура ПриВыбореФирмы()

Фирма = СоздатьОбъект("Справочник.Фирмы");
Фирма.НайтиЭлемент(ВыбраннаяФирма);
Если Фирма.Выбрать("Выберите учреждение","ФормаСписка") = 1 Тогда
ВыбраннаяФирма = Фирма.ТекущийЭлемент();
КонецЕсли;

Если ВыбраннаяФирма <> СтараяФирма Тогда

Если КоличествоСтрок()>0 Тогда
Если Вопрос("Табличная часть документа будет очищена!
|Продолжить?","Да+Нет")="Нет" Тогда
ВыбраннаяФирма=СтараяФирма;
Возврат;
КонецЕсли;
КонецЕсли;

УдалитьСтроки();
глПриИзмененииФирмы(Контекст);
СтараяФирма = ВыбраннаяФирма;
ФКРУчреждения.ИспользоватьВладельца(ВыбраннаяФирма);

Если Договор.Владелец <> ВыбраннаяФирма.Организация Тогда
Договор = "";
ПриВыбореДоговора();
КонецЕсли;

ВыбратьСтроки();

Пока ПолучитьСтроку() = 1 Цикл
РазделЛицевогоСчета = "";
КонецЦикла;

ОпределениеОЛ();

КонецЕсли;

КонецПроцедуры // ПриВыбореФирмы()

//******************************************************************************
// ПриВыбореКонтрагента()
//
Процедура ПриВыбореКонтрагента()
Если СчетКонтрагента.ВладелецСчета <> Контрагент Тогда
СчетКонтрагента = "";
КонецЕсли;
Если СчетКонтрагента.Выбран()=0 Тогда
СчетКонтрагента=Контрагент.ОсновнойЛицевойСчет;
КонецЕсли;
Если (Договор.Контрагент <> Контрагент) И (ПустоеЗначение(Договор.Контрагент)=0) Тогда
Договор = Контрагент.ОсновнойДоговор;
ПриВыбореДоговора();
КонецЕсли;
КонецПроцедуры

////////////////////////////////////////////////////////////­////////////////////
// ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ
//

//******************************************************************************
// Предопределенная процедура.
//
Процедура ВводНового(Копирование);

Новый=1;
СтатусВозврата(глВводНовогоДокумента(Контекст));

ЛицевойСчет = ВыбраннаяФирма.ОсновнойЛицевойСчет;
Если ПустоеЗначение(ЛицевойСчет.КодВидаДеятельности) = 1 Тогда
КВД = Перечисление.КодВидаДеятельности.Бюджет;
Иначе
КВД = ЛицевойСчет.КодВидаДеятельности;
КонецЕсли;

Очередность = 6;
ВидПлатежа="Электронно";

ОпределениеОЛ();

КонецПроцедуры // ВводНового()

//******************************************************************************
// Предопределенная процедура.
//
Процедура ПриОткрытии()

Форма.ИспользоватьЗакладки(1);

Форма.Закладки.ДобавитьЗначение(1,"Заявка");
Форма.Закладки.ДобавитьЗначение(2,"Расшифровка");

Если НалоговыйПлатеж=0 Тогда
Форма.ИспользоватьСлой("Шапка,Кнопки,Основной,ДокументОснование",2);
Форма.кнДоговор.Видимость(1);
Иначе
Форма.ИспользоватьСлой("Шапка,Кнопки,Основной,НалоговыйПлатеж",2);
Форма.кнДоговор.Видимость(0);
КонецЕсли;

ТекущаяЗакладка = 1;

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

НачальнаяДатаДокумента = ДатаДок;
СтараяФирма = ВыбраннаяФирма;
ФКРУчреждения=СоздатьОбъект("Справочник.ФКРУчреждения");
ФКРУчреждения.ИспользоватьВладельца(ВыбраннаяФирма);

НомерТекущейФормы = глУстановкаКнопкиПечать(Контекст, "Документ." + Вид(),ТаблицаПечФорм);

Если ТипЗначенияСтр(Форма.Параметр) = "СписокЗначений" Тогда
Если Форма.Параметр.Получить("Действие") = "Печать" Тогда
//СразуНаПечать= Форма.Параметр.Получить("СразуНаПечать");
//ПоКнопкеПечать(СразуНаПечать);
ПоКнопкеПечать();
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецЕсли;

УправлениеВидимостьюДоступностью();
ОтобразитьРасшифровки();

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

//******************************************************************************
// Предопределенная процедура.
//
Процедура ПриВыбореЗакладки(Ном,Значение);

ТекущаяЗакладка = Значение;

Если Значение=1 Тогда
Если НалоговыйПлатеж=0 Тогда
Форма.ИспользоватьСлой("Шапка,Кнопки,Основной,ДокументОснование",2);
Форма.кнДоговор.Видимость(1);
Иначе
Форма.ИспользоватьСлой("Шапка,Кнопки,Основной,НалоговыйПлатеж",2);
Форма.кнДоговор.Видимость(0);
КонецЕсли;

ИначеЕсли Значение=2 Тогда
Форма.ИспользоватьСлой("Шапка,Кнопки,Расшифровка",2);
Форма.кнДоговор.Видимость(0);
КонецЕсли;

УправлениеВидимостьюДоступностью();

КонецПроцедуры // ПриВыбореЗакладки()

//******************************************************************************
// Предопределенная процедура.
//
Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога,ФлагСтандОбр)

Если ИдентЭлемДиалога = "СчетКонтрагента" Тогда
ФлагСтандОбр = 0;
Если Контрагент.Выбран()=1 Тогда
Параметр = Контрагент;
ОткрытьФорму("Справочник.ЛицевыеСчета.ФормаСписка", Параметр);
КонецЕсли;

ИначеЕсли (ИдентЭлемДиалога = "Руководитель") ИЛИ (ИдентЭлемДиалога = "Бухгалтер") Тогда

ФлагСтандОбр = 0;
Параметр = ВыбраннаяФирма;
ОткрытьФорму("Справочник.Сотрудники",Параметр);

ИначеЕсли ИдентЭлемДиалога = "Договор" Тогда
ФлагСтандОбр = 0;
Если Контрагент.Выбран()=1 Тогда
ТипОбязательства = "Контрагент";
Меню=СоздатьОбъект("СписокЗначений");
Меню.ДобавитьЗначение("Контрагент", "Договоры контрагента");
Меню.ДобавитьЗначение("Общие", "Общие договоры");
Параметр=СоздатьОбъект("СписокЗначений");
Параметр.ДобавитьЗначение(ВыбраннаяФирма);

Если Меню.ВыбратьЗначение(ТипОбязательства,,,,1)<>1 Тогда
Возврат;
КонецЕсли;

Если ТипОбязательства = "Контрагент" Тогда
Параметр.ДобавитьЗначение(Контрагент);
Иначе
Параметр.ДобавитьЗначение(ПолучитьПустоеЗначение("Справочник.Контрагенты"));
КонецЕсли;
ОткрытьФорму("Справочник.Договоры.ФормаСписка", Параметр);
КонецЕсли;

ИначеЕсли ИдентЭлемДиалога="КБКНазначениеПлатежа" Тогда
ФлагСтандОбр = 0;

Параметр = ВыбраннаяФирма;
ФКРУчреждения.НайтиЭлемент(ВыбФКР);
Если ФКРУчреждения.Выбрать("КБК", "ДляВыбора") = 1 Тогда
КБКНазначениеПлатежа=ФКРУчреждения.ТекущийЭлемент().ФКР;
ВыбФКР=ФКРУчреждения.ТекущийЭлемент();
КонецЕсли;

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

ИначеЕсли ИдентЭлемДиалога="ДопКлассификация" Тогда
Если КОСГУНазначениеПлатежа.Выбран()=0 Тогда
ФлагСтандОбр = 0;
КонецЕсли;

ИначеЕсли ИдентЭлемДиалога = "ВыбранныйНалог" Тогда
ФлагСтандОбр = 0;
Если ВыбраннаяФирма.Выбран()=1 Тогда
ОткрытьФорму("Справочник.НалогиИОтчисленияФирм.ФормаСписка", ВыбраннаяФирма);
КонецЕсли;

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

ИначеЕсли ИдентЭлемДиалога = "ВидПлатежа" Тогда
Длина = Метаданные.Документ(Вид()).РеквизитШапки("ВидПлатежа").Длина;
Список = СоздатьОбъект("СписокЗначений");
Список.ДобавитьЗначение(Формат("Почтой", "С"+Длина));
Список.ДобавитьЗначение(Формат("Телеграфом", "С"+Длина));
Список.ДобавитьЗначение(Формат("Электронно", "С"+Длина));
Список.ДобавитьЗначение(Формат("Срочно", "С"+Длина));
Список.ВыбратьЗначение(ВидПлатежа, "", 0, 60, 2);

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

ИначеЕсли Лев(ИдентЭлемДиалога,5) ="КодБК" Тогда
// код бюджетной классификации

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

КонецЕсли;

КонецПроцедуры // ПриНачалеВыбораЗначения()

//******************************************************************************
// Предопределенная процедура.
//
Процедура ОбработкаВыбораЗначения(ВыбЗнач,ИдентЭлемДиалога,ФлагСтандОбр)

Если ИдентЭлемДиалога="КОСГУНазначениеПлатежа" Тогда

Если ДопКлассификация.Владелец<>ВыбЗнач Тогда
ДопКлассификация="";
КонецЕсли;

КонецЕсли;

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

//******************************************************************************
// Предопределенная процедура.
//
Процедура ПриРедактированииНовойСтроки()

Если ВИнВалюте = 1 Тогда

СуммаВал = 0;
СуммаВал = СуммаДокументаВВалюте - Итог("СуммаВал");

КонецЕсли;

Сумма = 0;
Сумма = СуммаДокумента - Итог("Сумма");

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

//******************************************************************************
// Предопределенная процедура.
//
Процедура ПриЗаписи()

Если глМожноЗаписатьДокумент(Контекст) = 0 Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;
Если глКонтрольДатыДокумента(Контекст, НачальнаяДатаДокумента)=1 Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;

АвторПоследний= глПоследнийАвтор();

КонецПроцедуры // ПриЗаписи()

//******************************************************************************
// Предопределенная процедура
//
Процедура ПриЗакрытии()

глОткрытьЖурнал(Контекст, Новый);

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

////////////////////////////////////////////////////////////­////////////////////
// ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ

// Создаем таблицу печатных форм
ТаблицаПечФорм = СоздатьОбъект("ТаблицаЗначений");
ТаблицаПечФорм.НоваяКолонка("Название","Строка",,,,30);
ТаблицаПечФорм.НоваяКолонка("Файл","Строка",,,"Файл",10);
ТаблицаПечФорм.НоваяКолонка("Кнопка","Строка",,,,10);
ТаблицаПечФорм.НоваяКолонка("ФайлОписания","Строка");

// Добавляем информацию о встроенной печатной форме
ТаблицаПечФорм.НоваяСтрока();
ТаблицаПечФорм.Название = "ф.0531801";
ТаблицаПечФорм.Кнопка = "Печать";

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

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

// Создаем и заполняем список предопределенных значений статуса составителя
СтатусСоставителя=СоздатьОбъект("СписокЗначений");
СтатусСоставителя.ДобавитьЗначение("01", "01 - налогоплательщик (плательщик сборов) - юридическое лицо");
СтатусСоставителя.ДобавитьЗначение("02", "02 - налоговый агент");
СтатусСоставителя.ДобавитьЗначение("03", "03 - сборщик налогов и сборов");
СтатусСоставителя.ДобавитьЗначение("04", "04 - налоговый орган");
СтатусСоставителя.ДобавитьЗначение("05", "05 - служба судебных приставов");
СтатусСоставителя.ДобавитьЗначение("06", "06 - участник внешнеэкономической деятельности");
СтатусСоставителя.ДобавитьЗначение("07", "07 - таможенный орган");
СтатусСоставителя.ДобавитьЗначение("08", "08 - плательщик иных обязательных платежей");
СтатусСоставителя.ДобавитьЗначение("09", "09 - налогоплательщик (плательщик сборов) - ИП");
СтатусСоставителя.ДобавитьЗначение("10", "10 - налогоплательщик (плательщик сборов) - частный нотариус");
СтатусСоставителя.ДобавитьЗначение("11", "11 - налогоплательщик (плательщик сборов) - адвокат");
СтатусСоставителя.ДобавитьЗначение("12", "12 - налогоплательщик (плательщик сборов) - глава КФХ");
СтатусСоставителя.ДобавитьЗначение("13", "13 - налогоплательщик (плательщик сборов) - иное физическое лицо");
СтатусСоставителя.ДобавитьЗначение("14", "14 - налогоплательщик, производящий выплаты физическим лицам");
СтатусСоставителя.ДобавитьЗначение("15", "15 - кредитная организация");
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. seermak 665 24.03.09 09:03 Сейчас в теме
Уф, еще немного и всю бы конфигурацию заново перечитал бы;)
3. Душелов 4018 24.03.09 09:05 Сейчас в теме
4. Naty_K89 24.03.09 09:14 Сейчас в теме
Ну подскажите хоть где капать начать! ну наверняка немного надо подправить
5. Душелов 4018 24.03.09 09:16 Сейчас в теме
Я не думаю, что в таком количестве приведенного текста кому-то захочется ковыряться.
Покажите ключевые точки.
6. AVARY 175 24.03.09 09:20 Сейчас в теме
... в итоге выясняется что требуется доработка внешней печатной формы... :)
7. Naty_K89 24.03.09 09:26 Сейчас в теме
ВывестиСекциюПостранично(НоваяСекция, Чистовик, Черновик, СекцияПодвала = 0, СекцияЗаголовка = 0)
в какой вид привести чтоб печать была на одном?
8. zaic 133 24.03.09 10:53 Сейчас в теме
// Наталья издевается видать
Функция ВывестиРазделБланка(Чистовик, Черновик = "", Подвал, НомСтрБланка)
Чистовик.ВывестиСекцию(Подвал);
Чистовик.НоваяСтраница(); // <---- а это что ????

выводы:
1 жесть
2. читайте сами свои тексты, а нам и своих хватает.
16. PeRom 51 24.03.09 13:41 Сейчас в теме
Так, что (8) не помогло? поищите похожие строчки
(15) Хотите знать, придётся учиться!
9. Naty_K89 24.03.09 11:12 Сейчас в теме
Нет,Андрей, Наталья не издевается.... просто приходиться делать то что не делала никогда,........ с температурой!
10. Душелов 4018 24.03.09 11:13 Сейчас в теме
(9) Программиста уволили?
11. Naty_K89 24.03.09 11:31 Сейчас в теме
типа того......короче жесть
12. Naty_K89 24.03.09 13:17 Сейчас в теме
Наверняка у кого то в администрировании Бюджетка, наверняка, там не печатается по три страницы, наверняка там все нормально! ну не жадничийте!
14. PeRom 51 24.03.09 13:28 Сейчас в теме
(12) Даже, если Вам пришлют схему похожей работающей электропроводки, что Вы с ней делать будете?
13. PeRom 51 24.03.09 13:26 Сейчас в теме
(9,11) А Вы то тут при чём? кто прогера увольнял, тот пускай и правит(или это Вы и есть?), или поручает дело прфессионалу. Вы же не леэете в электрощит, если свет погас и гарью пахнет. Можно, конечно, посмотреть план электропроводки, подготовить инструменты, немного учебники почитать(хотя-бы чтоб пассатижи с кусачками не путать), и только потом попробовать сделать самим, если близко нет электрика, но желательно с электриком консультантом на телефоне.
15. Naty_K89 24.03.09 13:38 Сейчас в теме
придумаю куда ее вставить. в кризис не приходиться думать о том что "моя хата скраю ничего не знаю"...
17. AVARY 175 24.03.09 13:46 Сейчас в теме
Вывод на новую страницу производится с помощью метода "НоваяСтраница()" или вставкой перевода страницы в макет печатного документа. Анализируйте в каких местах вызывается перевод на новую страницу, меняйте логику на необходимую Вам. Готовое решение можно поискать в разделе "Заказы" :)
18. VUN 38 24.03.09 22:31 Сейчас в теме
Для печати на 2-х страницах (если не влезет, то больше), меняем следующим образом:
В процедуре Печать() после строк
// Выводим раздел №1
ВывестиСекциюПостранично(Таб.ПолучитьСекцию("Раздел1"), Таб, Черновик, СекцияПодвала);
закомментировать след.строку:
//ЗалоговокРаздела = ВывестиРазделБланка(Таб, Черновик, СекцияПодвала, 2);
После строки
// Выводим раздел №2
убираем последний параметр в ВывестиСекциюПостранично вот так:
ВывестиСекциюПостранично(Таб.ПолучитьСекцию("Раздел2"), Таб, Черновик, СекцияПодвала);
после следующей строки КонецЕсли; вставляем:
ЗалоговокРаздела = ВывестиРазделБланка(Таб, Черновик, СекцияПодвала, 2);
и после строки
ВывестиСекциюПостранично(Таб.ПолучитьСекцию("Раздел4"), Таб, Черновик, СекцияПодвала, ЗалоговокРаздела);
закомментировать след.строку:
//ЗалоговокРаздела = ВывестиРазделБланка(Таб, Черновик, СекцияПодвала, 3);
и все.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот