|
v8: Внешняя печатная форма акт сверки | ☑ | ||
---|---|---|---|---|
0
Paul1979
22.03.13
✎
10:21
|
Помогите пожалуйста!
Пытаюсь создать внешнюю печатную форму Акта сверки. Создал вроде все работает,НО если не указывать во вкладке "Дополнительно" /Представитель организации. Если указываешь, то выдает ошибку: ------------------------------------------------------- Не удалось сформировать внешнюю печатную форму! Ошибка при вызове метода контекста (Выполнить): {(4, 5)}: Таблица не найдена "РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних" <<?>>РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних( ------------------------------------------------------- В стандартной форме Акта сверки все работает, код проверил, похож :(( Помогите разобраться плиз:)) Вот текст модуля объекта: Функция Печать() Экспорт ТабДок = Новый ТабличныйДокумент; ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_АктСверкиВзаиморасчетов_АктСверки"; Макет = ПолучитьМакет("АктСверки"); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьНачОстатки = Макет.ПолучитьОбласть("НачОстатки"); ОбластьОбороты = Макет.ПолучитьОбласть("Обороты"); ОбластьОборотыИтог = Макет.ПолучитьОбласть("ОборотыИтог"); ОбластьКонОстатки = Макет.ПолучитьОбласть("КонОстатки"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); НазваниеОрганизации = СсылкаНаОбъект.Организация.НаименованиеПолное; Если ПустаяСтрока(НазваниеОрганизации) Тогда НазваниеОрганизации = СсылкаНаОбъект.Организация; КонецЕсли; НаименованиеКонтрагента = СсылкаНаОбъект.Контрагент.НаименованиеПолное; Если ПустаяСтрока(НаименованиеКонтрагента) Тогда НаименованиеКонтрагента = СсылкаНаОбъект.Контрагент; КонецЕсли; ОбластьЗаголовок.Параметры.НазваниеОрганизации = НазваниеОрганизации; ОбластьЗаголовок.Параметры.НаименованиеКонтрагента = НаименованиеКонтрагента; ИмяПредставителяОрганизации = СсылкаНаОбъект.ПредставительОрганизации; ИмяПредсатвителяКонтрагента = СсылкаНаОбъект.ПредставительКонтрагента; Если ЗначениеЗаполнено(СсылкаНаОбъект.ПредставительОрганизации) Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОтветственныеЛицаОрганизацийСрезПоследних.Должность |ИЗ | РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних( | &КонДата, | СтруктурнаяЕдиница = &Организация | И ФизическоеЛицо = &ФизическоеЛицо) КАК ОтветственныеЛицаОрганизацийСрезПоследних"; Запрос.УстановитьПараметр("Организация",СсылкаНаОбъект.Организация); Запрос.УстановитьПараметр("ФизическоеЛицо",СсылкаНаОбъект.ПредставительОрганизации); Запрос.УстановитьПараметр("КонДата",СсылкаНаОбъект.Дата); Рез = Запрос.Выполнить(); Если Рез.Пустой() тогда ДолжностьПредставителяОрганизации = ""; Иначе Выборка = Рез.Выбрать(); Выборка.Следующий(); ДолжностьПредставителяОрганизации = СокрЛП(Выборка.Должность); КонецЕсли; Иначе ДолжностьПредставителяОрганизации = ""; КонецЕсли; ДолжностьПредставителяКонтрагента = ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ПредставительКонтрагента),"",СокрЛП(СсылкаНаОбъект.представительКонтрагента.Должность)); Если НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ДатаНачала) Тогда Если СсылкаНаОбъект.ПоДаннымОрганизации.Количество()>0 Тогда ДатаНачалаПериода = СсылкаНаОбъект.ПоДаннымОрганизации[0].Дата; Иначе ДатаНачалаПериода = СсылкаНаОбъект.ДатаНачала; КонецЕсли; Иначе ДатаНачалаПериода = СсылкаНаОбъект.ДатаНачала; КонецЕсли; ТекстЗаголовка = "взаимных расчетов за период с " + Формат(ДатаНачалаПериода, "ДФ=dd.MM.yyyy") + " по " + Формат(СсылкаНаОбъект.ДатаОкончания, "ДФ=dd.MM.yyyy") + Символы.ПС + "между " + НазваниеОрганизации + Символы.ПС + "и " + НаименованиеКонтрагента; Если ЗначениеЗаполнено(СсылкаНаОбъект.ДоговорКонтрагента) Тогда ТекстЗаголовка = ТекстЗаголовка + Символы.ПС + "по договору " + СокрЛП(СсылкаНаОбъект.ДоговорКонтрагента.Наименование); КонецЕсли; ОбластьЗаголовок.Параметры.ТекстЗаголовка = ТекстЗаголовка; //ДанныеПредставителяОрганизации = ДанныеФизЛица(Организация, ПредставительОрганизации, ДатаОкончания); //ФИОПредставителя = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Фамилия),"",ДанныеПредставителяОрганизации.Фамилия // + ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Имя),""," "+ДанныеПредставителяОрганизации.Имя) // + ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Отчество),""," "+ДанныеПредставителяОрганизации.Отчество)); ФИОПредставителя = "" + СсылкаНаОбъект.ПредставительОрганизации; СтрЗаголовокТаблица = "Мы, нижеподписавшиеся, " + ?(ДолжностьПредставителяОрганизации<>"",ДолжностьПредставителяОрганизации,"_______________________")+" " + НазваниеОрганизации + " " + ?(ФИОПредставителя<>"",ФИОПредставителя,"__________________________________________") + ", с одной стороны, " + "и " + ?(ДолжностьПредставителяКонтрагента<>"",ДолжностьПредставителяКонтрагента,"___________________________") + " " + НаименованиеКонтрагента + " " + ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ПредставительКонтрагента),"_____________________________________________",СсылкаНаОбъект.ПредставительКонтрагента) + ", с другой стороны, " + "составили настоящий акт сверки в том, что состояние взаимных расчетов по данным учета следующее:"; ОбластьЗаголовок.Параметры.СтрЗаголовокТаблица = СтрЗаголовокТаблица; ОбластьЗаголовок.Параметры.ВалютаДокумента = СсылкаНаОбъект.ВалютаДокумента; ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ИтСуммаОборотДт = 0; ИтСуммаОборотКт = 0; ИтСуммаОборотДтКонтр = 0; ИтСуммаОборотКтКонтр = 0; НачОстДебет = ?(СсылкаНаОбъект.ОстатокНаНачало > 0, СсылкаНаОбъект.ОстатокНаНачало, 0); НачОстКредит = ?(СсылкаНаОбъект.ОстатокНаНачало < 0, -СсылкаНаОбъект.ОстатокНаНачало, 0); ОстатокНаКонец = СсылкаНаОбъект.ОстатокНаНачало + СсылкаНаОбъект.ПоДаннымОрганизации.Итог("Дебет") - СсылкаНаОбъект.ПоДаннымОрганизации.Итог("Кредит"); КонОстДебет = ?(ОстатокНаКонец > 0, ОстатокНаКонец, 0); КонОстКредит = ?(ОстатокНаКонец < 0, -ОстатокНаКонец, 0); ОстатокНаКонецК = -СсылкаНаОбъект.ОстатокНаНачало + СсылкаНаОбъект.ПоДаннымКонтрагента.Итог("Дебет") - СсылкаНаОбъект.ПоДаннымКонтрагента.Итог("Кредит"); КонОстДебетК = ?(ОстатокНаКонецК > 0, ОстатокНаКонецК, 0); КонОстКредитК = ?(ОстатокНаКонецК < 0, -ОстатокНаКонецК, 0); ОбластьНачОстатки.Параметры.СуммаНачальныйОстатокДт = НачОстДебет; ОбластьНачОстатки.Параметры.СуммаНачальныйОстатокКт = НачОстКредит; ТабДок.Вывести(ОбластьНачОстатки); ТабДок.НачатьАвтогруппировкуСтрок(); МаксИндекс = Макс(СсылкаНаОбъект.ПоДаннымОрганизации.Количество(), СсылкаНаОбъект.ПоДаннымКонтрагента.Количество()) - 1; Для Инд = 0 По МаксИндекс Цикл Если Инд < СсылкаНаОбъект.ПоДаннымОрганизации.Количество() Тогда СтрокаОрганизации = СсылкаНаОбъект.ПоДаннымОрганизации[Инд]; Регистратор = СтрокаОрганизации.Представление; СуммаОборотДт = СтрокаОрганизации.Дебет; СуммаОборотКт = СтрокаОрганизации.Кредит; ОбластьОбороты.Параметры.СуммаОборотДт = СуммаОборотДт; ОбластьОбороты.Параметры.СуммаОборотКт = СуммаОборотКт; ИтСуммаОборотДт = ИтСуммаОборотДт + СуммаОборотДт; ИтСуммаОборотКт = ИтСуммаОборотКт + СуммаОборотКт; ОбластьОбороты.Параметры.РегистраторПредставление = СтрокаОрганизации.Представление; ОбластьОбороты.Параметры.Регистратор = СтрокаОрганизации.ДокументРегистратор; ОбластьОбороты.Параметры.ДатаДокумента = Формат(СтрокаОрганизации.Дата,"ЧЦ=21; ЧДЦ=2; ДФ=dd.MM.yy"); Иначе ОбластьОбороты.Параметры.СуммаОборотДт = ""; ОбластьОбороты.Параметры.СуммаОборотКт = ""; ОбластьОбороты.Параметры.РегистраторПредставление = ""; ОбластьОбороты.Параметры.Регистратор = ""; ОбластьОбороты.Параметры.ДатаДокумента = ""; КонецЕсли; Если Инд < СсылкаНаОбъект.ПоДаннымКонтрагента.Количество() Тогда СтрокаОрганизации = СсылкаНаОбъект.ПоДаннымКонтрагента[Инд]; Регистратор = СтрокаОрганизации.Представление; СуммаОборотДт = СтрокаОрганизации.Дебет; СуммаОборотКт = СтрокаОрганизации.Кредит; ОбластьОбороты.Параметры.СуммаОборотДтКонтр = СуммаОборотДт; ОбластьОбороты.Параметры.СуммаОборотКтКонтр = СуммаОборотКт; ИтСуммаОборотДтКонтр = ИтСуммаОборотДтКонтр + СуммаОборотДт; ИтСуммаОборотКтКонтр = ИтСуммаОборотКтКонтр + СуммаОборотКт; ОбластьОбороты.Параметры.РегистраторПредставлениеКонтр = СтрокаОрганизации.Представление; ОбластьОбороты.Параметры.ДатаДокументаКонтр = Формат(СтрокаОрганизации.Дата,"ЧЦ=21; ЧДЦ=2; ДФ=dd.MM.yy"); Иначе ОбластьОбороты.Параметры.СуммаОборотДтКонтр = ""; ОбластьОбороты.Параметры.СуммаОборотКтКонтр = ""; ОбластьОбороты.Параметры.РегистраторПредставлениеКонтр = ""; ОбластьОбороты.Параметры.ДатаДокументаКонтр = ""; КонецЕсли; ТабДок.Вывести(ОбластьОбороты); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ОбластьОборотыИтог.Параметры.СуммаОборотДт = ИтСуммаОборотДт; ОбластьОборотыИтог.Параметры.СуммаОборотКт = ИтСуммаОборотКт; Если СсылкаНаОбъект.СверкаСогласована тогда ОбластьОборотыИтог.Параметры.СуммаОборотДтКонтр = ИтСуммаОборотДтКонтр; ОбластьОборотыИтог.Параметры.СуммаОборотКтКонтр = ИтСуммаОборотКтКонтр; КонецЕсли; ТабДок.Вывести(ОбластьОборотыИтог); ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокДт = КонОстДебет; ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокКт = КонОстКредит; Если СсылкаНаОбъект.СверкаСогласована тогда ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокДтКонтр = КонОстДебетК; ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокКтКонтр = КонОстКредитК; КонецЕсли; ТабДок.Вывести(ОбластьКонОстатки); // Результаты сверки Если СсылкаНаОбъект.ПоДаннымОрганизации.Количество() = 0 и СсылкаНаОбъект.ОстатокНаНачало = 0 Тогда РезультатыСверки = "<сверка не проведена>"; ИначеЕсли НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ДатаОкончания) Тогда РезультатыСверки = "<не указана дата сверки>"; ИначеЕсли НЕ ЗначениеЗаполнено(СсылкаНаОбъект.Контрагент) Тогда РезультатыСверки = "<не указан контрагент>"; Иначе РезультатыСверки = "на " + Формат(СсылкаНаОбъект.ДатаОкончания, "ДФ=dd.MM.yyyy") + " задолженность "; Если ОстатокНаКонец > 0 Тогда РезультатыСверки = РезультатыСверки + "в пользу " + СокрЛП(НазваниеОрганизации) + " " + Формат(ОстатокНаКонец, "ЧЦ=21; ЧДЦ=2") + " " + строка(СсылкаНаОбъект.ВалютаДокумента); ИначеЕсли ОстатокНаКонец < 0 Тогда РезультатыСверки = РезультатыСверки + "в пользу " + СокрЛП(НаименованиеКонтрагента) + " " + Формат(-ОстатокНаКонец, "ЧЦ=21; ЧДЦ=2") + " " + строка(СсылкаНаОбъект.ВалютаДокумента); Иначе РезультатыСверки = РезультатыСверки + "отсутствует."; КонецЕсли; КонецЕсли; ОбластьПодвал.Параметры.РезультатыСверки = РезультатыСверки; Если СсылкаНаОбъект.СверкаСогласована тогда ОбластьПодвал.Параметры.СсылкаНаОбъект.ПоДаннымКонтрагента = "По данным " + СокрЛП(НаименованиеКонтрагента); Если СсылкаНаОбъект.ПоДаннымКонтрагента.Количество() = 0 и СсылкаНаОбъект.ОстатокНаНачало = 0 Тогда РезультатыСверки = "<сверка не проведена>"; ИначеЕсли НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ДатаОкончания) Тогда РезультатыСверки = "<не указана дата сверки>"; ИначеЕсли НЕ ЗначениеЗаполнено(СсылкаНаОбъект.Контрагент) Тогда РезультатыСверки = "<не указан контрагент>"; Иначе РезультатыСверки = "на " + Формат(СсылкаНаОбъект.ДатаОкончания, "ДФ=dd.MM.yyyy") + " задолженность "; Если ОстатокНаКонецК < 0 Тогда РезультатыСверки = РезультатыСверки + "в пользу " + СокрЛП(НазваниеОрганизации) + " " + Формат(-ОстатокНаКонецК, "ЧЦ=21; ЧДЦ=2") + " " + строка(СсылкаНаОбъект.ВалютаДокумента); ИначеЕсли ОстатокНаКонецК > 0 Тогда РезультатыСверки = РезультатыСверки + "в пользу " + СокрЛП(НаименованиеКонтрагента) + " " + Формат(ОстатокНаКонецК, "ЧЦ=21; ЧДЦ=2") + " " + строка(СсылкаНаОбъект.ВалютаДокумента); Иначе РезультатыСверки = РезультатыСверки + "отсутствует."; КонецЕсли; КонецЕсли; ОбластьПодвал.Параметры.РезультатыСверкиК = РезультатыСверки; Если ОстатокНаКонец+ОстатокНаКонецК<>0 Тогда ИтогСверки = "В результате сверки выявлено расхождение информации о состоянии расчетов в размере "+Формат(?(ОстатокНаКонец+ОстатокНаКонецК>0,1,-1)*(ОстатокНаКонец+ОстатокНаКонецК), "ЧЦ=21; ЧДЦ=2") +" "+ Строка(СсылкаНаОбъект.ВалютаДокумента); ОбластьПодвал.Параметры.ИтогСверки = Символы.ПС+ ИтогСверки+Символы.ПС+" "; КонецЕсли; КонецЕсли; ОбластьПодвал.Параметры.НазваниеОрганизации = СокрЛП(НазваниеОрганизации); ОбластьПодвал.Параметры.НаименованиеКонтрагента = СокрЛП(НаименованиеКонтрагента); ОбластьПодвал.Параметры.Должность = "________________"; ОбластьПодвал.Параметры.ДолжностьК ="________________"; ОбластьПодвал.Параметры.ФИОПредставителя = "("+ ФИОПредставителя +")"; ОбластьПодвал.Параметры.ФИОПредставителяК = "("+?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ПредставительКонтрагента),"_______________________",СсылкаНаОбъект.ПредставительКонтрагента)+")"; ТабДок.Вывести(ОбластьПодвал); Возврат ТабДок; КонецФункции Как победить?????????? Help! |
|||
1
Wobland
22.03.13
✎
10:22
|
куда таблицу дел?
|
|||
2
Wobland
22.03.13
✎
10:24
|
берёшь запрос, берёшь конструктор и скрещаваешь их до полного взаимопонимания
|
|||
3
Paul1979
22.03.13
✎
11:46
|
Спасибо за подсказку я сделал так:
Запрос.Текст = "ВЫБРАТЬ | ОтветственныеЛицаОрганизацииСрезПоследних.Период, | ОтветственныеЛицаОрганизацииСрезПоследних.СтруктурнаяЕдиница, | ОтветственныеЛицаОрганизацииСрезПоследних.ОтветственноеЛицо, | ОтветственныеЛицаОрганизацииСрезПоследних.ФизическоеЛицо, | ОтветственныеЛицаОрганизацииСрезПоследних.Должность |ИЗ | РегистрСведений.ОтветственныеЛицаОрганизации.СрезПоследних( | &КонДата, | СтруктурнаяЕдиница = &Организация | И ФизическоеЛицо = &ФизическоеЛицо) КАК ОтветственныеЛицаОрганизацииСрезПоследних"; Запрос.УстановитьПараметр("Организация",СсылкаНаОбъект.Организация); Запрос.УстановитьПараметр("ФизическоеЛицо",СсылкаНаОбъект.ПредставительОрганизации); Запрос.УстановитьПараметр("КонДата",СсылкаНаОбъект.Дата); Рез = Запрос.Выполнить(); :)))) |
|||
4
Wobland
22.03.13
✎
11:54
|
это вам даже не разные кодировки. с третьего раза только понял ;)
|
|||
5
Paul1979
22.03.13
✎
11:56
|
А не кто не сталкивался с тем, что стандартная даже форма "Акта сверки" почему то не сохраняться в *pdf.
Точнее вся форма выгружается, а таблица с цифрами пустая. На принтер все отправляется нормально:( |
|||
6
Paul1979
10.04.13
✎
12:21
|
ПОМОГИТЕ ЕЩЕ РАЗ!!!!!
в этой же форме вылезла другая ошибка. Т.к. Аудиторы прикопались, что в акте сверки надо ставить галочку "СВЕРКА Согласована", форма перестала работать и выдаеш следующую ошибку {ВнешняяОбработка.АктСверки7.МодульОбъекта(220)}: Поле объекта не обнаружено (СсылкаНаОбъект) ОбластьПодвал.Параметры.СсылкаНаОбъект.ПоДаннымКонтрагента = "По данным " + СокрЛП(СсылкаНаОбъект.НаименованиеКонтрагенга); где косяк? подскажите плиззз:)) |
|||
7
Славен
10.04.13
✎
12:23
|
реквизит СсылкаНаОбъект добавь с типом твоего документа
|
|||
8
zzerro
10.04.13
✎
12:24
|
ОбластьПодвал.Параметры.СсылкаНаОбъект.ПоДаннымКонтрагента - это что такое?
|
|||
9
Славен
10.04.13
✎
12:24
|
ОбластьПодвал.Параметры.СсылкаНаОбъект.ПоДаннымКонтрагента - это что? у тебя есть в макете параметр ССылкаНаобъект.ПоДаннымКонтрагента
|
|||
10
zzerro
10.04.13
✎
12:25
|
надо наверно ОбластьПодвал.Параметры.ПоДаннымКонтрагента
|
|||
11
Paul1979
10.04.13
✎
12:37
|
Спасибо за подсказку:)
подправил вот так заработало:)) УРАА!! ОбластьПодвал.Параметры.ПоДаннымКонтрагента = "По данным " + СокрЛП(НаименованиеКонтрагента); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |