Бухгалтерия 2.0
Показывать по
10
20
40
сообщений
- 1
- 2
14.01.2013
12:45
#1
"Помогите пожалуйста с печатной формой внешней приходный ордер М-4, на до доделать что бы она и в валюте считала, делал все как в типовой или подскажите что не так делаю?
Перем мВалютаРегламентированногоУчета Экспорт;Функция Печать() Экспорт Перем ПодразделениеОтветственныхЛиц; //Запрос шапки Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка); Запрос.УстановитьПараметр("ДатаДок", СсылкаНаОбъект.Дата); Запрос.УстановитьПараметр("Организация", СсылкаНаОбъект.Организация); Запрос.Текст = "ВЫБРАТЬ | ПоступлениеТоваровУслуг.Номер КАК Номер, | ПоступлениеТоваровУслуг.Дата КАК ДатаСоставления, | ПоступлениеТоваровУслуг.НомерВходящегоДокумента КАК НомерСопроводительногоДокумента, | ПоступлениеТоваровУслуг.Организация, | ПоступлениеТоваровУслуг.Организация КАК ЮрФизЛицо, | ПоступлениеТоваровУслуг.Склад КАК МестоПриемки, | ПоступлениеТоваровУслуг.Склад.Представление КАК СкладНаименование, | ПоступлениеТоваровУслуг.Контрагент.Код КАК ПоставщикКод, | ПоступлениеТоваровУслуг.Контрагент КАК Поставщик, | ЕСТЬNULL(ПоступлениеТоваровУслуг.ДоговорКонтрагента.РасчетыВУсловныхЕдиницах, ЛОЖЬ) КАК РасчетыВУсловныхЕдиницах, | ПоступлениеТоваровУслуг.ВалютаДокумента, | ПоступлениеТоваровУслуг.КурсВзаиморасчетов КАК Курс, | ПоступлениеТоваровУслуг.КратностьВзаиморасчетов КАК Кратность, | ПоступлениеТоваровУслуг.УчитыватьНДС, | ПоступлениеТоваровУслуг.СуммаВключаетНДС, | ПоступлениеТоваровУслуг.СчетУчетаРасчетовСКонтрагентом КАК СубСчет |ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг |ГДЕ | ПоступлениеТоваровУслуг.Ссылка = &ТекущийДокумент"; Шапка_запрос = Запрос.Выполнить().Выбрать(); Шапка_запрос.Следующий(); //Запрос товаров ЗапросПоТоварам = Новый Запрос(); ЗапросПоТоварам.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка); ЗапросПоТоварам.УстановитьПараметр("Курс", ЗаполнениеДокументов.КурсДокумента(ЭтотОбъект, мВалютаРегламентированногоУчета)); ЗапросПоТоварам.УстановитьПараметр("Кратность", ЗаполнениеДокументов.КратностьДокумента(ЭтотОбъект, мВалютаРегламентированногоУчета)); ЗапросПоТоварам.Текст = "ВЫБРАТЬ | ПоступлениеТоваровУслуг.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ(ПоступлениеТоваровУслуг.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК ТоварНаименование, | ПоступлениеТоваровУслуг.Номенклатура.Код КАК ТоварКод, | ПоступлениеТоваровУслуг.Номенклатура.БазоваяЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование, | ПоступлениеТоваровУслуг.Номенклатура.БазоваяЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод, | ПоступлениеТоваровУслуг.СтавкаНДС КАК СтавкаНДС, | СУММА(ПоступлениеТоваровУслуг.Количество) КАК КоличествоПринято, | СУММА(ПоступлениеТоваровУслуг.Сумма * &Курс / &Кратность) КАК Стоимость, | СУММА(ПоступлениеТоваровУслуг.СуммаНДС * &Курс / &Кратность) КАК СуммаНДС, | МИНИМУМ(ПоступлениеТоваровУслуг.НомерСтроки) КАК НомерСтроки |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслуг |ГДЕ | ПоступлениеТоваровУслуг.Ссылка = &ТекущийДокумент | |СГРУППИРОВАТЬ ПО | ПоступлениеТоваровУслуг.Номенклатура, | ПоступлениеТоваровУслуг.ЕдиницаИзмерения, | ПоступлениеТоваровУслуг.Цена, | ПоступлениеТоваровУслуг.СтавкаНДС | |УПОРЯДОЧИТЬ ПО | НомерСтроки"; Если Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить() = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ЗапросПоТоварам.Текст = СтрЗаменить(ЗапросПоТоварам.Текст, "Номенклатура.Код","Номенклатура.Артикул"); КонецЕсли; ЗапросТовары = ЗапросПоТоварам.Выполнить().Выгрузить(); Если Проведен И (Шапка.РасчетыВУсловныхЕдиницах ИЛИ (Шапка.ВалютаДокумента <> мВалютаРегламентированногоУчета И Дата >= '20090101000000')) Тогда Запрос = Новый Запрос; Запрос.УстановитьПараметр("Ссылка", Ссылка); Запрос.УстановитьПараметр("СчетУчетаРасчетовСКонтрагентом", СчетУчетаРасчетовСКонтрагентом); Текст = "ВЫБРАТЬ | СУММА(Хозрасчетный.Сумма) КАК Сумма |ИЗ | РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный |ГДЕ | Хозрасчетный.Регистратор = &Ссылка | И Хозрасчетный.СчетКт = &СчетУчетаРасчетовСКонтрагентом | И Хозрасчетный.СчетДт В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоступлениеТоваровУслуг.СчетУчета | ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслуг | ГДЕ | ПоступлениеТоваровУслуг.Ссылка = &Ссылка | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоступлениеТоваровУслуг.СчетУчетаНДС | ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслуг | ГДЕ | ПоступлениеТоваровУслуг.Ссылка = &Ссылка)"; Запрос.Текст = Текст; СуммаВзаиморасчетов = Запрос.Выполнить().Выгрузить()[0].Сумма; РасчетСуммыНДСПоСтавке = УчетНДС.РасчетНДСвРубляхПоСтавкеДокумента(Шапка.ДатаСоставления); Если НЕ СуммаВзаиморасчетов = NULL Тогда ЗапросТовары.Колонки.Добавить("СуммаБезНДС"); МассивРаспределения = Новый Массив; Для Каждого СтрокаТовар Из ЗапросТовары Цикл СуммаСНДС = СтрокаТовар.Стоимость + ?(Шапка.СуммаВключаетНДС, 0, СтрокаТовар.СуммаНДС); СуммаБезНДС = СуммаСНДС - СтрокаТовар.СуммаНДС; МассивРаспределения.Добавить(СуммаСНДС); СтрокаТовар.СуммаБезНДС = СуммаБезНДС; КонецЦикла; ЗапросТовары.Колонки.Добавить("СуммаРублевая"); УчетНДС.РаспределитьСуммуПоСтолбцу(МассивРаспределения, СуммаВзаиморасчетов, ЗапросТовары, "СуммаРублевая"); Для Каждого СтрокаТовар Из ЗапросТовары Цикл Если РасчетСуммыНДСПоСтавке Тогда //Выделение суммы НДС, Расчет суммы без НДС ЗначениеСтавкиНДС = УчетНДС.ПолучитьСтавкуНДС(СтрокаТовар.СтавкаНДС); СтрокаТовар.СуммаНДС = ?(ЗначениеСтавкиНДС = 0, 0, Окр(СтрокаТовар.СуммаРублевая * ЗначениеСтавкиНДС/(100+ЗначениеСтавкиНДС),2)); СтрокаТовар.Стоимость = СтрокаТовар.СуммаРублевая - СтрокаТовар.СуммаНДС; Иначе МассивРаспределения.Очистить(); МассивРаспределения.Добавить(СтрокаТовар.СуммаБезНДС); МассивРаспределения.Добавить(СтрокаТовар.СуммаНДС); МассивРаспределенныхСумм = ОбщегоНазначения.РаспределитьПропорционально(СтрокаТовар.СуммаРублевая, МассивРаспределения); Если МассивРаспределенныхСумм <> Неопределено Тогда СтрокаТовар.Стоимость = МассивРаспределенныхСумм[0]; СтрокаТовар.СуммаНДС = МассивРаспределенныхСумм[1]; КонецЕсли; КонецЕсли; Если Шапка.СуммаВключаетНДС Тогда СтрокаТовар.Стоимость = СтрокаТовар.Стоимость+СтрокаТовар.СуммаНДС; КонецЕсли; КонецЦикла; КонецЕсли; КонецЕсли; // Зададим параметры макета ТабДок=Новый ТабличныйДокумент; ТабДок.ПолеСверху = 0; ТабДок.ПолеСлева = 0; ТабДок.ПолеСнизу = 0; ТабДок.ПолеСправа = 0; ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПоступлениеТоваровУслуг_М4"; Макет = ПолучитьМакет("М4"); //Заполним Шапку Шапка=Макет.ПолучитьОбласть("Шапка"); Шапка.Параметры.Заполнить(Шапка); СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка_запрос.Организация, Шапка_запрос.ДатаСоставления); Адрес = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ЮридическийАдрес"); Телеф = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "Телефоны"); Шапка.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе); Шапка.Параметры.ОрганизацияПоОКПО = СведенияОПокупателе.КодПоОКПО; Шапка.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(Шапка_запрос); ТабДок.Вывести(Шапка); // Заполним заголовок докмента ЗаголовокДокумента=Макет.ПолучитьОбласть("ЗаголовокДокумента"); ЗаголовокДокумента.Параметры.Заполнить(ЗаголовокДокумента); ЗаголовокДокумента.Параметры.Заполнить(Шапка_запрос); ЗаголовокДокумента.Параметры.Дата = Шапка_запрос.ДатаСоставления; ПредставлениеКонтрагента = Шапка_запрос.Поставщик; ЗаголовокДокумента.Параметры.ПоставщикНаименование = ПредставлениеКонтрагента; ТабДок.Вывести(ЗаголовокДокумента); // Заполним ЗаголовокТаблицы ЗаголовокТаблицы=Макет.ПолучитьОбласть("ЗаголовокТаблицы"); ЗаголовокТаблицы.Параметры.Заполнить(ЗаголовокТаблицы); ТабДок.Вывести(ЗаголовокТаблицы); //Заполним Строка Строка=Макет.ПолучитьОбласть("Строка"); Строка.Параметры.Заполнить(Строка); // Инициализация итогов в документе ИтогоКоличествоПринято = 0; ИтогоСуммаБезНДС = 0; ИтогоСуммаНДС = 0; ИтогоВсегоСНДС = 0; Ном = 0; НомерСтраницы = 1; НомерСтроки = 0; КоличествоСтрок = ЗапросТовары.Количество(); Для Каждого ВыборкаСтрок Из ЗапросТовары Цикл Строка.Параметры.Заполнить(ВыборкаСтрок); Кратность = ?(Шапка_запрос.Кратность = 0, 1, Шапка_запрос.Кратность); ВсегоСНДС = (ВыборкаСтрок.Стоимость + ?(Шапка_запрос.СуммаВключаетНДС, 0, ВыборкаСтрок.СуммаНДС)); КоличествоПринято = ВыборкаСтрок.КоличествоПринято; СуммаНДС = ВыборкаСтрок.СуммаНДС; Цена = (ВсегоСНДС - СуммаНДС) / ?(КоличествоПринято = 0, 1, КоличествоПринято); Строка.Параметры.КоличествоПринято = КоличествоПринято; Строка.Параметры.ВсегоСНДС = ВсегоСНДС; Строка.Параметры.СуммаБезНДС = ВсегоСНДС - СуммаНДС; Строка.Параметры.СуммаНДС = СуммаНДС; Строка.Параметры.Цена = Цена; Строка.Параметры.ТоварНаименование = СокрЛП(ВыборкаСтрок.ТоварНаименование); ТабДок.Вывести(Строка); ИтогоКоличествоПринято = ИтогоКоличествоПринято + КоличествоПринято; ИтогоСуммаБезНДС = ИтогоСуммаБезНДС + ВсегоСНДС - СуммаНДС; ИтогоСуммаНДС = ИтогоСуммаНДС + СуммаНДС; ИтогоВсегоСНДС = ИтогоВсегоСНДС + ВсегоСНДС; КонецЦикла; // Заполним Итого Итого=Макет.ПолучитьОбласть("Итого"); Итого.Параметры.Заполнить(Итого); Итого.Параметры.ИтогоКоличествоПринято = ИтогоКоличествоПринято; Итого.Параметры.ИтогоСуммаБезНДС = ИтогоСуммаБезНДС; Итого.Параметры.ИтогоСуммаНДС = ИтогоСуммаНДС; Итого.Параметры.ИтогоВсегоСНДС = ИтогоВсегоСНДС; ТабДок.Вывести(Итого); // Заполним Подвал Подвал = Макет.ПолучитьОбласть("Подвал"); Подвал.Параметры.Заполнить(Подвал); ПредставлениеКонтрагента = Шапка_запрос.Поставщик; Подвал.Параметры.ФИОМОЛ=ПредставлениеКонтрагента; Руководители = ОбщегоНазначения.ОтветственныеЛица(СсылкаНаОбъект.Организация, СсылкаНаобъект.Дата, ПодразделениеОтветственныхЛиц ); Подвал.Параметры.ДолжностьПоставщика = Руководители.РуководительДолжность; Подвал.Параметры.ФИОПоставщика = Руководители.РуководительПредставление; ТабДок.Вывести(Подвал); Возврат ТабДок; КонецФункции // Печать " 14.01.2013
12:53
#2
"Слишком много букафф! ©
Вопрос в чем? Что не получается, какие выводит ошибки?"
Вопрос в чем? Что не получается, какие выводит ошибки?"
14.01.2013
12:58
#3
"Вопрос такой как сделать что бы была в типавом когда ТМЦ в валюте заведина..а в печатной форме показывала в рублях..
Ошибки такие: {ВнешняяОбработка.М4.МодульОбъекта(72,9)}: Переменная не определена (Проведен)
Если <
>Проведен И (Шапка.РасчетыВУсловныхЕдиницах (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(72,21)}: Переменная не определена (Шапка)
Если Проведен И (<
>Шапка.РасчетыВУсловныхЕдиницах (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(73,8)}: Переменная не определена (Шапка)
ИЛИ (<
>Шапка.ВалютаДокумента <> мВалютаРегламентированногоУчета И Дата >= '20090101000000')) Тогда (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(106,71)}: Переменная не определена (Шапка)
РасчетСуммыНДСПоСтавке = УчетНДС.РасчетНДСвРубляхПоСтавкеДокумента(<
>Шапка.ДатаСоставления); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(116,43)}: Переменная не определена (Шапка)
СуммаСНДС = СтрокаТовар.Стоимость + ?(<
>Шапка.СуммаВключаетНДС, 0, СтрокаТовар.СуммаНДС); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(147,10)}: Переменная не определена (Шапка)
Если <
>Шапка.СуммаВключаетНДС Тогда (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(73,67)}: Переменная не определена (Дата)
ИЛИ (Шапка.ВалютаДокумента <> мВалютаРегламентированногоУчета И <
>Дата >= '20090101000000')) Тогда (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(76,39)}: Переменная не определена (Ссылка)
Запрос.УстановитьПараметр("Ссылка", <
>Ссылка); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(77,63)}: Переменная не определена (СчетУчетаРасчетовСКонтрагентом)
Запрос.УстановитьПараметр("СчетУчетаРасчетовСКонтрагентом", <
>СчетУчетаРасчетовСКонтрагентом); (Проверка: Толстый клиент (обычное приложение))"
Ошибки такие: {ВнешняяОбработка.М4.МодульОбъекта(72,9)}: Переменная не определена (Проведен)
Если <
>Проведен И (Шапка.РасчетыВУсловныхЕдиницах (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(72,21)}: Переменная не определена (Шапка)
Если Проведен И (<
>Шапка.РасчетыВУсловныхЕдиницах (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(73,8)}: Переменная не определена (Шапка)
ИЛИ (<
>Шапка.ВалютаДокумента <> мВалютаРегламентированногоУчета И Дата >= '20090101000000')) Тогда (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(106,71)}: Переменная не определена (Шапка)
РасчетСуммыНДСПоСтавке = УчетНДС.РасчетНДСвРубляхПоСтавкеДокумента(<
>Шапка.ДатаСоставления); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(116,43)}: Переменная не определена (Шапка)
СуммаСНДС = СтрокаТовар.Стоимость + ?(<
>Шапка.СуммаВключаетНДС, 0, СтрокаТовар.СуммаНДС); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(147,10)}: Переменная не определена (Шапка)
Если <
>Шапка.СуммаВключаетНДС Тогда (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(73,67)}: Переменная не определена (Дата)
ИЛИ (Шапка.ВалютаДокумента <> мВалютаРегламентированногоУчета И <
>Дата >= '20090101000000')) Тогда (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(76,39)}: Переменная не определена (Ссылка)
Запрос.УстановитьПараметр("Ссылка", <
>Ссылка); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.М4.МодульОбъекта(77,63)}: Переменная не определена (СчетУчетаРасчетовСКонтрагентом)
Запрос.УстановитьПараметр("СчетУчетаРасчетовСКонтрагентом", <
>СчетУчетаРасчетовСКонтрагентом); (Проверка: Толстый клиент (обычное приложение))"
14.01.2013
14:29
#4
Мда. (устало) Ну дак и смотрите эти ошибки по порядку. Или вы скопировали кучу текста из одного места, вставили куда вам заблагорассудится и ждете и надеетесь и верите что все заработает что ли? Ну вам по большому счету в другой форум бы надо.
А вообще разбирайтесь с ошибками или обратитесь к специалисту.
А вообще разбирайтесь с ошибками или обратитесь к специалисту.
14.01.2013
14:46
#5
во первых я кучу текста не копировал и ставлю его куда нужно я в этом разбираюсь...куда его ставить..
и разбираюсь с каждой ошибкой по отдельность может просто хоть натолкнет на какую то мылась просто я зашел в тупик как мне кажется..спасибо заранее
и разбираюсь с каждой ошибкой по отдельность может просто хоть натолкнет на какую то мылась просто я зашел в тупик как мне кажется..спасибо заранее
14.01.2013
15:03
#6
Ну дык не томите, расскажите уже, на какую мысль вас следует натолкнуть? В чем заключается ваш тупик? Что не получается КОНКРЕТНО?
14.01.2013
15:42
#7
сделал уже совсем по другому коновый внешнею печатную форму макет скопировал ссылку сделал на документ код взял полностью с типовой ушла одна... ошибка но еще 4 остались не могу понять почему эти переменные не определены..почему как сделать что бы они были определены вот кусок кода где как раз эти переменные...они обведены красным на скрине
- 1
- 2
кто как решил проблему с больничными листами с расчетом по старым правилам?Поле объекта не обнаружено ?
Читают тему
(гостей: 1)