Имя: Пароль:
1C
1С v8
v8: Неправильно отрабатывает типовая функция
,
0 Miss1C
 
26.09.12
11:43
Проверяю таб документ, помещается на листок или нет, типовой функцией
ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента();
Функция возвращает Ложь или Истину, в данном случае функция возвращает ложь, но через предварительный просмотр печатная форма влазит на листик, в чем подвох?

ВыводимыеОбласти = Новый Массив;
   ВыводимыеОбласти.Добавить(ОбластьЗаголовок);
   ВыводимыеОбласти.Добавить(ОбластьЗаголовок1);
   ВыводимыеОбласти.Добавить(ОбластьПоставщик);
   ВыводимыеОбласти.Добавить(ОбластьПоставщик1);
   ВыводимыеОбласти.Добавить(ОбластьПокупатель);
   ВыводимыеОбласти.Добавить(ОбластьПокупатель1);
   ВыводимыеОбласти.Добавить(ОбластьТовар);
   ВыводимыеОбласти.Добавить(ОбластьДанных);

   ТД = ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, ВыводимыеОбласти, Истина);
   
   Если ТД = Истина Тогда
       Сообщить("Таб документ вмещается на листок");
   Иначе
       Сообщить("Таб Документ не вмещается на листок");
   КонецЕсли;
1 DrShad
 
26.09.12
11:44
мало инфы
2 Miss1C
 
26.09.12
11:45
(1)Там огромная функция
3 Miss1C
 
26.09.12
11:45
(1)Кидать всю?)
4 DrShad
 
26.09.12
11:45
(2) поздравляю
5 Miss1C
 
26.09.12
11:48
Функция ГрупповаяОбработка(ТБ)Экспорт
   
   
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);
   Запрос.Текст ="
   |ВЫБРАТЬ
   | Номер,
   | Дата,
   | ДоговорКонтрагента,
   | ДоговорКонтрагента.ВидДоговора КАК ВидДоговораКонтрагента,
   | ДоговорКонтрагента.НаименованиеДляПечати КАК ДоговорНаименованиеДляПечати,
   | Организация,
   | Контрагент КАК Покупатель,
   | Организация КАК Поставщик,
   | Ответственный.ФизЛицо.Наименование КАК Выписал,
   | СуммаДокумента,
   | ВалютаДокумента,
   | УчитыватьНДС,
   | СуммаВключаетНДС
   |ИЗ
   | Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
   |
   |ГДЕ
   | СчетНаОплатуПокупателю.Ссылка = &ТекущийДокумент";
   
   ТБ.Очистить();
   Шапка1 = Запрос.Выполнить().Выбрать();
   ТабДокумент =  ТБ;
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_СчетЗаказ";
   
   Макет = ПолучитьМакет("СчетЗаказ");
   Макет.КодЯзыкаМакета = КодЯзыкаПечать;
   
   // Выводим шапку накладной
   
   //Если Тип = "Счет" Тогда
   //    ОбластьМакета       = Макет.ПолучитьОбласть("ЗаголовокСчета");
   //    ОбластьМакета.Параметры.Заполнить(ПараметрыПечати);
   //    Если НЕ ПараметрыПечати.ВалютаДокумента <> мВалютаРегламентированногоУчета Тогда
   //        ТабДокумент.Вывести(ОбластьМакета);
   //    КонецЕсли;
   //КонецЕсли;
   
   СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка1.Организация, Шапка1.Дата,,,КодЯзыкаПечать);
   
   Если ТипЗнч(СсылкаНаОбъект.СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда
       Банк = СсылкаНаОбъект.СтруктурнаяЕдиница.Банк;
       МФО = Банк.Код;
       НомерСчета = СсылкаНаОбъект.СтруктурнаяЕдиница.НомерСчета;
   Иначе
       // покажем банковские реквизиты основного счета организации
       Банк = СведенияОПоставщике.Банк;
       МФО = СведенияОПоставщике.МФО;
       НомерСчета = СведенияОПоставщике.НомерСчета;
   КонецЕсли;
   
   ПараметрыПечати =  ПолучитьПараметрыПечатиСчетаЗаказа("Заказ");
   
   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   ОбластьЗаголовок.Параметры.Заполнить(ПараметрыПечати);
   ТабДокумент.Вывести(ОбластьЗаголовок);
   
   ОбластьПоставщик = Макет.ПолучитьОбласть("Поставщик");
   СтрТ = НСтр("ru='Р/с ';uk='Р/р '",КодЯзыкаПечать) + НомерСчета + НСтр("ru=', Банк ';uk=', Банк '",КодЯзыкаПечать) + Банк + НСтр("ru=', МФО ';uk=', МФО '",КодЯзыкаПечать)+ МФО + Символы.ПС +
   ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ЮридическийАдрес,Телефоны,/,КодПоЕДРПОУ,КодПоДРФО,ИНН,НомерСвидетельства,/,ПлательщикНалогаНаПрибыль,",,КодЯзыкаПечать);
   Дан = ПараметрыПечати.ПредставлениеПоставщика + ", " + СтрТ;
   
   ОбластьПоставщик.Параметры.Заполнить(ПараметрыПечати);
   ОбластьПоставщик.Параметры.ПредставлениеПоставщика  = Дан;
   ТабДокумент.Вывести(ОбластьПоставщик);
   
   ОбластьПокупатель = Макет.ПолучитьОбласть("Покупатель");
   ОбластьПокупатель.Параметры.Заполнить(ПараметрыПечати);
   Если СсылкаНаОбъект.ТорговаяТочка <> Справочники.ТорговыеТочки.ПустаяСсылка() Тогда
       ОбластьПокупатель.Параметры.ПредставлениеПокупателя = ПараметрыПечати.ПредставлениеПолучателя + ". Торговая точка: " + Строка(СсылкаНаОбъект.ТорговаяТочка);
   Иначе
       ОбластьПокупатель.Параметры.ПредставлениеПокупателя = ПараметрыПечати.ПредставлениеПолучателя;
   КонецЕсли;
   ОбластьПокупатель.Параметры.РеквизитыПокупателя = "";
   ТабДокумент.Вывести(ОбластьПокупатель);
   //Если Тип = "Счет" Тогда
   //    // Выводим дополнительно информацию о договоре
   //    СписокДополнительныхПараметров = "ДоговорНаименованиеДляПечати,";
   //    МассивСтруктурСтрок = ФормированиеПечатныхФорм.ДополнительнаяИнформация(ПараметрыПечати,СписокДополнительныхПараметров,КодЯзыкаПечать);
   //    
   //    ОбластьМакета = Макет.ПолучитьОбласть("ДопИнформация");
   //    Для каждого СтруктураСтроки Из МассивСтруктурСтрок Цикл
   //        ОбластьМакета.Параметры.Заполнить(СтруктураСтроки);
   //    КонецЦикла;
   //КонецЕсли;                                      
   
   ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
   ОбластьКодов  = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
   ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные");
   ОбластьСкидок = Макет.ПолучитьОбласть("ШапкаТаблицы|Скидка");
   ОбластьСуммы  = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма");
   ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы|Товар");
   
   Если Не ПараметрыПечати.ВыводитьКоды И ПараметрыПечати.ЕстьСкидки Тогда
       ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы|ТоварБезКодов");
   ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И ПараметрыПечати.ВыводитьКоды Тогда
       ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы|ТоварБезСкидок");
   ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И НЕ ПараметрыПечати.ВыводитьКоды Тогда
       ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы|ТоварБезКодовИСкидок");
   КонецЕсли;
   
   ТабДокумент.Вывести(ОбластьНомера);
   Если ПараметрыПечати.ВыводитьКоды Тогда
       ОбластьКодов.Параметры.ИмяКолонкиКодов = ПараметрыПечати.ИмяКолонкиКодов;
       ТабДокумент.Присоединить(ОбластьКодов);
   КонецЕсли;
   Если СсылкаНаОбъект.ВидОперации = Перечисления.ВидыОперацийЗаказПокупателя.Переработка Тогда
       ОбластьТовар.Параметры.Товар = НСтр("ru='Продукция';uk='Продукція'",КодЯзыкаПечать);
   Иначе
       ОбластьТовар.Параметры.Товар = НСтр("ru='Товары (работы, услуги)';uk='Товари (роботи, послуги)'",КодЯзыкаПечать);
   КонецЕсли;
   Суффикс = "";
   Если ПараметрыПечати.УчитыватьНДС Тогда
       Если ПараметрыПечати.СуммаВключаетНДС Тогда
           Суффикс  = Суффикс  + НСтр("ru=' с ';uk=' з '",КодЯзыкаПечать);
       Иначе
           Суффикс  = Суффикс  + НСтр("ru=' без ';uk=' без '",КодЯзыкаПечать);
       КонецЕсли;
       Суффикс = Суффикс  + НСтр("ru='НДС';uk='ПДВ'",КодЯзыкаПечать);
   КонецЕсли;
   
   ОбластьСуммы.Параметры.Сумма = НСтр("ru='Сумма';uk='Сума'",КодЯзыкаПечать)+ Суффикс;
   ОбластьДанных.Параметры.Цена  = НСтр("ru='Цена';uk='Ціна'",КодЯзыкаПечать) + Суффикс;
   
   ТабДокумент.Присоединить(ОбластьТовар);
   ТабДокумент.Присоединить(ОбластьДанных);
   Если ПараметрыПечати.ЕстьСкидки Тогда
       ТабДокумент.Присоединить(ОбластьСкидок);
   КонецЕсли;
   ТабДокумент.Присоединить(ОбластьСуммы);
   
   // Увеличим ширину колонки Товар на ширину неиспользуемых колонок
   ОбластьКолонкаТовар = Макет.Область("Товар");
   Если Не ПараметрыПечати.ВыводитьКоды И ПараметрыПечати.ЕстьСкидки Тогда
       ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки * 1.5;
   ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И ПараметрыПечати.ВыводитьКоды Тогда
       ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки * 2.125;
   ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И НЕ ПараметрыПечати.ВыводитьКоды Тогда
       ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки * 2.625;
   КонецЕсли;
   
   ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки");
   ОбластьКодов  = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
   ОбластьДанных = Макет.ПолучитьОбласть("Строка|Данные");
   ОбластьСкидок = Макет.ПолучитьОбласть("Строка|Скидка");
   ОбластьСуммы  = Макет.ПолучитьОбласть("Строка|Сумма");
   
   ОбластьТовар = Макет.ПолучитьОбласть("Строка|Товар");
   Если Не ПараметрыПечати.ВыводитьКоды И ПараметрыПечати.ЕстьСкидки Тогда
       ОбластьТовар = Макет.ПолучитьОбласть("Строка|ТоварБезКодов");
   ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И ПараметрыПечати.ВыводитьКоды Тогда
       ОбластьТовар = Макет.ПолучитьОбласть("Строка|ТоварБезСкидок");
   ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И НЕ ПараметрыПечати.ВыводитьКоды Тогда
       ОбластьТовар = Макет.ПолучитьОбласть("Строка|ТоварБезКодовИСкидок");
   КонецЕсли;
   
   Для каждого ПараметрыПозиции Из ПараметрыПечати.Позиции Цикл
       
       Если НЕ ЗначениеЗаполнено(ПараметрыПозиции.Номенклатура) Тогда
           Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
           Продолжить;
       КонецЕсли;
       
       ОбластьНомера.Параметры.Заполнить(ПараметрыПозиции);
       ТабДокумент.Вывести(ОбластьНомера);
       
       Если ПараметрыПечати.ВыводитьКоды Тогда
           ОбластьКодов.Параметры.Заполнить(ПараметрыПозиции);
           ТабДокумент.Присоединить(ОбластьКодов);
       КонецЕсли;
       
       ОбластьТовар.Параметры.Заполнить(ПараметрыПозиции);
       ТабДокумент.Присоединить(ОбластьТовар);
       ОбластьДанных.Параметры.Заполнить(ПараметрыПозиции);
       ТабДокумент.Присоединить(ОбластьДанных);
       
       Если ПараметрыПечати.ЕстьСкидки Тогда
           ОбластьСкидок.Параметры.Заполнить(ПараметрыПозиции);
           ТабДокумент.Присоединить(ОбластьСкидок);
       КонецЕсли;
       
       ОбластьСуммы.Параметры.Заполнить(ПараметрыПозиции);
       ТабДокумент.Присоединить(ОбластьСуммы);
       
   КонецЦикла;

   // Вывести Итого
   ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки");
   ОбластьКодов  = Макет.ПолучитьОбласть("Итого|КолонкаКодов");
   ОбластьДанных = Макет.ПолучитьОбласть("Итого|Данные");
   ОбластьСкидок = Макет.ПолучитьОбласть("Итого|Скидка");
   ОбластьСуммы  = Макет.ПолучитьОбласть("Итого|Сумма");
   
   ОбластьТовар = Макет.ПолучитьОбласть("Итого|Товар");
   Если Не ПараметрыПечати.ВыводитьКоды И ПараметрыПечати.ЕстьСкидки Тогда
       ОбластьТовар = Макет.ПолучитьОбласть("Итого|ТоварБезКодов");
   ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И ПараметрыПечати.ВыводитьКоды Тогда
       ОбластьТовар = Макет.ПолучитьОбласть("Итого|ТоварБезСкидок");
   ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И НЕ ПараметрыПечати.ВыводитьКоды Тогда
       ОбластьТовар = Макет.ПолучитьОбласть("Итого|ТоварБезКодовИСкидок");
   КонецЕсли;
   
   ТабДокумент.Вывести(ОбластьНомера);
   Если ПараметрыПечати.ВыводитьКоды Тогда
       ТабДокумент.Присоединить(ОбластьКодов);
   КонецЕсли;
   ТабДокумент.Присоединить(ОбластьТовар);
   ТабДокумент.Присоединить(ОбластьДанных);
   Если ПараметрыПечати.ЕстьСкидки Тогда
       ОбластьСкидок.Параметры.Заполнить(ПараметрыПечати);
       ТабДокумент.Присоединить(ОбластьСкидок);
   КонецЕсли;
   ОбластьСуммы.Параметры.Заполнить(ПараметрыПечати);
   ТабДокумент.Присоединить(ОбластьСуммы);
   
   // Вывести ИтогоНДС
   Если ПараметрыПечати.УчитыватьНДС Тогда
       ОбластьНомера = Макет.ПолучитьОбласть("ИтогоНДС|НомерСтроки");
       ОбластьКодов  = Макет.ПолучитьОбласть("ИтогоНДС|КолонкаКодов");
       ОбластьДанных = Макет.ПолучитьОбласть("ИтогоНДС|Данные");
       ОбластьСкидок = Макет.ПолучитьОбласть("ИтогоНДС|Скидка");
       ОбластьСуммы  = Макет.ПолучитьОбласть("ИтогоНДС|Сумма");
       
       ОбластьТовар = Макет.ПолучитьОбласть("ИтогоНДС|Товар");
       Если Не ПараметрыПечати.ВыводитьКоды И ПараметрыПечати.ЕстьСкидки Тогда
           ОбластьТовар = Макет.ПолучитьОбласть("ИтогоНДС|ТоварБезКодов");
       ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И ПараметрыПечати.ВыводитьКоды Тогда
           ОбластьТовар = Макет.ПолучитьОбласть("ИтогоНДС|ТоварБезСкидок");
       ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И НЕ ПараметрыПечати.ВыводитьКоды Тогда
           ОбластьТовар = Макет.ПолучитьОбласть("ИтогоНДС|ТоварБезКодовИСкидок");
       КонецЕсли;
       
       ТабДокумент.Вывести(ОбластьНомера);
       Если ПараметрыПечати.ВыводитьКоды Тогда
           ТабДокумент.Присоединить(ОбластьКодов);
       КонецЕсли;
       ОбластьТовар.Параметры.Заполнить(ПараметрыПечати);
       ТабДокумент.Присоединить(ОбластьТовар);
       ОбластьДанных.Параметры.Заполнить(ПараметрыПечати);
       ТабДокумент.Присоединить(ОбластьДанных);
       Если ПараметрыПечати.ЕстьСкидки Тогда
           ТабДокумент.Присоединить(ОбластьСкидок);
       КонецЕсли;
       ОбластьСуммы.Параметры.Заполнить(ПараметрыПечати);
       ТабДокумент.Присоединить(ОбластьСуммы);
       
       // добавим строку с итоговой суммой, в случае когда НДС не входит в сумму
       Если НЕ ПараметрыПечати.СуммаВключаетНДС Тогда
           ОбластьНомера = Макет.ПолучитьОбласть("ИтогоДополнительно|НомерСтроки");
           ОбластьКодов  = Макет.ПолучитьОбласть("ИтогоДополнительно|КолонкаКодов");
           ОбластьДанных = Макет.ПолучитьОбласть("ИтогоДополнительно|Данные");
           ОбластьСкидок = Макет.ПолучитьОбласть("ИтогоДополнительно|Скидка");
           ОбластьСуммы  = Макет.ПолучитьОбласть("ИтогоДополнительно|Сумма");
           
           ТабДокумент.Вывести(ОбластьНомера);
           Если ПараметрыПечати.ВыводитьКоды Тогда
               ТабДокумент.Присоединить(ОбластьКодов);
           КонецЕсли;
           ТабДокумент.Присоединить(ОбластьТовар);
           ОбластьДанных.Параметры.Подпись = НСтр("ru='Всего с НДС:';uk='Усього з ПДВ:'",КодЯзыкаПечать);
           ТабДокумент.Присоединить(ОбластьДанных);
           Если ПараметрыПечати.ЕстьСкидки Тогда
               ТабДокумент.Присоединить(ОбластьСкидок);
           КонецЕсли;
           ОбластьСуммы.Параметры.Сумма = ЗаполнениеДокументов.ФорматСумм(Число(ПараметрыПечати.Всего) + Число(ПараметрыПечати.ВсегоНДС));
           ТабДокумент.Присоединить(ОбластьСуммы);
       КонецЕсли;
   КонецЕсли;
   
   // выведем таблицу с возвратной тарой
   Если ЗапросТара.Количество() > 0 Тогда
       // сделаем отступ от основной таблицы
       ОбластьПробел = Макет.ПолучитьОбласть("Пробел");
       ТабДокумент.Вывести(ОбластьПробел);
       
       ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицыТара|НомерСтрокиТара");
       ОбластьКодов  = Макет.ПолучитьОбласть("ШапкаТаблицыТара|КолонкаКодовТара");
       ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицыТара|ДанныеТара");
       ОбластьСуммы  = Макет.ПолучитьОбласть("ШапкаТаблицыТара|СуммаТара");
       
       ТабДокумент.Вывести(ОбластьНомера);
       Если ПараметрыПечати.ВыводитьКоды Тогда
           ОбластьКодов.Параметры.ИмяКолонкиКодов = ПараметрыПечати.ИмяКолонкиКодов;
           ТабДокумент.Присоединить(ОбластьКодов);
       КонецЕсли;
       
       ТабДокумент.Присоединить(ОбластьДанных);
       ТабДокумент.Присоединить(ОбластьСуммы);
       
       Если Не ПараметрыПечати.ВыводитьКоды Тогда
           ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
           Макет.Область("КолонкаКодовТара").ШиринаКолонки;
       КонецЕсли;
       
       
       ОбластьНомера = Макет.ПолучитьОбласть("СтрокаТара|НомерСтрокиТара");
       ОбластьКодов  = Макет.ПолучитьОбласть("СтрокаТара|КолонкаКодовТара");
       ОбластьДанных = Макет.ПолучитьОбласть("СтрокаТара|ДанныеТара");
       ОбластьСуммы  = Макет.ПолучитьОбласть("СтрокаТара|СуммаТара");
       
       СуммаТара    = 0;
       
       Для каждого ВыборкаСтрокТара Из ЗапросТара Цикл
           
           Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТара.Номенклатура) Тогда
               Сообщить("В одной из строк не заполнено значение тары - строка при печати пропущена.", СтатусСообщения.Важное);
               Продолжить;
           КонецЕсли;
           
           ОбластьНомера.Параметры.НомерСтроки = ЗапросТара.Индекс(ВыборкаСтрокТара) + 1;
           ТабДокумент.Вывести(ОбластьНомера);
           
           Если ПараметрыПечати.ВыводитьКоды Тогда
               Если ПараметрыПечати.ИмяКолонкиКодов = "Артикул" Тогда
                   ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Артикул;
               Иначе
                   ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Код;
               КонецЕсли;
               ТабДокумент.Присоединить(ОбластьКодов);
           КонецЕсли;
           
           ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТара);
           ОбластьДанных.Параметры.Товар = СокрП(ВыборкаСтрокТара.Товар);
           ТабДокумент.Присоединить(ОбластьДанных);
           
           ОбластьСуммы.Параметры.Заполнить(ВыборкаСтрокТара);
           ТабДокумент.Присоединить(ОбластьСуммы);
           
           СуммаТара = СуммаТара + ВыборкаСтрокТара.Сумма;
           
       КонецЦикла;
       
       // Вывести Итого
       ОбластьНомера = Макет.ПолучитьОбласть("ИтогоТара|НомерСтрокиТара");
       ОбластьКодов  = Макет.ПолучитьОбласть("ИтогоТара|КолонкаКодовТара");
       ОбластьДанных = Макет.ПолучитьОбласть("ИтогоТара|ДанныеТара");
       ОбластьСуммы  = Макет.ПолучитьОбласть("ИтогоТара|СуммаТара");
       
       ТабДокумент.Вывести(ОбластьНомера);
       Если ПараметрыПечати.ВыводитьКоды Тогда
           ТабДокумент.Присоединить(ОбластьКодов);
       КонецЕсли;
       ТабДокумент.Присоединить(ОбластьДанных);
       ОбластьСуммы.Параметры.Всего = ЗаполнениеДокументов.ФорматСумм(СуммаТара);
       ТабДокумент.Присоединить(ОбластьСуммы);
       
       // сделаем отступ
       ТабДокумент.Вывести(ОбластьПробел);
   КонецЕсли;
   ЗапросТара=0;
   
   // Вывести Сумму прописью
   ОбластьСуммаПрописью = Макет.ПолучитьОбласть("СуммаПрописью");
   ОбластьСуммаПрописью.Параметры.Заполнить(ПараметрыПечати);
   ТабДокумент.Вывести(ОбластьСуммаПрописью);
   
   // Вывести подписи
   ОбластьПодвал = Макет.ПолучитьОбласть("ПодвалЗаказа");
       
   ФИО = ПараметрыСеанса.ТекущийПользователь.ПолучитьОбъект();
   Сотр = Справочники.Пользователи.НайтиПоНаименованию(ФИО,Истина);

   ОбластьПодвал.Параметры.Заполнить(ПараметрыПечати);
   
   Запрос = Новый Запрос;
   Запрос.Текст="
   |Выбрать Родитель, Ссылка, ЭтоГруппа, ЗначениеНастроек.Значение Из ПланВидовХарактеристик.НастройкиПользователей КАК Настройки
   |ЛЕВОЕ СОЕДИНЕНИЕ
   |РегистрСведений.НастройкиПользователей КАК ЗначениеНастроек
   |ПО ЗначениеНастроек.Настройка=Настройки.Ссылка
   |И  ЗначениеНастроек.Пользователь=&Пользователь
   |ГДЕ не ПометкаУдаления
   |УПОРЯДОЧИТЬ По Настройки.ЭтоГруппа ИЕРАРХИЯ, Настройки.Наименование
   |";
   Запрос.УстановитьПараметр("Пользователь", Сотр);
   Выборка = Запрос.Выполнить().Выгрузить();
   
   Для Каждого Стр Из Выборка Цикл
       Если Стр.Ссылка.Наименование = "Основной ответственный" Тогда
           
           ОбластьПодвал.Параметры.ФИОИсполнителя = Стр.Значение.Наименование;
           
       КонецЕсли;
   КонецЦикла;
   
   ТабДокумент.Вывести(ОбластьПодвал);    
   
   ///////////////////////////////////////////////// Счет /////////////////////////////////////////////////////
   
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);
   Запрос.УстановитьПараметр("ПустойКонтрагент", Справочники.Контрагенты.ПустаяСсылка());
   Запрос.Текст ="
   |ВЫБРАТЬ
   |    Номер,
   |    Дата,
   |    ДоговорКонтрагента,
   |    Организация,
   |    Ответственный.ФизЛицо.Наименование КАК ФИОИсполнителя,
   |    Ответственный.ФизЛицо.Наименование КАК Выписал,
   |    КонтактноеЛицоКонтрагента.Наименование КАК ФИОЗаказчика,    
   |    Контрагент КАК Получатель,
   |    ВЫБОР КОГДА Грузоотправитель = &ПустойКонтрагент
   |          ТОГДА Организация
   |          ИНАЧЕ Грузоотправитель КОНЕЦ КАК Грузоотправитель,
   |    ВЫБОР КОГДА Грузополучатель = &ПустойКонтрагент
   |          ТОГДА Контрагент
   |          ИНАЧЕ Грузополучатель КОНЕЦ КАК Грузополучатель,
   |    Организация КАК Руководители,
   |    Организация КАК Поставщик,
   |    СуммаДокумента,
   |    ВалютаДокумента,
   |    УчитыватьНДС,
   |    СуммаВключаетНДС
   |ИЗ
   |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
   |
   |ГДЕ
   |    ЗаказПокупателя.Ссылка = &ТекущийДокумент";
   
   Шапка = Запрос.Выполнить().Выбрать();
   Шапка.Следующий();
       
   СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("ЗаказПокупателя");
   СтрокаВыборкиКорректировкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("КорректировкаЗаказаПокупателя");
   
   Запрос = Новый Запрос;
   ТекстЗапроса = "
   |ВЫБРАТЬ
   |    ВложенныйЗапрос.НомерТЧ,
   |    ВложенныйЗапрос.Номенклатура,
   |    ВложенныйЗапрос.НаименованиеПолное,
   |    ВложенныйЗапрос.Номенклатура.Артикул            КАК Артикул,
   |    ВложенныйЗапрос.Номенклатура.Код                КАК Код,
   |    СУММА(ВложенныйЗапрос.Количество)               КАК КоличествоТовара,
   |    ВложенныйЗапрос.ЕдиницаИзмерения                КАК ЕдиницаИзмерения,
   |    ВложенныйЗапрос.ПроцентСкидкиНаценки
   |    + ВложенныйЗапрос.ПроцентАвтоматическихСкидок   КАК Скидка,
   |    СУММА(ВложенныйЗапрос.СуммаНДС)                 КАК СуммаНДС,
   |    ВложенныйЗапрос.Цена                            КАК Цена,
   |    СУММА(ВложенныйЗапрос.Сумма)                    КАК Сумма,
   |    ВложенныйЗапрос.ХарактеристикаНоменклатуры      КАК Характеристика,
   |    NULL                                            КАК Серия
   |ИЗ
   |
   |(
   |ВЫБРАТЬ
   |        ЗаказПокупателя.Номенклатура                КАК Номенклатура,
   |        ВЫРАЗИТЬ (ЗаказПокупателя.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК НаименованиеПолное,
   |        ЗаказПокупателя.ЕдиницаИзмерения            КАК ЕдиницаИзмерения,
   |        ЗаказПокупателя.Цена                        КАК Цена,
   |        ЗаказПокупателя.ПроцентСкидкиНаценки        КАК ПроцентСкидкиНаценки,
   |        ЗаказПокупателя.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
   |        ЗаказПокупателя.ХарактеристикаНоменклатуры  КАК ХарактеристикаНоменклатуры,
   |        ЗаказПокупателя.СуммаНДС                    КАК СуммаНДС,
   |        ЗаказПокупателя.Сумма                       КАК Сумма,
   |        ЗаказПокупателя.Количество                  КАК Количество,
   |        (1)                                         КАК НомерТЧ
   |    ИЗ
   |        Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателя
   |
   |    ГДЕ
   |        ЗаказПокупателя.Ссылка = &ТекущийДокумент
   |
   |ОБЪЕДИНИТЬ ВСЕ
   |
   |ВЫБРАТЬ
   |        КорректировкаЗаказаПокупателя.Номенклатура               КАК Номенклатура,
   |        ВЫРАЗИТЬ (КорректировкаЗаказаПокупателя.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК НаименованиеПолное,
   |        КорректировкаЗаказаПокупателя.ЕдиницаИзмерения           КАК ЕдиницаИзмерения,
   |        КорректировкаЗаказаПокупателя.Цена                       КАК Цена,
   |        КорректировкаЗаказаПокупателя.ПроцентСкидкиНаценки       КАК ПроцентСкидкиНаценки,
   |        КорректировкаЗаказаПокупателя.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
   |        КорректировкаЗаказаПокупателя.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   |        КорректировкаЗаказаПокупателя.СуммаНДС                   КАК СуммаНДС,
   |        КорректировкаЗаказаПокупателя.Сумма                      КАК Сумма,
   |        КорректировкаЗаказаПокупателя.Количество                 КАК Количество,
   |       (1)                                                       КАК НомерТЧ
   |    ИЗ
   |        Документ.КорректировкаЗаказаПокупателя.Товары КАК КорректировкаЗаказаПокупателя
   |
   |    ГДЕ
   |        КорректировкаЗаказаПокупателя.Ссылка.ЗаказПокупателя = &ТекущийДокумент
   |        И КорректировкаЗаказаПокупателя.Ссылка.Проведен      = Истина
   |
   |ОБЪЕДИНИТЬ ВСЕ
   |
   |ВЫБРАТЬ
   |        ЗаказПокупателя.Номенклатура                         КАК Номенклатура,
   |        " + СтрокаВыборкиПоляСодержания + "                  КАК НаименованиеПолное,
   |        ЗаказПокупателя.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
   |        ЗаказПокупателя.Цена                                 КАК Цена,
   |        ЗаказПокупателя.ПроцентСкидкиНаценки                 КАК ПроцентСкидкиНаценки,
   |        ЗаказПокупателя.ПроцентАвтоматическихСкидок          КАК ПроцентАвтоматическихСкидок,
   |        NULL                                                 КАК ХарактеристикаНоменклатуры,
   |        ЗаказПокупателя.СуммаНДС                             КАК СуммаНДС,
   |        ЗаказПокупателя.Сумма                                КАК Сумма,
   |        ЗаказПокупателя.Количество                           КАК Количество,
   |        (2)                                                  КАК НомерТЧ
   |    ИЗ
   |        Документ.ЗаказПокупателя.Услуги КАК ЗаказПокупателя
   |
   |    ГДЕ
   |        ЗаказПокупателя.Ссылка = &ТекущийДокумент
   |
   |ОБЪЕДИНИТЬ ВСЕ
   |
   |ВЫБРАТЬ
   |        КорректировкаЗаказаПокупателя.Номенклатура                         КАК Номенклатура,
   |" + СтрокаВыборкиКорректировкиПоляСодержания + "                           КАК НаименованиеПолное,
   |        КорректировкаЗаказаПокупателя.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
   |        КорректировкаЗаказаПокупателя.Цена                                 КАК Цена,
   |        КорректировкаЗаказаПокупателя.ПроцентСкидкиНаценки                 КАК ПроцентСкидкиНаценки,
   |        0                                                                  КАК ПроцентАвтоматическихСкидок,
   |        NULL                                                               КАК ХарактеристикаНоменклатуры,
   |        КорректировкаЗаказаПокупателя.СуммаНДС                             КАК СуммаНДС,
   |        КорректировкаЗаказаПокупателя.Сумма                                КАК Сумма,
   |        КорректировкаЗаказаПокупателя.Количество                           КАК Количество,
   |        (2)                                                                КАК НомерТЧ
   |    ИЗ
   |        Документ.КорректировкаЗаказаПокупателя.Услуги КАК КорректировкаЗаказаПокупателя
   |
   |    ГДЕ
   |        КорректировкаЗаказаПокупателя.Ссылка.ЗаказПокупателя = &ТекущийДокумент
   |        И КорректировкаЗаказаПокупателя.Ссылка.Проведен      = Истина
   |";
   
   //Если Тип <> "Счет" Тогда
       ТекстЗапроса = ТекстЗапроса +
       "
       |ОБЪЕДИНИТЬ ВСЕ
       |ВЫБРАТЬ
       |        ЗаказПокупателя.Номенклатура                КАК Номенклатура,
       |        ВЫРАЗИТЬ (ЗаказПокупателя.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК НаименованиеПолное,
       |        ЗаказПокупателя.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
       |        ЗаказПокупателя.Цена                        КАК Цена,
       |        0                                            КАК ПроцентСкидкиНаценки,
       |        0                                            КАК ПроцентАвтоматическихСкидок,
       |        NULL                                        КАК ХарактеристикаНоменклатуры,
       |        0                                            КАК СуммаНДС,
       |        ЗаказПокупателя.Сумма                       КАК Сумма,
       |        ЗаказПокупателя.Количество                  КАК Количество,
       |        (3)                                         КАК НомерТЧ
       |    ИЗ
       |        Документ.ЗаказПокупателя.ВозвратнаяТара КАК ЗаказПокупателя
       |
       |    ГДЕ
       |        ЗаказПокупателя.Ссылка = &ТекущийДокумент
       |
       |ОБЪЕДИНИТЬ ВСЕ
       |
       |ВЫБРАТЬ
       |        КорректировкаЗаказаПокупателя.Номенклатура               КАК Номенклатура,
       |        ВЫРАЗИТЬ (КорректировкаЗаказаПокупателя.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК НаименованиеПолное,
       |        КорректировкаЗаказаПокупателя.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
       |        КорректировкаЗаказаПокупателя.Цена                       КАК Цена,
       |        0                                                         КАК ПроцентСкидкиНаценки,
       |        0                                                         КАК ПроцентАвтоматическихСкидок,
       |        NULL                                                     КАК ХарактеристикаНоменклатуры,
       |        0                                                         КАК СуммаНДС,
       |        КорректировкаЗаказаПокупателя.Сумма                      КАК Сумма,
       |        КорректировкаЗаказаПокупателя.Количество                 КАК Количество,
       |       (3)                                                       КАК НомерТЧ
       |    ИЗ
       |       &n
6 Птах
 
26.09.12
11:48
(3) Кидай базу :)
7 shamannk
 
26.09.12
11:48
В предварительном просмотре 2ой лист пустой?
8 Miss1C
 
26.09.12
11:49
У меня на внешней обработке
9 Miss1C
 
26.09.12
11:49
(7)Его нет
10 Miss1C
 
26.09.12
11:52
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн