|
Как в счете на оплату вывести сумму начального сальдо если сам счет не формирует | ☑ | ||
---|---|---|---|---|
0
heyfec
17.01.15
✎
10:52
|
Есть такой текст он работает из печати Счета на оплату из формы списка документа заказ покупателя (печать нескольких документов) вопрос как туда засунуть начальное сальдо из какого регистра его взять?
Функция ПечатьСчетНаОплату(МассивОбъектов, ОбъектыПечати, ИмяМакета) Перем Ошибки; //Сообщить(ИмяМакета); ТабличныйДокумент = Новый ТабличныйДокумент; Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | СчетНаОплату.Ссылка КАК Ссылка, | СчетНаОплату.СуммаВключаетНДС КАК СуммаВключаетНДС, | СчетНаОплату.ВалютаДокумента КАК ВалютаДокумента, | СчетНаОплату.Дата КАК ДатаДокумента, | СчетНаОплату.Номер КАК Номер, | СчетНаОплату.БанковскийСчет КАК БанковскийСчет, | СчетНаОплату.Контрагент КАК Контрагент, | СчетНаОплату.Организация КАК Организация, | СчетНаОплату.Организация.Префикс КАК Префикс, | СчетНаОплату.Запасы.( | ВЫБОР | КОГДА (ВЫРАЗИТЬ(СчетНаОплату.Запасы.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))) = """" | ТОГДА СчетНаОплату.Запасы.Номенклатура.Наименование | ИНАЧЕ ВЫРАЗИТЬ(СчетНаОплату.Запасы.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) | КОНЕЦ КАК Запас, | Номенклатура.Артикул КАК Артикул, | ЕдиницаИзмерения КАК ЕдиницаИзмерения, | Цена КАК Цена, | Сумма КАК Сумма, | СуммаНДС КАК СуммаНДС, | Всего КАК Всего, | Количество КАК Количество, | Характеристика, | Содержание, | ПроцентСкидкиНаценки, | ВЫБОР | КОГДА СчетНаОплату.Запасы.ПроцентСкидкиНаценки <> 0 | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ КАК ЕстьСкидка, | НомерСтроки КАК НомерСтроки, | Номенклатура.СтавкаНДС КАК ПроцентНДС | ), | СчетНаОплату.ПлатежныйКалендарь.( | ПроцентОплаты, | СуммаОплаты, | СуммаНДСОплаты | ), | Контрагенты.Наименование, | Контрагенты.ИНН, | Контрагенты.КодПоОКПО КАК КодПоОКПО, | Контрагенты.КПП, | Банки.Представление КАК Представление, | Банки.Код КАК БИК, | Банки.Наименование КАК БанкИмя, | Банки.КоррСчет КАК КоррСчет, | БанковскиеСчета.НомерСчета КАК РасчСчет, | Контрагенты.КонтактнаяИнформация.( | Представление КАК АдресПредставление | ), | БанковскиеСчета.СчетУчета, | Контрагенты.БанковскийСчетПоУмолчанию.БанкРасчетов КАК БанкРасчетов, | Контрагенты.БанковскийСчетПоУмолчанию.БанкРасчетов.КоррСчет КАК БанкРасчетовКоррСчет, | Контрагенты.БанковскийСчетПоУмолчанию.БанкРасчетов.Код КАК БанкРасчетовКодБИК, | Контрагенты.БанковскийСчетПоУмолчанию.БанкРасчетов.Наименование КАК БанкРасчетовНаименование, | Контрагенты.БанковскийСчетПоУмолчанию.БанкРасчетов.Представление КАК БанкРасчетовПредставление, | СчетНаОплату.Договор КАК ДоговорКонтрагента, | СчетНаОплату.ДокументОснование КАК ЗаказПокупателя, | СчетНаОплату.Договор.Предоплата КАК Предоплата |ИЗ | Документ.СчетНаОплату КАК СчетНаОплату | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты | ПО СчетНаОплату.Контрагент = Контрагенты.Ссылка | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.БанковскиеСчета КАК БанковскиеСчета | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Банки КАК Банки | ПО БанковскиеСчета.Банк = Банки.Ссылка | ПО СчетНаОплату.БанковскийСчет = БанковскиеСчета.Ссылка, | Справочник.Номенклатура КАК Номенклатура |ГДЕ | СчетНаОплату.Ссылка В(&МассивОбъектов) | |УПОРЯДОЧИТЬ ПО | Ссылка, | НомерСтроки"; Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов); Шапка = Запрос.Выполнить().Выбрать(); ПервыйДокумент = Истина; СуммаСНДС = 0; Пока Шапка.Следующий() Цикл //Сообщить(Шапка.ЗаказПокупателя); Если Не ПервыйДокумент Тогда ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ПервыйДокумент = Ложь; НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1; ВыборкаСтрокЗапасы = Шапка.Запасы.Выбрать(); ТаблицаПредоплаты = Шапка.ПлатежныйКалендарь.Выгрузить(); ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_" + ИмяМакета + "_" + ИмяМакета; Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.СчетНаОплату.ПФ_MXL_" + ИмяМакета); СведенияОбОрганизации = УправлениеНебольшойФирмойСервер.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента, ,Шапка.БанковскийСчет); СведенияОбКонтрагенте = УправлениеНебольшойФирмойСервер.СведенияОЮрФизЛице(Шапка.Контрагент, Шапка.ДатаДокумента, ,); //Если используется пользовательский макет - этих секций не было Если Макет.Области.Найти("ЗаглавиеСЛоготипом") <> Неопределено И Макет.Области.Найти("ЗаглавиеБезЛоготипа") <> Неопределено Тогда Если ЗначениеЗаполнено(Шапка.Организация.ФайлЛоготип) Тогда ОбластьМакета = Макет.ПолучитьОбласть("ЗаглавиеСЛоготипом"); ДанныеКартинки = ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(Шапка.Организация.ФайлЛоготип); Если ЗначениеЗаполнено(ДанныеКартинки) Тогда ОбластьМакета.Рисунки.Логотип.Картинка = Новый Картинка(ДанныеКартинки); КонецЕсли; Иначе // Если картинки не выбраны печатаем обычный заголовок ОбластьМакета = Макет.ПолучитьОбласть("ЗаглавиеБезЛоготипа"); КонецЕсли; ТабличныйДокумент.Вывести(ОбластьМакета); //ОбластьМакета.Параметры.Заполнить(Шапка); //ТабДок.Вывести(ОбластьМакета, Шапка.Уровень()); Иначе ТекстСообщения = НСтр("ru ='ВНИМАНИЕ! Возможно используется пользовательский макет. Штатный механизм печати счетов может работать некоректно.'"); ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки, , ТекстСообщения); КонецЕсли; ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета"); Если ЗначениеЗаполнено(СведенияОбОрганизации.Банк) Тогда ОбластьМакета.Параметры.БанкПолучателяПредставление = СведенияОбОрганизации.Банк.Наименование + " " + СведенияОбОрганизации.Банк.Город; КонецЕсли; ОбластьМакета.Параметры.ИНН = СведенияОбОрганизации.ИНН; ОбластьМакета.Параметры.КПП = СведенияОбОрганизации.КПП; ОбластьМакета.Параметры.ПредставлениеПоставщика = ?(ПустаяСтрока(СведенияОбОрганизации.ТекстКорреспондента), СведенияОбОрганизации.ПолноеНаименование, СведенияОбОрганизации.ТекстКорреспондента); ОбластьМакета.Параметры.БИКБанкаПолучателя = СведенияОбОрганизации.БИК; ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = СведенияОбОрганизации.КоррСчет; ОбластьМакета.Параметры.СчетПолучателяПредставление = СведенияОбОрганизации.НомерСчета; ТабличныйДокумент.Вывести(ОбластьМакета); Если Шапка.ДатаДокумента < Дата('20110101') Тогда НомерДокумента = УправлениеНебольшойФирмойСервер.ПолучитьНомерНаПечать(Шапка.Номер, Шапка.Префикс); Иначе НомерДокумента = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(Шапка.Номер, Истина, Истина); КонецЕсли; ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); ОбластьМакета.Параметры.ТекстЗаголовка = "Счет на оплату № " + НомерДокумента + " от " + Формат(Шапка.ДатаДокумента, "ДЛФ=DD"); ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); ОбластьМакета.Параметры.ПредставлениеПоставщика = УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,ИНН,КПП,ЮридическийАдрес,Телефоны,"); ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Покупатель"); ОбластьМакета.Параметры.ПредставлениеПолучателя = УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбКонтрагенте, "ПолноеНаименование,ИНН,КПП,ЮридическийАдрес,Телефоны,"); ТабличныйДокумент.Вывести(ОбластьМакета); ЕстьСкидки = Шапка.Запасы.Выгрузить().Итог("ЕстьСкидка") <> 0; Если ЕстьСкидки Тогда ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицыСоСкидкой"); ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("СтрокаСоСкидкой"); Иначе НачДата = НачалоМесяца(Шапка.ДатаДокумента); КонДата = КонецМесяца(Шапка.ДатаДокумента); Контрагент = Шапка.Контрагент; СчетНаОплату = Шапка.Ссылка; ДоговорКонтрагента = Шапка.ДоговорКонтрагента; ЗаказПокупателя = Шапка.ЗаказПокупателя; ЗапросПЗП = Новый Запрос; ЗапросПЗП.УстановитьПараметр("НачДата", НачДата); ЗапросПЗП.УстановитьПараметр("КонДата", КонДата); ЗапросПЗП.УстановитьПараметр("Контрагент", Контрагент); ЗапросПЗП.УстановитьПараметр("СчетНаОплату", СчетНаОплату); ЗапросПЗП.УстановитьПараметр("ДоговорКонтрагента", ДоговорКонтрагента); //ЗапросПЗП.УстановитьПараметр("ЗаказПокупателя", ЗаказПокупателя); ЗапросПЗП.Текст = "ВЫБРАТЬ | ОплатаСчетовИЗаказовОбороты.СуммаОборот, | ОплатаСчетовИЗаказовОбороты.СуммаАвансаОборот, | ОплатаСчетовИЗаказовОбороты.СуммаОплатыОборот, | ОплатаСчетовИЗаказовОбороты.СуммаОплатыОборот + ОплатаСчетовИЗаказовОбороты.СуммаАвансаОборот КАК Всего, | ОплатаСчетовИЗаказовОбороты.СуммаОборот - ОплатаСчетовИЗаказовОбороты.СуммаОплатыОборот - ОплатаСчетовИЗаказовОбороты.СуммаАвансаОборот КАК ОсталосьОплатить, | ОплатаСчетовИЗаказовОбороты.Организация, | ОплатаСчетовИЗаказовОбороты.СчетНаОплату.Дата КАК Дата, | ОплатаСчетовИЗаказовОбороты.СчетНаОплату.Номер КАК Номер, | ОплатаСчетовИЗаказовОбороты.СчетНаОплату.Контрагент.Наименование КАК Контрагент, | ОплатаСчетовИЗаказовОбороты.СчетНаОплату.ДатаИзменения КАК ДатаИзменения, | ОплатаСчетовИЗаказовОбороты.СчетНаОплату.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента, | ОплатаСчетовИЗаказовОбороты.СчетНаОплату.МоментВремени КАК МоментВремени, | ОплатаСчетовИЗаказовОбороты.СчетНаОплату.Договор КАК Договор, | ОплатаСчетовИЗаказовОбороты.СчетНаОплату.Договор.СрокОплатыПокупателя КАК СрокОплатыПокупателя, | ОплатаСчетовИЗаказовОбороты.СчетНаОплату.ДокументОснование КАК ЗаказПокупателя, | ОплатаСчетовИЗаказовОбороты.СчетНаОплату.Договор.НомерДоговора КАК НомерДоговора, | ОплатаСчетовИЗаказовОбороты.СчетНаОплату.Договор.Предоплата КАК Предоплата, | РасчетыСПокупателямиОстаткиИОбороты.СуммаНачальныйОстаток, | РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток, | РасчетыСПокупателямиОстаткиИОбороты.СуммаОборот КАК СуммаОборот1, | РасчетыСПокупателямиОстаткиИОбороты.СуммаПриход, | РасчетыСПокупателямиОстаткиИОбороты.СуммаРасход |ИЗ | РегистрНакопления.ОплатаСчетовИЗаказов.Обороты(&НачДата, &КонДата, Период, ) КАК ОплатаСчетовИЗаказовОбороты | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСПокупателями.ОстаткиИОбороты КАК РасчетыСПокупателямиОстаткиИОбороты | ПО ОплатаСчетовИЗаказовОбороты.СчетНаОплату.Контрагент = РасчетыСПокупателямиОстаткиИОбороты.Контрагент |ГДЕ | ОплатаСчетовИЗаказовОбороты.СчетНаОплату.Дата МЕЖДУ &НачДата И &КонДата | И ОплатаСчетовИЗаказовОбороты.СчетНаОплату.Контрагент = &Контрагент | И ОплатаСчетовИЗаказовОбороты.СчетНаОплату.Ссылка = &СчетНаОплату | И ОплатаСчетовИЗаказовОбороты.СчетНаОплату.Договор = &ДоговорКонтрагента | |УПОРЯДОЧИТЬ ПО | ОсталосьОплатить"; РезультатЗапроса = ЗапросПЗП.Выполнить(); ВыборкаЗапроса = РезультатЗапроса.Выбрать(); Пока ВыборкаЗапроса.Следующий() Цикл //Сообщить("Сумма заказа = " + ВыборкаЗапроса.СуммаОборот); //Сообщить("Сумма оплаты = " + ВыборкаЗапроса.СуммаОплатыОборот); //Сообщить("Всего = " + ВыборкаЗапроса.Всего); //Сообщить("Осталось оплатить = " + ВыборкаЗапроса.ОсталосьОплатить); //Сообщить("Дата = " + ВыборкаЗапроса.Дата); //Сообщить("Контрагент = " + ВыборкаЗапроса.Контрагент); //Сообщить("Номер счета на оплату = " + ВыборкаЗапроса.Номер); //Сообщить("Договор = " + ВыборкаЗапроса.Договор); //Сообщить("Срок оплаты покупателя = " + ВыборкаЗапроса.СрокОплатыПокупателя); //Сообщить("Предоплата = " + Строка(ВыборкаЗапроса.Предоплата)); КонецЦикла; //ВыборкаЗапроса.Сбросить(); //Сообщить(ВыборкаЗапроса.СуммаОборот); ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы"); ТабличныйДокумент.Вывести(ОбластьМакета); Если ИмяМакета = "СчетНаОплату" тогда ОбластьМакета = Макет.ПолучитьОбласть("Строка1"); //Пока ВыборкаЗапроса.Следующий() Цикл ОбластьМакета.Параметры.Договор = ВыборкаЗапроса.ЗаказПокупателя; ОбластьМакета.Параметры.СуммаОплатыОборот = ВыборкаЗапроса.СуммаОплатыОборот; Если Число(ВыборкаЗапроса.ОсталосьОплатить) > 0 тогда ОбластьМакета.Параметры.ОсталосьОплатить = ВыборкаЗапроса.ОсталосьОплатить; Иначе ОбластьМакета.Параметры.ОсталосьОплатить = 0; КонецЕсли; //КонецЦикла; ОбластьМакета.Параметры.ДоговорВывод = "Начислено за расчетный период по договору " + ВыборкаЗапроса.НомерДоговора + " за выполненные услуги в т.ч."; ТабличныйДокумент.Вывести(ОбластьМакета); КонецЕсли; //ОбластьМакета = Макет.ПолучитьОбласть("Строка2"); //Колонки = Шапка.Запасы.Выгрузить(); //Для каждого колонка из Колонки Цикл //СуммаСНДС = СуммаСНДС + колонка.Сумма; //КонецЦикла; //СуммаСНДС = СуммаСНДС/100*18; //ОбластьМакета.Параметры.НДС = СуммаСНДС; //ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Строка"); КонецЕсли; Сумма = 0; СуммаНДС = 0; Всего = 0; Количество = 0; Пока ВыборкаСтрокЗапасы.Следующий() Цикл //СуммаСНДС = СуммаСНДС + Шапка.Сумма; Количество = Количество + 1; ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокЗапасы); ОбластьМакета.Параметры.НомерСтроки = Количество; Если ЗначениеЗаполнено(ВыборкаСтрокЗапасы.Содержание) Тогда ОбластьМакета.Параметры.Запас = ВыборкаСтрокЗапасы.Содержание; Иначе ОбластьМакета.Параметры.Запас = УправлениеНебольшойФирмойСервер.ПолучитьПредставлениеНоменклатурыДляПечати(ВыборкаСтрокЗапасы.Запас, ВыборкаСтрокЗапасы.Характеристика, ВыборкаСтрокЗапасы.Артикул); КонецЕсли; Если ЕстьСкидки Тогда Если ВыборкаСтрокЗапасы.ПроцентСкидкиНаценки = 100 Тогда Скидка = ВыборкаСтрокЗапасы.Цена * ВыборкаСтрокЗапасы.Количество; ОбластьМакета.Параметры.Скидка = Скидка; ОбластьМакета.Параметры.СуммаБезСкидки = Скидка; ИначеЕсли ВыборкаСтрокЗапасы.ПроцентСкидкиНаценки = 0 Тогда ОбластьМакета.Параметры.Скидка = 0; ОбластьМакета.Параметры.СуммаБезСкидки = ВыборкаСтрокЗапасы.Сумма; Иначе Скидка = ВыборкаСтрокЗапасы.Сумма * ВыборкаСтрокЗапасы.ПроцентСкидкиНаценки / (100 - ВыборкаСтрокЗапасы.ПроцентСкидкиНаценки); ОбластьМакета.Параметры.Скидка = Скидка; ОбластьМакета.Параметры.СуммаБезСкидки = ВыборкаСтрокЗапасы.Сумма + Скидка; КонецЕсли; КонецЕсли; ТабличныйДокумент.Вывести(ОбластьМакета); Сумма = Сумма + ВыборкаСтрокЗапасы.Сумма; СуммаНДС = СуммаНДС + ВыборкаСтрокЗапасы.СуммаНДС; Всего = Всего + ВыборкаСтрокЗапасы.Всего; КонецЦикла; Если ИмяМакета = "СчетНаОплату" тогда ОбластьМакета = Макет.ПолучитьОбласть("Строка2"); СуммаСНДС = 0; Колонки = Шапка.Запасы.Выгрузить(); Для каждого колонка из Колонки Цикл СуммаСНДС = СуммаСНДС + колонка.Сумма; ПроцентНДС = колонка.ПроцентНДС; КонецЦикла; //Сообщить(ПроцентНДС); СуммаСНДС = ?(СтрДлина(ПроцентНДС)<= 3, (Окр(СуммаСНДС/((100 + Число(Лев(ПроцентНДС,СтрДлина(ПроцентНДС)-1))))* Число(Лев(ПроцентНДС,СтрДлина(ПроцентНДС)-1)),2)), (Окр(СуммаСНДС/((100 + Число(Лев(ПроцентНДС,СтрДлина(ПроцентНДС)-8))))* Число(Лев(ПроцентНДС,СтрДлина(ПроцентНДС)-8)),2))); ОбластьМакета.Параметры.НДС = СуммаСНДС; ОбластьМакета.Параметры.ВыводСтавкиНДС = "НДС " + Строка(ПроцентНДС); ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Строка3"); ВсегоНачисленоСНДС = Сумма; ОбластьМакета.Параметры.ВсегоНачисленоСНДС = ВсегоНачисленоСНДС; ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Строка4"); ОбластьМакета.Параметры.ЗадолженностьНаВывод = "Задолженность на " + Строка(КонДата + 1); Если ВыборкаЗапроса.ОсталосьОплатить > 0 тогда ОбластьМакета.Параметры.ЗадолженностьНа = ВыборкаЗапроса.ОсталосьОплатить; Иначе ОбластьМакета.Параметры.ЗадолженностьНа = 0; КонецЕсли; ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Строка5"); ОбластьМакета.Параметры.СуммаПредоплатыВСоответствииСдоговоромВывод = "Сумма предоплаты в соответствии с условиями дог № " + ВыборкаЗапроса.НомерДоговора; СсылкаСчетНаОплату = Шапка.Ссылка; ЗапросПНС = Новый Запрос; ЗапросПНС.УстановитьПараметр("СсылкаСчетНаОплату",СсылкаСчетНаОплату ); ЗапросПНС.Текст = "ВЫБРАТЬ | ПоступлениеНаСчет.ДокументОснование, | ПоступлениеНаСчет.РасшифровкаПлатежа.( | Договор КАК Договор, | СуммаПлатежа, | СуммаНДС | ) |ИЗ | Документ.ПоступлениеНаСчет КАК ПоступлениеНаСчет |ГДЕ | ПоступлениеНаСчет.ДокументОснование = &СсылкаСчетНаОплату"; РезультатПНС = ЗапросПНС.Выполнить(); ВыборкаПНС = РезультатПНС.Выбрать(); СуммаОплатыПоДоговору = 0; Пока ВыборкаПНС.Следующий() Цикл //Сообщить(ВыборкаПНС.ДокументОснование); Колонки = ВыборкаПНС.РасшифровкаПлатежа.Выгрузить(); Для каждого колонка из колонки цикл Если колонка.Договор = Шапка.ДоговорКонтрагента Тогда //Если (колонка.СуммаПлатежа - Шапка.Предоплата) >= 0 тогда ОбластьМакета.Параметры.СуммаПредоплатыВСоответствииСдоговором = Шапка.Предоплата ; // Иначе // СуммаОплатыПоДоговору = Число(СуммаОплатыПоДоговору) - Число(колонка.СуммаПлатежа); // ОбластьМакета.Параметры.СуммаПредоплатыВСоответствииСдоговором = колонка.СуммаПлатежа - Шапка.Предоплата; // //Сообщить(Колонка.СуммаПлатежа); // //Сообщить(Колонка.СуммаНДС); //КонецЕсли; Иначе КонецЕсли; КонецЦикла; КонецЦикла; //ОбластьМакета.Параметры.СуммаПредоплатыВСоответствииСдоговором = Шапка.Предоплата; ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Строка6"); Если Месяц(КонДата+1) = 1 тогда МесяцПроцисью = "Январе"; ИначеЕсли Месяц(КонДата+1) = 2 тогда МесяцПроцисью = "Феврале"; ИначеЕсли Месяц(КонДата+1) = 3 тогда МесяцПроцисью = "Марте"; ИначеЕсли Месяц(КонДата+1) = 4 тогда МесяцПроцисью = "Апреле"; ИначеЕсли Месяц(КонДата+1) = 5 тогда МесяцПроцисью = "Мае"; ИначеЕсли Месяц(КонДата+1) = 6 тогда МесяцПроцисью = "Июне"; ИначеЕсли Месяц(КонДата+1) = 7 тогда МесяцПроцисью = "Июле"; ИначеЕсли Месяц(КонДата+1) = 8 тогда МесяцПроцисью = "Августе"; ИначеЕсли Месяц(КонДата+1) = 9 тогда МесяцПроцисью = "Сертябре"; ИначеЕсли Месяц(КонДата+1) = 10 тогда МесяцПроцисью = "Октябре"; ИначеЕсли Месяц(КонДата+1) = 11 тогда МесяцПроцисью = "Ноябре"; ИначеЕсли Месяц(КонДата+1) = 12 тогда МесяцПроцисью = "Декабрее"; КонецЕсли; ОбластьМакета.Параметры.ВсегоКОплатеВВывод = "Всего к оплате в " + МесяцПроцисью + " " + Год(КонДата+1); Если (Шапка.Предоплата + ВыборкаЗапроса.ОсталосьОплатить) < 0 тогда ОбластьМакета.Параметры.ВсегоКОплатеВ = 0; Иначе ОбластьМакета.Параметры.ВсегоКОплатеВ = Шапка.Предоплата + ВыборкаЗапроса.ОсталосьОплатить; КонецЕсли; ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Строка7"); ОбластьМакета.Параметры.ВТомЧислеНДСВывод = "в том числе НДС " + Строка(ПроцентНДС); Если (Шапка.Предоплата + Число(ВыборкаЗапроса.ОсталосьОплатить)) > 0 тогда ОбластьМакета.Параметры.ВТомЧислеНДС = ?(СтрДлина(ПроцентНДС)<= 3, (Окр((Шапка.Предоплата + Число(ВыборкаЗапроса.ОсталосьОплатить))/((100 + Число(Лев(ПроцентНДС,СтрДлина(ПроцентНДС)-1))))* Число(Лев(ПроцентНДС,СтрДлина(ПроцентНДС)-1)),2)), (Окр((Шапка.Предоплата + Число(ВыборкаЗапроса.ОсталосьОплатить))/((100 + Число(Лев(ПроцентНДС,СтрДлина(ПроцентНДС)-8))))* Число(Лев(ПроцентНДС,СтрДлина(ПроцентНДС)-8)),2))); Иначе ОбластьМакета.Параметры.ВТомЧислеНДС = 0; КонецЕсли; //Окр((Шапка.Предоплата + ВыборкаЗапроса.ОсталосьОплатить) / (100 + Число(Лев(ПроцентНДС,СтрДлина(ПроцентНДС)-1))) * 18,2); ТабличныйДокумент.Вывести(ОбластьМакета); КонецЕсли; //ОбластьМакета.Параметры.НДС = СуммаСНДС; //ТабличныйДокумент.Вывести(ОбластьМакета); //ОбластьМакета = Макет.ПолучитьОбласть("Итого"); //ОбластьМакета.Параметры.Всего = УправлениеНебольшойФирмойСервер.ФорматСумм(Сумма); //ТабличныйДокумент.Вывести(ОбластьМакета); //ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС"); Если СуммаНДС = 0 Тогда |
|||
1
shuhard
17.01.15
✎
11:21
|
(0)[из какого регистра его взять]
если речь от УТ 10.3/УПП/КА, то Рг ВзаимоРасчетыСКонтрагентами |
|||
2
heyfec
17.01.15
✎
11:24
|
Это Управление небольшой фирмой я нашел еще один регистр это расчеты с покупателямиОстаткиИОбороты
|
|||
3
heyfec
17.01.15
✎
11:31
|
Заказчик хочет чтобы начальное сальдо если оно является переплатой покупателя то отражалось как кредитовое сальдо если задолженность то как дебетовое сальдо так вот это само по себе не сложно единственное я не уверен что СуммаНачальныйОстаток РЕГИСТРА НАКОПЛЕНИЯ РасчетыСПокупателямиОстаткиИОбороты это та самая сумма Начального сальдо.
|
|||
4
heyfec
17.01.15
✎
11:36
|
Переформулирую вопрос где посмотреть Начальное сальдо покупателя в программе в пользовательском режиме можно это посмотреть в отчете взаиморасчеты с контрагентами?
|
|||
5
heyfec
17.01.15
✎
11:41
|
Все спасибо нашел в отчете взаиморасчеты. Осталось вытянуть оттуда запрос и вставить в текст процедуры.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |