Как программно добавить в печатную форму номер телефона исполнителя, возможно ли это?
Здравствуйте, в Бухгалтерии, в печатную форму документа "акт сверки с контрагентом" хочу добавить телефон исполнителя (физ лица).
Если пытаюсь вывести так:
ОбластьПодвал.Параметры.ТелефонИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.НомерТелефона),
"", ДанныеИсполнителя.НомерТелефона);
пишет что поле обьекта НомерТелефона нет, хотя в физ лице есть табличная часть "Контактная информация" с таким реквизитом.
Как исправить или как по другому можно это реализовать?
Если пытаюсь вывести так:
ОбластьПодвал.Параметры.ТелефонИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.НомерТелефона),
"", ДанныеИсполнителя.НомерТелефона);
пишет что поле обьекта НомерТелефона нет, хотя в физ лице есть табличная часть "Контактная информация" с таким реквизитом.
Как исправить или как по другому можно это реализовать?
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(12) Бухгалтерия для Беларуси, редакция 2.1
Прикрепленные файлы:
АктСверкииСКонтрагентами — копия (2).epf
(4) Есть:
ДанныеИсполнителя = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.Исполнитель, Шапка.ДатаАктаСверки);
ТелефонИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.НомерТелефона), "",ДанныеИсполнителя.НомерТелефона);
Или не то?
ДанныеИсполнителя = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.Исполнитель, Шапка.ДатаАктаСверки);
ТелефонИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.НомерТелефона), "",ДанныеИсполнителя.НомерТелефона);
Или не то?
(13)
Функция ПолучитьТекстЗапросаДляФормированияПечатнойФормыАктСверкиСКонтрагентом()
ТекстЗапроса =
"ВЫБРАТЬ
| Акт.Ссылка КАК АктСверкиСКонтрагентом,
| ВЫБОР
| КОГДА Акт.РазбитьПоДоговорам
| ТОГДА ТЧПоДаннымОрганизации.Договор
| ИНАЧЕ NULL
| КОНЕЦ КАК Договор,
| ТЧПоДаннымОрганизации.НомерСтроки КАК НомерСтроки,
| ТЧПоДаннымОрганизации.Дата КАК Дата,
| NULL КАК ДатаК,
| ТЧПоДаннымОрганизации.Документ КАК Документ,
| ТЧПоДаннымОрганизации.Представление КАК Представление,
| NULL КАК ПредставлениеК,
| ТЧПоДаннымОрганизации.Дебет КАК Дебет,
| ТЧПоДаннымОрганизации.Кредит КАК Кредит,
| 0 КАК ДебетК,
| 0 КАК КредитК,
| 0 КАК НомерТабЧасти
|ПОМЕСТИТЬ ДанныеДокумента
|ИЗ
| Документ.АктСверкиВзаиморасчетов КАК Акт
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.АктСверкиВзаиморасчетов.ПоДаннымОрганизации КАК ТЧПоДаннымОрганизации
| ПО Акт.Ссылка = ТЧПоДаннымОрганизации.Ссылка
|ГДЕ
| Акт.Ссылка В(&МассивДокументов)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Акт.Ссылка,
| ВЫБОР
| КОГДА Акт.РазбитьПоДоговорам
| ТОГДА ТЧПоДаннымКонтрагента.Договор
| ИНАЧЕ NULL
| КОНЕЦ,
| ТЧПоДаннымКонтрагента.НомерСтроки,
| NULL,
| ТЧПоДаннымКонтрагента.Дата,
| NULL,
| NULL,
| ТЧПоДаннымКонтрагента.Представление,
| 0,
| 0,
| ТЧПоДаннымКонтрагента.Дебет,
| ТЧПоДаннымКонтрагента.Кредит,
| 1
|ИЗ
| Документ.АктСверкиВзаиморасчетов КАК Акт
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.АктСверкиВзаиморасчетов.ПоДаннымКонтрагента КАК ТЧПоДаннымКонтрагента
| ПО Акт.Ссылка = ТЧПоДаннымКонтрагента.Ссылка
|ГДЕ
| Акт.Ссылка В(&МассивДокументов)
|
|ИНДЕКСИРОВАТЬ ПО
| АктСверкиСКонтрагентом
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ДанныеДокумента.АктСверкиСКонтрагентом КАК АктСверкиСКонтрагентом,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.НомерСтроки КАК НомерСтроки,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Дата КАК МинДата,
| ДанныеДокумента.Документ,
| ДанныеДокумента.Представление,
| ДанныеДокумента.ДатаК,
| ДанныеДокумента.ПредставлениеК,
| ДанныеДокумента.Дебет КАК СуммаДогДт,
| ДанныеДокумента.Кредит КАК СуммаДогКт,
| ДанныеДокумента.ДебетК КАК СуммаДогДтКонтр,
| ДанныеДокумента.КредитК КАК СуммаДогКтКонтр,
| АктСверкиВзаиморасчетов.Организация КАК Организация,
| АктСверкиВзаиморасчетов.Контрагент КАК Контрагент,
| АктСверкиВзаиморасчетов.Дата КАК ДатаАктаСверки,
| АктСверкиВзаиморасчетов.ПредставительОрганизации КАК ПредставительОрганизации,
// (
| АктСверкиВзаиморасчетов.ПредставительОрганизации1 КАК ПредставительОрганизации1,
| АктСверкиВзаиморасчетов.Ответственный КАК Ответственный,
| АктСверкиВзаиморасчетов.Исполнитель КАК Исполнитель,
// )
| АктСверкиВзаиморасчетов.ПредставительКонтрагента КАК ПредставительКонтрагента,
| АктСверкиВзаиморасчетов.ДатаНачала КАК ДатаНачала,
| АктСверкиВзаиморасчетов.ДатаОкончания КАК ДатаОкончания,
| АктСверкиВзаиморасчетов.ОстатокНаНачало КАК ОстатокНаНачало,
| АктСверкиВзаиморасчетов.Расхождение КАК Расхождение,
| АктСверкиВзаиморасчетов.ДоговорКонтрагента КАК ДоговорКонтрагентаВШапке,
| АктСверкиВзаиморасчетов.ВалютаДокумента КАК ВалютаДокумента,
| АктСверкиВзаиморасчетов.РазбитьПоДоговорам КАК РазбитьПоДоговорам,
| АктСверкиВзаиморасчетов.СверкаСогласована КАК СверкаСогласована,
//1С-Минск
| АктСверкиВзаиморасчетов.МестоСоставленияАкта КАК МестоСоставленияАкта,
//1С-Минск
| ДанныеДокумента.НомерТабЧасти КАК НомерТабЧасти
|ИЗ
| ДанныеДокумента КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.АктСверкиВзаиморасчетов КАК АктСверкиВзаиморасчетов
| ПО ДанныеДокумента.АктСверкиСКонтрагентом = АктСверкиВзаиморасчетов.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| НомерТабЧасти,
| ДанныеДокумента.НомерСтроки
|ИТОГИ
| МИНИМУМ(МинДата),
| СУММА(СуммаДогДт),
| СУММА(СуммаДогКт),
| СУММА(СуммаДогДтКонтр),
| СУММА(СуммаДогКтКонтр),
| МАКСИМУМ(Организация),
| МАКСИМУМ(Контрагент),
| МАКСИМУМ(ДатаАктаСверки),
| МАКСИМУМ(ПредставительОрганизации),
// (
| МАКСИМУМ(ПредставительОрганизации1),
| МАКСИМУМ(Ответственный),
| МАКСИМУМ(Исполнитель),
// )
| МАКСИМУМ(ПредставительКонтрагента),
| МАКСИМУМ(ДатаНачала),
| МАКСИМУМ(ДатаОкончания),
| МАКСИМУМ(ОстатокНаНачало),
| МАКСИМУМ(Расхождение),
| МАКСИМУМ(ДоговорКонтрагентаВШапке),
| МАКСИМУМ(ВалютаДокумента),
| МАКСИМУМ(РазбитьПоДоговорам),
| МАКСИМУМ(СверкаСогласована),
//1С-Минск
| МАКСИМУМ(МестоСоставленияАкта)
//1С-Минск
|ПО
| АктСверкиСКонтрагентом,
| Договор";
Возврат ТекстЗапроса;
КонецФункции
// Функция формирует табличный документ с печатной формой накладной,
//
// Возвращаемое значение:
// Табличный документ - печатная форма накладной
//
Функция ПечатьАктаСверкиСКонтрагентом(МассивОбъектов, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.РазмерКолонтитулаСверху = 0;
ТабличныйДокумент.РазмерКолонтитулаСнизу = 0;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_АктСверкиВзаиморасчетов";
Макет = ПолучитьМакет("ПФ_MXL_АктСверки_Локализация");
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
Запрос.Текст = ПолучитьТекстЗапросаДляФормированияПечатнойФормыАктСверкиСКо нтрагентом();
Шапка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "АктСверки");
ПервыйДокумент = Истина;
Пока Шапка.Следующий() Цикл
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
// Запомним номер строки, с которой начали выводить текущий документ.
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
// Получаем области:
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьНачОстатки = Макет.ПолучитьОбласть("НачОстатки");
ОбластьДоговор = Макет.ПолучитьОбласть("Договор");
ОбластьДоговорИтоги = Макет.ПолучитьОбласть("ДоговорИтоги");
ОбластьОбороты = Макет.ПолучитьОбласть("Обороты");
ОбластьОборотыИтог = Макет.ПолучитьОбласть("ОборотыИтог");
ОбластьКонОстатки = Макет.ПолучитьОбласть("КонОстатки");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
// Заполняем шапку:
СведенияОбОрганизации = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаАктаСверки);
ПредставлениеОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,");
СведенияОКонтрагенте = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Контрагент, Шапка.ДатаАктаСверки);
ПредставлениеКонтрагента = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм,");
//(
//СведенияОИсполнителе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Исполнитель, Шапка.ДатаАктаСверки);
//ПредставлениеИсполнителя = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОИсполнителе, "НаименованиеДляПечатныхФорм,");
//(
ОбластьЗаголовок.Параметры.НазваниеОрганизации = ПредставлениеОрганизации;
ОбластьЗаголовок.Параметры.НаименованиеКонтрагента = ПредставлениеКонтрагента;
ДатаНачалаОтчета = ?(ЗначениеЗаполнено(Шапка.ДатаНачала), Шапка.ДатаНачала, Шапка.МинДата);
ОписаниеПериода = ?(ЗначениеЗаполнено(ДатаНачалаОтчета),"за период: " + ПредставлениеПериода(НачалоДня( ДатаНачалаОтчета), КонецДня( Шапка.ДатаОкончания), "ФП = Истина"),"");
ТекстЗаголовка = "взаимных расчетов " + ОписаниеПериода + Символы.ПС
+ "между " + ПредставлениеОрганизации + Символы.ПС + "и " + ПредставлениеКонтрагента;
ДоговорКонтрагента = Шапка.ДоговорКонтрагентаВШапке;
Если ЗначениеЗаполнено(ДоговорКонтрагента) И НЕ ДоговорКонтрагента.ЭтоГруппа Тогда
ТекстЗаголовка = ТекстЗаголовка + Символы.ПС + "по договору " + ДоговорКонтрагента;
КонецЕсли;
ОбластьЗаголовок.Параметры.ТекстЗаголовка = ТекстЗаголовка;
ДанныеПредставителяОрганизации = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.ПредставительОрганизации, Шапка.ДатаАктаСверки);
// (
ДанныеПредставителяОрганизации1 = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.ПредставительОрганизации1, Шапка.ДатаАктаСверки);
ФИОПредставителя1 = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Фамилия), "",ДанныеПредставителяОрганизации1.Фамилия
+ ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Имя), "", " "+ ДанныеПредставителяОрганизации1.Имя)
+ ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Отчество), "", " "+ ДанныеПредставителяОрганизации1.Отчество));
ДанныеИсполнителя = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.Исполнитель, Шапка.ДатаАктаСверки);
ФИОИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Фамилия), "",ДанныеИсполнителя.Фамилия
+ ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Имя), "", " "+ ДанныеИсполнителя.Имя)
+ ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Отчество), "", " "+ ДанныеИсполнителя.Отчество));
ТелефонИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.НомерТелефона), "",ДанныеИсполнителя.НомерТелефона);
// )
ДанныеПредставителяКонтрагента = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Шапка.ПредставительКонтрагента, "Должность, Фамилия, Имя, Отчество");
ФИОПредставителя = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Фамилия), "",ДанныеПредставителяОрганизации.Фамилия
+ ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Имя), "", " "+ ДанныеПредставителяОрганизации.Имя)
+ ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Отчество), "", " "+ ДанныеПредставителяОрганизации.Отчество));
СтрЗаголовокТаблица = "Мы, нижеподписавшиеся, " + ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Должность),
"________________", ДанныеПредставителяОрганизации.Должность) + " " + ПредставлениеОрганизации
+ " " + ?(ФИОПредставителя <> "", ФИОПредставителя, "_______________________") + ", с одной стороны, "
+ "и " + ?(НЕ ЗначениеЗаполнено(Шапка.ПредставительКонтрагента) ИЛИ НЕ ЗначениеЗаполнено(ДанныеПредставителяКонтрагента.Должность),
"________________", ДанныеПредставителяКонтрагента.Должность)
+ " " + ПредставлениеКонтрагента + " " + ?(НЕ ЗначениеЗаполнено(Шапка.ПредставительКонтрагента),
"_______________________", Шапка.ПредставительКонтрагента) + ", с другой стороны, "
+ "составили настоящий акт сверки в том, что состояние взаимных расчетов по данным учета следующее:";
ОбластьЗаголовок.Параметры.СтрЗаголовокТаблица = СтрЗаголовокТаблица;
ОбластьЗаголовок.Параметры.ВалютаДокумента = Шапка.ВалютаДокумента;
ТабличныйДокумент.Вывести(ОбластьЗаголовок);
ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы);
ОбластьНачОстатки.Параметры.СуммаНачальныйОстатокДт = ?(Шапка.ОстатокНаНачало > 0, Шапка.ОстатокНаНачало, 0);
ОбластьНачОстатки.Параметры.СуммаНачальныйОстатокКт = ?(Шапка.ОстатокНаНачало < 0, -Шапка.ОстатокНаНачало, 0);
ТабличныйДокумент.Вывести(ОбластьНачОстатки);
ОборотыДт = Шапка.СуммаДогДт;
ОборотыКт = Шапка.СуммаДогКт;
ОборотыДтКонтр = Шапка.СуммаДогДтКонтр;
ОборотыКтКонтр = Шапка.СуммаДогКтКонтр;
ОбходПоДоговорам = Шапка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Договор");
Пока ОбходПоДоговорам.Следующий() Цикл
Если Шапка.РазбитьПоДоговорам Тогда
//Выводим заголовок с договором
ОбластьДоговор.Параметры.Договор = ОбходПоДоговорам.Договор;
ОбластьДоговор.Параметры.Регистратор = ОбходПоДоговорам.Договор;
ТабличныйДокумент.Вывести(ОбластьДоговор);
ОбходПоДокументам=ОбходПоДоговорам.Выбрать();
Иначе
ОбходПоДокументам=ОбходПоДоговорам.Выбрать();
КонецЕсли;
//Создадим список документов по организации и контрагенту
СписокДокументов = новый массив;
СписокДокументовК = новый массив;
Пока ОбходПоДокументам.Следующий() Цикл
Если ОбходПоДокументам.Дата<>NULL Тогда
СписокДокументов.Добавить(новый структура("ДатаДокумента, РегистраторПредставление, Регистратор, СуммаОборотДт, СуммаОборотКт",
ОбходПоДокументам.Дата,ОбходПоДокументам.Представление,ОбходПоДокументам.Документ,ОбходПоДокументам.СуммаДогДт,ОбходПоДокументам.СуммаДогКт));
КонецЕсли;
Если ОбходПоДокументам.ДатаК<>NULL Тогда
СписокДокументовК.Добавить(новый структура("ДатаДокументаКонтр,РегистраторПредставлениеКонтр,СуммаОборотДтКонтр,СуммаОборотКтКонтр",
ОбходПоДокументам.ДатаК,ОбходПоДокументам.ПредставлениеК,ОбходПоДокументам.СуммаДогДтКонтр,ОбходПоДокументам.СуммаДогКтКонтр));
КонецЕсли;
КонецЦикла;
//Для упрощения вывода, сравним списки по количеству элементов, добавив пустые
МаксИндекс = Макс(СписокДокументов.Количество(), СписокДокументовК.Количество())-1;
МинИндекс = Мин(СписокДокументов.Количество(), СписокДокументовК.Количество())-1;
Если СписокДокументов.Количество() < СписокДокументовК.Количество() Тогда
Для инд = МинИндекс По МаксИндекс-1 Цикл
СписокДокументов.Добавить(новый структура("ДатаДокумента,РегистраторПредставление,Регистратор,СуммаОборотДт,СуммаОборотКт","","","","",""));
КонецЦикла;
ИначеЕсли СписокДокументов.Количество() > СписокДокументовК.Количество() Тогда
Для инд = МинИндекс По МаксИндекс-1 Цикл
СписокДокументовК.Добавить(новый структура("ДатаДокументаКонтр,РегистраторПредставлениеКонтр,СуммаОборотДтКонтр,СуммаОборотКтКонтр","","","",""));
КонецЦикла;
КонецЕсли;
Для Инд = 0 По МаксИндекс Цикл
ОбластьОбороты.Параметры.Заполнить(СписокДокументов[Инд]);
ОбластьОбороты.Параметры.Заполнить(СписокДокументовК[Инд]);
ТабличныйДокумент.Вывести(ОбластьОбороты);
КонецЦикла;
Если Шапка.РазбитьПоДоговорам Тогда
//Выводим итоги по каждому договору
ОбластьДоговорИтоги.Параметры.Заполнить(ОбходПоДоговорам);
ТабличныйДокумент.Вывести(ОбластьДоговорИтоги);
Иначе
Прервать;
КонецЕсли;
КонецЦикла;
ОбластьОборотыИтог.Параметры.СуммаОборотДт = ОборотыДт;
ОбластьОборотыИтог.Параметры.СуммаОборотКт = ОборотыКт;
Если Шапка.СверкаСогласована тогда
ОбластьОборотыИтог.Параметры.СуммаОборотДтКонтр = ОборотыДтКонтр;
ОбластьОборотыИтог.Параметры.СуммаОборотКтКонтр = ОборотыКтКонтр;
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьОборотыИтог);
ОстатокНаКонец = Шапка.ОстатокНаНачало + ОборотыДт - ОборотыКт;
ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокДт = ?(ОстатокНаКонец > 0, ОстатокНаКонец, 0);
ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокКт = ?(ОстатокНаКонец < 0, -ОстатокНаКонец, 0);
Если Шапка.СверкаСогласована тогда
ОстатокНаКонецК = Шапка.ОстатокНаНачало - ОборотыДтКонтр + ОборотыКтКонтр;
ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокКтКонтр = ?(ОстатокНаКонецК > 0, ОстатокНаКонецК, 0);
ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокДтКонтр = ?(ОстатокНаКонецК < 0, -ОстатокНаКонецК, 0);
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьКонОстатки);
// Результаты сверки
Если НЕ ЗначениеЗаполнено(Шапка.ДатаОкончания) Тогда
РезультатыСверки = "<не указана дата сверки>";
ИначеЕсли НЕ ЗначениеЗаполнено(Шапка.Контрагент) Тогда
РезультатыСверки = "<не указан контрагент>";
Иначе
РезультатыСверки = "на " + Формат(Шапка.ДатаОкончания, "ДФ=dd.MM.yyyy") + " задолженность ";
Если ОстатокНаКонец > 0 Тогда
РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеОрганизации + " "
+ Формат(ОстатокНаКонец, "ЧЦ=21; ЧДЦ=2") + " "
+ строка(Шапка.ВалютаДокумента)
+" ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(ОстатокНаКонец, Шапка.ВалютаДокумента,Ложь)+")" ;
ИначеЕсли ОстатокНаКонец < 0 Тогда
РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеКонтрагента + " "
+ Формат(-ОстатокНаКонец, "ЧЦ=21; ЧДЦ=2") + " "
+ строка(Шапка.ВалютаДокумента)
+" ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(-ОстатокНаКонец, Шапка.ВалютаДокумента,Ложь)+")" ;
Иначе
РезультатыСверки = РезультатыСверки + "отсутствует.";
КонецЕсли;
КонецЕсли;
ОбластьПодвал.Параметры.РезультатыСверки = РезультатыСверки;
Если Шапка.СверкаСогласована тогда
ОбластьПодвал.Параметры.ПоДаннымКонтрагента = "По данным " + ПредставлениеКонтрагента;
Если НЕ ЗначениеЗаполнено(Шапка.ДатаОкончания) Тогда
РезультатыСверки = "<не указана дата сверки>";
ИначеЕсли НЕ ЗначениеЗаполнено(Шапка.Контрагент) Тогда
РезультатыСверки = "<не указан контрагент>";
Иначе
РезультатыСверки = "на " + Формат(Шапка.ДатаОкончания, "ДФ=dd.MM.yyyy") + " задолженность ";
Если ОстатокНаКонецК > 0 Тогда
РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеОрганизации + " "
+ Формат(ОстатокНаКонецК, "ЧЦ=21; ЧДЦ=2") + " "
+ строка(Шапка.ВалютаДокумента)
+ " ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(ОстатокНаКонецК, Шапка.ВалютаДокумента,Ложь)+")" ;
ИначеЕсли ОстатокНаКонецК < 0 Тогда
РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеКонтрагента + " "
+ Формат(-ОстатокНаКонецК, "ЧЦ=21; ЧДЦ=2") + " "
+ строка(Шапка.ВалютаДокумента)
+" ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(-ОстатокНаКонецК, Шапка.ВалютаДокумента,Ложь)+")" ;
Иначе
РезультатыСверки = РезультатыСверки + "отсутствует.";
КонецЕсли;
КонецЕсли;
ОбластьПодвал.Параметры.РезультатыСверкиК = РезультатыСверки;
Если Шапка.Расхождение <> 0 Тогда
ИтогСверки = "В результате сверки выявлено расхождение информации о состоянии расчетов в размере "
+ Формат(?(Шапка.Расхождение > 0, 1, -1) * Шапка.Расхождение, "ЧЦ=21; ЧДЦ=2")
+ " "+ Строка(Шапка.ВалютаДокумента)
+ " ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(
?(Шапка.Расхождение > 0, 1, -1) * Шапка.Расхождение, Шапка.ВалютаДокумента, Ложь)+")" ;
ОбластьПодвал.Параметры.ИтогСверки = Символы.ПС + ИтогСверки+Символы.ПС+" ";
КонецЕсли;
КонецЕсли;
ОбластьПодвал.Параметры.НазваниеОрганизации = ПредставлениеОрганизации;
ОбластьПодвал.Параметры.НаименованиеКонтрагента = ПредставлениеКонтрагента;
ОбластьПодвал.Параметры.Должность = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Должность),
"________________", ДанныеПредставителяОрганизации.Должность);
// (
ОбластьПодвал.Параметры.Должность1 = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Должность),
"________________", ДанныеПредставителяОрганизации1.Должность);
ОбластьПодвал.Параметры.ДолжностьИ = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Должность),
"________________", ДанныеИсполнителя.Должность);
ОбластьПодвал.Параметры.ТелефонИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.НомерТелефона),"", ДанныеИсполнителя.НомерТелефона);
// )
ОбластьПодвал.Параметры.ДолжностьК = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяКонтрагента.Должность),
"________________", ДанныеПредставителяКонтрагента.Должность);
ОбластьПодвал.Параметры.ФИОПредставителя = "("+?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации),
"_______________________",ДанныеПредставителяОрганизации.Представление)+")";
// (
ОбластьПодвал.Параметры.ФИОПредставителя1 = "("+?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1),
"_______________________",ДанныеПредставителяОрганизации1.Представление)+")";
ОбластьПодвал.Параметры.ФИОИсполнителя = "("+?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя),
"_______________________",ДанныеИсполнителя.Представление)+")";
// )
ОбластьПодвал.Параметры.ФИОПредставителяК = "("+?(НЕ ЗначениеЗаполнено(Шапка.ПредставительКонтрагента),
"_______________________",ОбщегоНазначенияБПВызовСервера.ФамилияИнициалыФизЛица(
ДанныеПредставителяКонтрагента.Фамилия + " " + ДанныеПредставителяКонтрагента.Имя + " " + ДанныеПредставителяКонтрагента.Отчество))+")";
ТабличныйДокумент.Вывести(ОбластьПодвал);
// В табличном документе зададим имя области, в которую был
// выведен объект. Нужно для возможности печати покомплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент,
НомерСтрокиНачало, ОбъектыПечати, Шапка.АктСверкиСКонтрагентом);
КонецЦикла; // Пока Шапка.Следующий()
Возврат ТабличныйДокумент;
КонецФункции
Функция ПечатьАктаСверкиСКонтрагентом_Локализация(МассивОбъектов, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.РазмерКолонтитулаСверху = 0;
ТабличныйДокумент.РазмерКолонтитулаСнизу = 0;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_АктСверкиВзаиморасчетов";
Макет = ПолучитьМакет("ПФ_MXL_АктСверки_Локализация");
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
Запрос.Текст = ПолучитьТекстЗапросаДляФормированияПечатнойФормыАктСверкиСКо нтрагентом();
Шапка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "АктСверкиСКонтрагентом");
ПервыйДокумент = Истина;
Пока Шапка.Следующий() Цикл
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
// Запомним номер строки, с которой начали выводить текущий документ.
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
// Получаем области:
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьНачОстатки = Макет.ПолучитьОбласть("НачОстатки");
ОбластьДоговор = Макет.ПолучитьОбласть("Договор");
ОбластьДоговорИтоги = Макет.ПолучитьОбласть("ДоговорИтоги");
ОбластьОбороты = Макет.ПолучитьОбласть("Обороты");
ОбластьОборотыИтог = Макет.ПолучитьОбласть("ОборотыИтог");
ОбластьКонОстатки = Макет.ПолучитьОбласть("КонОстатки");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
// Заполняем шапку:
СведенияОбОрганизации = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаАктаСверки);
ПредставлениеОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,");
СведенияОКонтрагенте = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Контрагент, Шапка.ДатаАктаСверки);
ПредставлениеКонтрагента = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм,");
//(
//СведенияОИсполнителе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Исполнитель, Шапка.ДатаАктаСверки);
//ПредставлениеИсполнителя = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОИсполнителе, "НаименованиеДляПечатныхФорм,");
//(
ОбластьЗаголовок.Параметры.НазваниеОрганизации = ПредставлениеОрганизации;
ОбластьЗаголовок.Параметры.НаименованиеКонтрагента = ПредставлениеКонтрагента;
ОбластьЗаголовок.Параметры.ДатаДокумента = Формат(Шапка.ДатаАктаСверки, "ДФ=""дд ММММ гггг 'г.'""");
ОбластьЗаголовок.Параметры.МестоСоставленияАкта = Шапка.МестоСоставленияАкта;
ДатаНачалаОтчета = ?(ЗначениеЗаполнено(Шапка.ДатаНачала), Шапка.ДатаНачала, Шапка.МинДата);
ОписаниеПериода = "за период: " + ПредставлениеПериода(НачалоДня( ДатаНачалаОтчета), КонецДня( Шапка.ДатаОкончания), "ФП = Истина");
ТекстЗаголовка = "взаимных расчетов " + ОписаниеПериода + Символы.ПС
+ "между " + ПредставлениеОрганизации + Символы.ПС + "и " + ПредставлениеКонтрагента;
ДоговорКонтрагента = Шапка.ДоговорКонтрагентаВШапке;
Если ЗначениеЗаполнено(ДоговорКонтрагента) И НЕ ДоговорКонтрагента.ЭтоГруппа Тогда
ТекстЗаголовка = ТекстЗаголовка + Символы.ПС + "по договору " + ДоговорКонтрагента;
КонецЕсли;
ОбластьЗаголовок.Параметры.ТекстЗаголовка = ТекстЗаголовка;
ДанныеПредставителяОрганизации = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.ПредставительОрганизации, Шапка.ДатаАктаСверки);
// (
ДанныеПредставителяОрганизации1 = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.ПредставительОрганизации1, Шапка.ДатаАктаСверки);
ФИОПредставителя1 = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Фамилия), "",ДанныеПредставителяОрганизации1.Фамилия
+ ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Имя), "", " "+ ДанныеПредставителяОрганизации1.Имя)
+ ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Отчество), "", " "+ ДанныеПредставителяОрганизации1.Отчество));
ДанныеИсполнителя = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.Исполнитель, Шапка.ДатаАктаСверки);
ФИОИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Фамилия), "",ДанныеИсполнителя.Фамилия
+ ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Имя), "", " "+ ДанныеИсполнителя.Имя)
+ ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Отчество), "", " "+ ДанныеИсполнителя.Отчество));
ДанныеИсполнителя = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.Исполнитель, Шапка.ДатаАктаСверки);
ТелефонИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.НомерТелефона), "",ДанныеИсполнителя.НомерТелефона);
// )
ДанныеПредставителяКонтрагента = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Шапка.ПредставительКонтрагента, "Должность, Фамилия, Имя, Отчество"); // 1С-Минск.
ФИОПредставителя = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Фамилия), "",ДанныеПредставителяОрганизации.Фамилия
+ ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Имя), "", " "+ ДанныеПредставителяОрганизации.Имя)
+ ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Отчество), "", " "+ ДанныеПредставителяОрганизации.Отчество));
СтрЗаголовокТаблица = "Мы, нижеподписавшиеся, " + ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Должность),
"________________", ДанныеПредставителяОрганизации.Должность) + " " + ПредставлениеОрганизации
+ " " + ?(ФИОПредставителя <> "", ФИОПредставителя, "_______________________") + ", с одной стороны, "
+ "и " + ?(НЕ ЗначениеЗаполнено(Шапка.ПредставительКонтрагента) ИЛИ НЕ ЗначениеЗаполнено(ДанныеПредставителяКонтрагента.Должность),
"________________", ДанныеПредставителяКонтрагента.Должность)
+ " " + ПредставлениеКонтрагента + " " + ?(НЕ ЗначениеЗаполнено(Шапка.ПредставительКонтрагента),
"_______________________", Шапка.ПредставительКонтрагента) + ", с другой стороны, "
+ "составили настоящий акт сверки в том, что состояние взаимных расчетов по данным учета следующее:";
ОбластьЗаголовок.Параметры.СтрЗаголовокТаблица = СтрЗаголовокТаблица;
ОбластьЗаголовок.Параметры.ВалютаДокумента = Шапка.ВалютаДокумента;
ТабличныйДокумент.Вывести(ОбластьЗаголовок);
ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы);
ОбластьНачОстатки.Параметры.СуммаНачальныйОстатокДт = ?(Шапка.ОстатокНаНачало > 0, Шапка.ОстатокНаНачало, 0);
ОбластьНачОстатки.Параметры.СуммаНачальныйОстатокКт = ?(Шапка.ОстатокНаНачало < 0, -Шапка.ОстатокНаНачало, 0);
ТабличныйДокумент.Вывести(ОбластьНачОстатки);
ОборотыДт = Шапка.СуммаДогДт;
ОборотыКт = Шапка.СуммаДогКт;
ОборотыДтКонтр = Шапка.СуммаДогДтКонтр;
ОборотыКтКонтр = Шапка.СуммаДогКтКонтр;
ОбходПоДоговорам = Шапка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Договор");
Пока ОбходПоДоговорам.Следующий() Цикл
Если Шапка.РазбитьПоДоговорам Тогда
//Выводим заголовок с договором
ОбластьДоговор.Параметры.Договор = ОбходПоДоговорам.Договор;
ОбластьДоговор.Параметры.Регистратор = ОбходПоДоговорам.Договор;
ТабличныйДокумент.Вывести(ОбластьДоговор);
ОбходПоДокументам=ОбходПоДоговорам.Выбрать();
Иначе
ОбходПоДокументам=ОбходПоДоговорам.Выбрать();
КонецЕсли;
//Создадим список документов по организации и контрагенту
СписокДокументов = новый массив;
СписокДокументовК = новый массив;
Пока ОбходПоДокументам.Следующий() Цикл
Если ОбходПоДокументам.Дата<>NULL Тогда
СписокДокументов.Добавить(новый структура("ДатаДокумента, РегистраторПредставление, Регистратор, СуммаОборотДт, СуммаОборотКт",
ОбходПоДокументам.Дата,ОбходПоДокументам.Представление,ОбходПоДокументам.Документ,ОбходПоДокументам.СуммаДогДт,ОбходПоДокументам.СуммаДогКт));
КонецЕсли;
Если ОбходПоДокументам.ДатаК<>NULL Тогда
СписокДокументовК.Добавить(новый структура("ДатаДокументаКонтр,РегистраторПредставлениеКонтр,СуммаОборотДтКонтр,СуммаОборотКтКонтр",
ОбходПоДокументам.ДатаК,ОбходПоДокументам.ПредставлениеК,ОбходПоДокументам.СуммаДогДтКонтр,ОбходПоДокументам.СуммаДогКтКонтр));
КонецЕсли;
КонецЦикла;
//Для упрощения вывода, сравним списки по количеству элементов, добавив пустые
МаксИндекс = Макс(СписокДокументов.Количество(), СписокДокументовК.Количество())-1;
МинИндекс = Мин(СписокДокументов.Количество(), СписокДокументовК.Количество())-1;
Если СписокДокументов.Количество() < СписокДокументовК.Количество() Тогда
Для инд = МинИндекс По МаксИндекс-1 Цикл
СписокДокументов.Добавить(новый структура("ДатаДокумента,РегистраторПредставление,Регистратор,СуммаОборотДт,СуммаОборотКт","","","","",""));
КонецЦикла;
ИначеЕсли СписокДокументов.Количество() > СписокДокументовК.Количество() Тогда
Для инд = МинИндекс По МаксИндекс-1 Цикл
СписокДокументовК.Добавить(новый структура("ДатаДокументаКонтр,РегистраторПредставлениеКонтр,СуммаОборотДтКонтр,СуммаОборотКтКонтр","","","",""));
КонецЦикла;
КонецЕсли;
Для Инд = 0 По МаксИндекс Цикл
ОбластьОбороты.Параметры.Заполнить(СписокДокументов[Инд]);
ОбластьОбороты.Параметры.Заполнить(СписокДокументовК[Инд]);
ТабличныйДокумент.Вывести(ОбластьОбороты);
КонецЦикла;
Если Шапка.РазбитьПоДоговорам Тогда
//Выводим итоги по каждому договору
ОбластьДоговорИтоги.Параметры.Заполнить(ОбходПоДоговорам);
ТабличныйДокумент.Вывести(ОбластьДоговорИтоги);
Иначе
Прервать;
КонецЕсли;
КонецЦикла;
ОбластьОборотыИтог.Параметры.СуммаОборотДт = ОборотыДт;
ОбластьОборотыИтог.Параметры.СуммаОборотКт = ОборотыКт;
Если Шапка.СверкаСогласована тогда
ОбластьОборотыИтог.Параметры.СуммаОборотДтКонтр = ОборотыДтКонтр;
ОбластьОборотыИтог.Параметры.СуммаОборотКтКонтр = ОборотыКтКонтр;
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьОборотыИтог);
ОстатокНаКонец = Шапка.ОстатокНаНачало + ОборотыДт - ОборотыКт;
ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокДт = ?(ОстатокНаКонец > 0, ОстатокНаКонец, 0);
ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокКт = ?(ОстатокНаКонец < 0, -ОстатокНаКонец, 0);
Если Шапка.СверкаСогласована тогда
ОстатокНаКонецК = Шапка.ОстатокНаНачало - ОборотыДтКонтр + ОборотыКтКонтр;
ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокКтКонтр = ?(ОстатокНаКонецК > 0, ОстатокНаКонецК, 0);
ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокДтКонтр = ?(ОстатокНаКонецК < 0, -ОстатокНаКонецК, 0);
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьКонОстатки);
// Результаты сверки
Если НЕ ЗначениеЗаполнено(Шапка.ДатаОкончания) Тогда
РезультатыСверки = "<не указана дата сверки>";
ИначеЕсли НЕ ЗначениеЗаполнено(Шапка.Контрагент) Тогда
РезультатыСверки = "<не указан контрагент>";
Иначе
РезультатыСверки = "на " + Формат(Шапка.ДатаОкончания, "ДФ=dd.MM.yyyy") + " задолженность ";
Если ОстатокНаКонец > 0 Тогда
РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеОрганизации + " "
+ Формат(ОстатокНаКонец, "ЧЦ=21; ЧДЦ=2") + " "
+ строка(Шапка.ВалютаДокумента)
+" ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(ОстатокНаКонец, Шапка.ВалютаДокумента,Ложь)+")" ;
ИначеЕсли ОстатокНаКонец < 0 Тогда
РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеКонтрагента + " "
+ Формат(-ОстатокНаКонец, "ЧЦ=21; ЧДЦ=2") + " "
+ строка(Шапка.ВалютаДокумента)
+" ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(-ОстатокНаКонец, Шапка.ВалютаДокумента,Ложь)+")" ;
Иначе
РезультатыСверки = РезультатыСверки + "отсутствует.";
КонецЕсли;
КонецЕсли;
ОбластьПодвал.Параметры.РезультатыСверки = РезультатыСверки;
Если Шапка.СверкаСогласована тогда
ОбластьПодвал.Параметры.ПоДаннымКонтрагента = "По данным " + ПредставлениеКонтрагента;
Если НЕ ЗначениеЗаполнено(Шапка.ДатаОкончания) Тогда
РезультатыСверки = "<не указана дата сверки>";
ИначеЕсли НЕ ЗначениеЗаполнено(Шапка.Контрагент) Тогда
РезультатыСверки = "<не указан контрагент>";
Иначе
РезультатыСверки = "на " + Формат(Шапка.ДатаОкончания, "ДФ=dd.MM.yyyy") + " задолженность ";
Если ОстатокНаКонецК > 0 Тогда
РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеОрганизации + " "
+ Формат(ОстатокНаКонецК, "ЧЦ=21; ЧДЦ=2") + " "
+ строка(Шапка.ВалютаДокумента)
+ " ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(ОстатокНаКонецК, Шапка.ВалютаДокумента,Ложь)+")" ;
ИначеЕсли ОстатокНаКонецК < 0 Тогда
РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеКонтрагента + " "
+ Формат(-ОстатокНаКонецК, "ЧЦ=21; ЧДЦ=2") + " "
+ строка(Шапка.ВалютаДокумента)
+" ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(-ОстатокНаКонецК, Шапка.ВалютаДокумента,Ложь)+")" ;
Иначе
РезультатыСверки = РезультатыСверки + "отсутствует.";
КонецЕсли;
КонецЕсли;
ОбластьПодвал.Параметры.РезультатыСверкиК = РезультатыСверки;
Если Шапка.Расхождение <> 0 Тогда
ИтогСверки = "В результате сверки выявлено расхождение информации о состоянии расчетов в размере "
+ Формат(?(Шапка.Расхождение > 0, 1, -1) * Шапка.Расхождение, "ЧЦ=21; ЧДЦ=2")
+ " "+ Строка(Шапка.ВалютаДокумента)
+ " ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(
?(Шапка.Расхождение > 0, 1, -1) * Шапка.Расхождение, Шапка.ВалютаДокумента, Ложь)+")" ;
ОбластьПодвал.Параметры.ИтогСверки = Символы.ПС + ИтогСверки+Символы.ПС+" ";
КонецЕсли;
КонецЕсли;
ОбластьПодвал.Параметры.НазваниеОрганизации = ПредставлениеОрганизации;
ОбластьПодвал.Параметры.НаименованиеКонтрагента = ПредставлениеКонтрагента;
//выводит юридические адреса и телефоны
ОбластьПодвал.Параметры.ЮрАдресОрганизации = СведенияОбОрганизации.ЮридическийАдрес;
ОбластьПодвал.Параметры.ТелефонОрганизации = СведенияОбОрганизации.Телефоны;
//ОбластьПодвал.Параметры.ТелефонИсполнителя = СведенияОИсполнителе.НомерТелефона;
ОбластьПодвал.Параметры.ЮрАдресКонтрагента = СведенияОКонтрагенте.ЮридическийАдрес;
ОбластьПодвал.Параметры.ТелефонКонтрагента = СведенияОКонтрагенте.Телефоны;
ОбластьПодвал.Параметры.ИНН = СведенияОКонтрагенте.ИНН;
ОбластьПодвал.Параметры.Должность = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Должность),
"________________", ДанныеПредставителяОрганизации.Должность);
// (
ОбластьПодвал.Параметры.Должность1 = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Должность),
"________________", ДанныеПредставителяОрганизации1.Должность);
ОбластьПодвал.Параметры.ДолжностьИ = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Должность),
"________________", ДанныеИсполнителя.Должность);
ОбластьПодвал.Параметры.ТелефонИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.НомерТелефона),
"", ДанныеИсполнителя.НомерТелефона);
// )
ОбластьПодвал.Параметры.ДолжностьК = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяКонтрагента.Должность),
"________________", ДанныеПредставителяКонтрагента.Должность);
ОбластьПодвал.Параметры.ФИОПредставителя = "("+?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации),
"_______________________",ДанныеПредставителяОрганизации.Представление)+")";
// (
ОбластьПодвал.Параметры.ФИОПредставителя1 = "("+?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1),
"_______________________",ДанныеПредставителяОрганизации1.Представление)+")";
ОбластьПодвал.Параметры.ФИОИсполнителя = "("+?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя),
"_______________________",ДанныеИсполнителя.Представление)+")";
// )
ОбластьПодвал.Параметры.ФИОПредставителяК = "("+?(НЕ ЗначениеЗаполнено(Шапка.ПредставительКонтрагента),
"_______________________",ОбщегоНазначенияБПВызовСервера.ФамилияИнициалыФизЛица(
ДанныеПредставителяКонтрагента.Фамилия + " " + ДанныеПредставителяКонтрагента.Имя + " " + ДанныеПредставителяКонтрагента.Отчество))+")";
ТабличныйДокумент.Вывести(ОбластьПодвал);
// В табличном документе зададим имя области, в которую был
// выведен объект. Нужно для возможности печати покомплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент,
НомерСтрокиНачало, ОбъектыПечати, Шапка.АктСверкиСКонтрагентом);
КонецЦикла; // Пока Шапка.Следующий()
Возврат ТабличныйДокумент;
КонецФункции
Показать
(10) Не так, то что обращаетесь к табличной части. Нужно указать конкретно строку в табличной части, через точку не получится.
Надо так скорее всего так
Надо так скорее всего так
СтрокаСТелефоном = ДанныеИсполнителя.Найти(ВидКонтакнойИнформации,"НазваниеКолонки");
Если СтрокаСТелефоном <> Неопределено Тогда
Телефон = СтрокаСТелефоном.ИмяКолонкиСоЗначением;
КонецЕсли;
А вообще лучше сделайте отладку и поставьте точку остановки. И там все станет ясно, не только в данном случае, но и в будущем и не придется по каждой проблеме создавать тему "Почему не работает и как сделать правильно".
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот