Имя: Пароль:
1C
1С v8
Инвентаризация ОС Макет ИНВ-1
0 anisa8310
 
25.12.12
09:48
1С:Предприятие 8.2 (8.2.16.368)
Бухгалтерия предприятия, редакция 2.0 (2.0.40.11)

В макете печ. формы ИНВ-1, не отображаются МОЛ и члены комиссии.
В документе "мол" в табличной части "Основное средство"-имеется, кроме того члены комиссии так же присутствуют с табличной части "Инвентаризационная комиссия".
Не могу понять почему они в печ форму не попадают, смотрела код
1 anisa8310
 
25.12.12
09:48
Функция ПечатьИНВ1() Экспорт
   
   // Создаем колонки Таблицы итогов
   ТаблицаИтогов = Новый ТаблицаЗначений();
   ТаблицаИтогов.Колонки.Добавить("ПорядковыйНомерИтогов");
   ТаблицаИтогов.Колонки.Добавить("ИтогНаличиеФактическое");
   ТаблицаИтогов.Колонки.Добавить("ИтогСтоимостьФактическая");
   ТаблицаИтогов.Колонки.Добавить("ИтогНаличиеПоДаннымУчета");
   ТаблицаИтогов.Колонки.Добавить("ИтогСтоимостьПоДаннымУчета");
   ТаблицаИтогов.Колонки.Добавить("КоличествоФактическоеПрописью");
   ТаблицаИтогов.Колонки.Добавить("СтоимостьФактическаяПрописью");
   
   // Варианты заголовков разделов с подписями печатной формы    
   ЗаголовокРазделаПодписей = Новый Структура();
   ЗаголовокРазделаПодписей.Вставить("МОЛ",                  "Лицо(а), ответственное(ые) за сохранность основных средств:");
   ЗаголовокРазделаПодписей.Вставить("ПредседательКомиссии", "Председатель комиссии");
   ЗаголовокРазделаПодписей.Вставить("ЧленыКомиссии",        "Члены комиссии");
   ЗаголовокРазделаПодписей.Вставить("Проверяющий",          "Указанные в настоящей описи данные и расчеты проверил");
   
   Запрос = Новый Запрос();
   Запрос.УстановитьПараметр("Ссылка", Ссылка);
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ИнвентаризацияОС.Дата КАК Дата,
   |    ИнвентаризацияОС.Номер КАК Номер,
   |    ИнвентаризацияОС.Организация КАК Организация,
   |    ИнвентаризацияОС.ПодразделениеОрганизации.Представление КАК ПодразделениеПредставление,
   |    ИнвентаризацияОС.ДатаНачалаИнвентаризации КАК ДатаНачалаИнвентаризации,
   |    ИнвентаризацияОС.ДатаОкончанияИнвентаризации КАК ДатаОкончанияИнвентаризации,
   |    ИнвентаризацияОС.ДокументОснованиеВид КАК ДокументОснованиеВид,
   |    ИнвентаризацияОС.ДокументОснованиеДата КАК ДокументОснованиеДата,
   |    ИнвентаризацияОС.ДокументОснованиеНомер КАК ДокументОснованиеНомер
   |ИЗ
   |    Документ.ИнвентаризацияОС КАК ИнвентаризацияОС
   |ГДЕ
   |    ИнвентаризацияОС.Ссылка = &Ссылка";
   
   Док = Запрос.Выполнить().Выбрать();
   Док.Следующий();
   
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ИнвентаризацияОСИнвентаризационнаяКомиссия.ФизЛицо КАК ФизЛицо,
   |    ИнвентаризацияОСИнвентаризационнаяКомиссия.Председатель КАК Председатель
   |ИЗ
   |    Документ.ИнвентаризацияОС.ИнвентаризационнаяКомиссия КАК ИнвентаризацияОСИнвентаризационнаяКомиссия
   |ГДЕ
   |    ИнвентаризацияОСИнвентаризационнаяКомиссия.Ссылка = &Ссылка
   |
   |УПОРЯДОЧИТЬ ПО
   |    ИнвентаризацияОСИнвентаризационнаяКомиссия.НомерСтроки";
   
   ТаблицаИнвентаризационнаяКомиссия = Запрос.Выполнить().Выгрузить();
   
   Запрос = Новый Запрос();
   Запрос.УстановитьПараметр("Ссылка",      Ссылка);
   Запрос.УстановитьПараметр("Организация", Док.Организация);
   Запрос.УстановитьПараметр("Дата",        Док.Дата);
   Запрос.Текст =
   "ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    ИнвентаризацияОСОС.НомерСтроки КАК НомерСтроки,
   |    ИнвентаризацияОСОС.ОсновноеСредство КАК ОсновноеСредство,
   |    ВЫБОР
   |        КОГДА ИнвентаризацияОСОС.ОсновноеСредство.НаименованиеПолное ПОДОБНО """"
   |            ТОГДА ИнвентаризацияОСОС.ОсновноеСредство.Наименование
   |        ИНАЧЕ ИнвентаризацияОСОС.ОсновноеСредство.НаименованиеПолное
   |    КОНЕЦ КАК ОсновноеСредствоНаименованиеПолное,
   |    ИнвентаризацияОСОС.ОсновноеСредство.ДатаВыпуска КАК ДатаВыпуска,
   |    ИнвентаризацияОСОС.ОсновноеСредство.ЗаводскойНомер КАК ЗаводскойНомер,
   |    ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ИнвентарныйНомер КАК ИнвентарныйНомер,
   |    ИнвентаризацияОСОС.ОсновноеСредство.НомерПаспорта КАК НомерПаспорта,
   |    ИнвентаризацияОСОС.СтоимостьПоДаннымУчета КАК СтоимостьПоДаннымУчета,
   |    ИнвентаризацияОСОС.СтоимостьФактическая КАК СтоимостьФактическая,
   |    ВЫБОР
   |        КОГДА ИнвентаризацияОСОС.НаличиеПоДаннымУчета = ИСТИНА
   |            ТОГДА 1
   |        ИНАЧЕ 0
   |    КОНЕЦ КАК НаличиеПоДаннымУчета,
   |    ВЫБОР
   |        КОГДА ИнвентаризацияОСОС.НаличиеФактическое = ИСТИНА
   |            ТОГДА 1
   |        ИНАЧЕ 0
   |    КОНЕЦ КАК НаличиеФактическое
   |ИЗ
   |    Документ.ИнвентаризацияОС.ОС КАК ИнвентаризацияОСОС
   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.СрезПоследних(
   |        &Дата,
   |        Организация = &Организация
   |            И ОсновноеСредство В
   |                (ВЫБРАТЬ
   |                    ИнвентаризацияОСОС.ОсновноеСредство
   |                ИЗ
   |                    Документ.ИнвентаризацияОС.ОС КАК ИнвентаризацияОСОС
   |                ГДЕ
   |                    ИнвентаризацияОСОС.Ссылка = &Ссылка)) КАК ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних
   |        ПО ИнвентаризацияОСОС.ОсновноеСредство = ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство
   |ГДЕ
   |    ИнвентаризацияОСОС.Ссылка = &Ссылка
   |
   |УПОРЯДОЧИТЬ ПО
   |    НомерСтроки";
   ТаблицаОС = Запрос.Выполнить().Выгрузить();
   
   Макет = ПолучитьМакет("ИНВ1");
   
   // Получаем области макета для вывода в табличный документ
   Шапка            = Макет.ПолучитьОбласть("Шапка");
   Расписка         = Макет.ПолучитьОбласть("Расписка");
   Примечание       = Макет.ПолучитьОбласть("Примечание");
   Подпись          = Макет.ПолучитьОбласть("Подпись");
   ПолеДаты         = Макет.ПолучитьОбласть("ПолеДаты");
   ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
   ИтогоПоСтранице  = Макет.ПолучитьОбласть("ИтогоПоСтранице");    
   ИтогоПоОписи     = Макет.ПолучитьОбласть("ИтогоПоОписи");
   Итоги            = Макет.ПолучитьОбласть("Итоги");    
   Подсчеты         = Макет.ПолучитьОбласть("Подсчеты");    
   Претензии        = Макет.ПолучитьОбласть("Претензии");    
   
   ТабДокумент = Новый ТабличныйДокумент;
   
   // Зададим параметры макета по умолчанию
   ТабДокумент.ПолеСверху              = 10;
   ТабДокумент.ПолеСлева               = 0;
   ТабДокумент.ПолеСнизу               = 0;
   ТабДокумент.ПолеСправа              = 0;
   ТабДокумент.РазмерКолонтитулаСверху = 10;
   ТабДокумент.ОриентацияСтраницы      = ОриентацияСтраницы.Ландшафт;
   
   // Загрузим настройки пользователя
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ИнвентаризацияОС_ИНВ1";

   //////////////////////////////////////////////////////////////////////
   // 1-я страница формы
   
   // Выведем шапку документа
   СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Док.Организация, Док.Дата);
   
   Шапка.Параметры.Заполнить(Док);
   Шапка.Параметры.Организация          = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации);
   Шапка.Параметры.ОрганизацияКодПоОКПО = СведенияОбОрганизации.КодПоОКПО;
   Шапка.Параметры.РежимСобственности   = "в собственности";
   Шапка.Параметры.Подразделение        = Док.ПодразделениеПредставление;
   Шапка.Параметры.Местонахождение      = Док.ПодразделениеПредставление;
   
   Шапка.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(Док);
   Шапка.Параметры.ДатаДокумента  = Док.Дата;
   
   ТабДокумент.Вывести(Шапка);
   
   // Выведем расписку МОЛов
   ТабДокумент.Вывести(Расписка);
   
   // Получим список МОЛ на основании списка ОС
   СписокОС = ТаблицаОС.ВыгрузитьКолонку("ОсновноеСредство");
   
   Запрос = Новый Запрос();
   Запрос.УстановитьПараметр("ОсновноеСредство", СписокОС);
   Запрос.УстановитьПараметр("Организация",      Док.Организация);
   Запрос.УстановитьПараметр("Дата",             Док.Дата);
   
   Запрос.Текст =
   "ВЫБРАТЬ
   |    МестонахождениеОСБухгалтерскийУчетСрезПоследних.МОЛ КАК МОЛ
   |ИЗ
   |    РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(&Дата, Организация = &Организация И ОсновноеСредство В (&ОсновноеСредство)) КАК МестонахождениеОСБухгалтерскийУчетСрезПоследних";
   
   Результат = Запрос.Выполнить().Выгрузить();
   СписокМОЛ = Результат.ВыгрузитьКолонку("МОЛ");
   
   // Выведем подписи МОЛов
   ВыводитьЗаголовок  = Истина; // Флаг вывода заголовка набора подписей
   ВыводитьПримечание = Истина; // Флаг вывода примечания-звездочки
   
   ДанныеМОЛ = ОбщегоНазначения.ДанныеФизЛиц(Док.Организация, СписокМОЛ, Док.Дата);
   
   // Сначала выведем МОЛов из выборки
   Для Каждого СтрокаМОЛ Из ДанныеМОЛ Цикл
       
       ПодписьСПримечанием = Новый Массив;
       ПодписьСПримечанием.Добавить(Подпись);
       ПодписьСПримечанием.Добавить(Примечание);
       
       Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, ПодписьСПримечанием) Тогда
           
           // Выведем примечание
           ТабДокумент.Вывести(Примечание);
           ВыводитьПримечание = Ложь;
           
           // Выведем разрыв страницы
           ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
           ВыводитьЗаголовок = Истина; // на новой странице выведем заголовок набора подписей
       
       КонецЕсли;
       
       Подпись.Параметры.ЗаголовокРазделаПодписей = ?(ВыводитьЗаголовок,
                                                      ЗаголовокРазделаПодписей.МОЛ,
                                                      "");
       Подпись.Параметры.Должность                = СтрокаМОЛ.Должность;
       Подпись.Параметры.РасшифровкаПодписи       = СтрокаМОЛ.Представление;
       
       ТабДокумент.Вывести(Подпись);
       
       ВыводитьЗаголовок = Ложь; // в следующей итерации вывод заголовка не нужен
       
   КонецЦикла;
   
   // Затем выведем пустые места для подписей (чтобы в итоге получилось не менее 3-х
   // подписей, как в форме, утвержденной Госкомстатом)
   Если ДанныеМОЛ.Количество() < 3 Тогда
       
       ПодписьСПримечанием = Новый Массив;
       ПодписьСПримечанием.Добавить(Подпись);
       ПодписьСПримечанием.Добавить(Примечание);
       
       Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, ПодписьСПримечанием) Тогда
           
           // Выведем примечание
           ТабДокумент.Вывести(Примечание);
           ВыводитьПримечание = Ложь;
           
           // Выведем разрыв страницы
           ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
           ВыводитьЗаголовок = Истина; // на новой странице выведем заголовок набора подписей
       
       КонецЕсли;
       
       Для Итератор = (ДанныеМОЛ.Количество() + 1) По 3 Цикл
           
           Подпись.Параметры.ЗаголовокРазделаПодписей = ?(ВыводитьЗаголовок,
                                                          ЗаголовокРазделаПодписей.МОЛ,
                                                          "");
           Подпись.Параметры.Должность                = "";
           Подпись.Параметры.РасшифровкаПодписи       = "";
           
           ТабДокумент.Вывести(Подпись);
           
           ВыводитьЗаголовок = Ложь; // в следующей итерации вывод заголовка не нужен
           
       КонецЦикла;
   
   КонецЕсли;
   
   // Выведем примечание
   Если ВыводитьПримечание Тогда
       ТабДокумент.Вывести(Примечание);
   КонецЕсли;
   
   // Выведем разрыв страницы
   ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
   
   //////////////////////////////////////////////////////////////////////
   // 2-я страница формы
   
   // Выведем заголовок таблицы    
   ТабДокумент.Вывести(ЗаголовокТаблицы);
   
   ПорядковыйНомерИтогов = 1; // счетчик количества итоговых строк в таблице
   
   НаличиеФактическоеПоСтранице          = 0;
   СтоимостьФактическаяПоСтранице        = 0;
   НаличиеПоДаннымУчетаПоСтранице        = 0;
   СтоимостьПоДаннымУчетаПоСтранице      = 0;
   КоличествоПорядковыхНомеровНаСтранице = 0;
   
   // Выведем строки таблицы
   Для Каждого СтрокаОС Из ТаблицаОС Цикл
       
       СтрокаТаблицы   = Макет.ПолучитьОбласть("СтрокаТаблицы");
       
       СтрокаТаблицы.Параметры.Заполнить(СтрокаОС);
       
       // Присвоим имена с номерами строк областям таблицы.
       // Номера потребуются для включения/отключения видимости значений в ячейках.
       СтрокаТаблицы.Области.НаличиеФактическое.Имя     = "НаличиеФактическое" + СтрокаОС.НомерСтроки;
       СтрокаТаблицы.Области.СтоимостьФактическая.Имя   = "СтоимостьФактическая" + СтрокаОС.НомерСтроки;
       СтрокаТаблицы.Области.НаличиеПоДаннымУчета.Имя   = "НаличиеПоДаннымУчета" + СтрокаОС.НомерСтроки;
       СтрокаТаблицы.Области.СтоимостьПоДаннымУчета.Имя = "СтоимостьПоДаннымУчета" + СтрокаОС.НомерСтроки;
       
       СтрокаСПодвалом = Новый Массив;
       СтрокаСПодвалом.Добавить(СтрокаТаблицы);
       СтрокаСПодвалом.Добавить(ИтогоПоСтранице);
       СтрокаСПодвалом.Добавить(Итоги);
       
       Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, СтрокаСПодвалом) Тогда
           
           ИтогоПоСтранице = Макет.ПолучитьОбласть("ИтогоПоСтранице");
           
           // Присвоим имена с порядковыми номерами итогов областям таблицы.
           // Номера потребуются для включения/отключения видимости значений в ячейках.
           ИтогоПоСтранице.Области.ИтогНаличиеФактическое.Имя     = "ИтогНаличиеФактическое" + ПорядковыйНомерИтогов;
           ИтогоПоСтранице.Области.ИтогСтоимостьФактическая.Имя   = "ИтогСтоимостьФактическая" + ПорядковыйНомерИтогов;
           ИтогоПоСтранице.Области.ИтогНаличиеПоДаннымУчета.Имя   = "ИтогНаличиеПоДаннымУчета" + ПорядковыйНомерИтогов;
           ИтогоПоСтранице.Области.ИтогСтоимостьПоДаннымУчета.Имя = "ИтогСтоимостьПоДаннымУчета" + ПорядковыйНомерИтогов;
           
           // Выведем заголовок итогов по странице
           ИтогоПоСтранице.Параметры.ИтогСтоимостьФактическая   = СтоимостьФактическаяПоСтранице;
           ИтогоПоСтранице.Параметры.ИтогНаличиеФактическое     = НаличиеФактическоеПоСтранице;
           ИтогоПоСтранице.Параметры.ИтогСтоимостьПоДаннымУчета = СтоимостьПоДаннымУчетаПоСтранице;
           ИтогоПоСтранице.Параметры.ИтогНаличиеПоДаннымУчета   = НаличиеПоДаннымУчетаПоСтранице;
           
           ТабДокумент.Вывести(ИтогоПоСтранице);
           
           Итоги = Макет.ПолучитьОбласть("Итоги");    
           
           // Присвоим имена с порядковыми номерами итогов областям таблицы.
           // Номера потребуются для включения/отключения видимости значений в ячейках.
           Итоги.Области.КоличествоФактическоеПрописью.Имя   = "КоличествоФактическоеПрописью" + ПорядковыйНомерИтогов;
           Итоги.Области.СтоимостьФактическаяПрописью.Имя    = "СтоимостьФактическаяПрописью" + ПорядковыйНомерИтогов;
           
           КоличествоФактическоеПрописью = ЧислоПрописью(НаличиеФактическоеПоСтранице,, ",,,ж,,,,,0");
           СтоимостьФактическаяПрописью  = ЧислоПрописью(СтоимостьФактическаяПоСтранице,, "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2");
           
           // Выведем итоговые строки
           Итоги.Параметры.КоличествоПорядковыхНомеровПрописью = ЧислоПрописью(КоличествоПорядковыхНомеровНаСтранице,, ",,,м,,,,,0");
           Итоги.Параметры.КоличествоФактическоеПрописью       = КоличествоФактическоеПрописью;
           Итоги.Параметры.СтоимостьФактическаяПрописью        = СтоимостьФактическаяПрописью;
           
           ТабДокумент.Вывести(Итоги);
           
           // Добавим значения итогов по странице в таблицу итогов.
           // Они потребуются при включении видимости значений ячеек.
           НоваяСтрока = ТаблицаИтогов.Добавить();
           НоваяСтрока.ПорядковыйНомерИтогов         = ПорядковыйНомерИтогов;
           НоваяСтрока.ИтогНаличиеФактическое        = НаличиеФактическоеПоСтранице;
           НоваяСтрока.ИтогСтоимостьФактическая      = СтоимостьФактическаяПоСтранице;
           НоваяСтрока.ИтогНаличиеПоДаннымУчета      = НаличиеПоДаннымУчетаПоСтранице;
           НоваяСтрока.ИтогСтоимостьПоДаннымУчета    = СтоимостьПоДаннымУчетаПоСтранице;
           НоваяСтрока.КоличествоФактическоеПрописью = КоличествоФактическоеПрописью;
           НоваяСтрока.СтоимостьФактическаяПрописью  = СтоимостьФактическаяПрописью;
           
           ПорядковыйНомерИтогов = ПорядковыйНомерИтогов + 1;
           
           // Выведем разрыв страницы
           ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
           
           // Выведем заголовок таблицы    
           ТабДокумент.Вывести(ЗаголовокТаблицы);
           
           НаличиеФактическоеПоСтранице          = 0;
           СтоимостьФактическаяПоСтранице        = 0;
           НаличиеПоДаннымУчетаПоСтранице        = 0;
           СтоимостьПоДаннымУчетаПоСтранице      = 0;
           КоличествоПорядковыхНомеровНаСтранице = 0;
           
       КонецЕсли;
       
       ТабДокумент.Вывести(СтрокаТаблицы);
       
       НаличиеФактическоеПоСтранице          = НаличиеФактическоеПоСтранице + СтрокаОС.НаличиеФактическое;
       СтоимостьФактическаяПоСтранице        = СтоимостьФактическаяПоСтранице + СтрокаОС.СтоимостьФактическая;
       НаличиеПоДаннымУчетаПоСтранице        = НаличиеПоДаннымУчетаПоСтранице + СтрокаОС.НаличиеПоДаннымУчета;
       СтоимостьПоДаннымУчетаПоСтранице      = СтоимостьПоДаннымУчетаПоСтранице + СтрокаОС.СтоимостьПоДаннымУчета;
       КоличествоПорядковыхНомеровНаСтранице = КоличествоПорядковыхНомеровНаСтранице + 1;
       
   КонецЦикла;        
   
   ИтогоПоСтранице = Макет.ПолучитьОбласть("ИтогоПоСтранице");
   
   // Присвоим имена с порядковыми номерами итогов областям таблицы.
   // Номера потребуются для включения/отключения видимости значений в ячейках.
   ИтогоПоСтранице.Области.ИтогНаличиеФактическое.Имя     = "ИтогНаличиеФактическое" + ПорядковыйНомерИтогов;
   ИтогоПоСтранице.Области.ИтогСтоимостьФактическая.Имя   = "ИтогСтоимостьФактическая" + ПорядковыйНомерИтогов;
   ИтогоПоСтранице.Области.ИтогНаличиеПоДаннымУчета.Имя   = "ИтогНаличиеПоДаннымУчета" + ПорядковыйНомерИтогов;
   ИтогоПоСтранице.Области.ИтогСтоимостьПоДаннымУчета.Имя = "ИтогСтоимостьПоДаннымУчета" + ПорядковыйНомерИтогов;
   
   // Выведем заголовок итогов по странице
   ИтогоПоСтранице.Параметры.ИтогСтоимостьФактическая   = СтоимостьФактическаяПоСтранице;
   ИтогоПоСтранице.Параметры.ИтогНаличиеФактическое     = НаличиеФактическоеПоСтранице;
   ИтогоПоСтранице.Параметры.ИтогСтоимостьПоДаннымУчета = СтоимостьПоДаннымУчетаПоСтранице;
   ИтогоПоСтранице.Параметры.ИтогНаличиеПоДаннымУчета   = НаличиеПоДаннымУчетаПоСтранице;
           
   ТабДокумент.Вывести(ИтогоПоСтранице);
   
   Итоги = Макет.ПолучитьОбласть("Итоги");    
   
   // Присвоим имена с порядковыми номерами итогов областям таблицы.
   // Номера потребуются для включения/отключения видимости значений в ячейках.
   Итоги.Области.КоличествоФактическоеПрописью.Имя   = "КоличествоФактическоеПрописью" + ПорядковыйНомерИтогов;
   Итоги.Области.СтоимостьФактическаяПрописью.Имя    = "СтоимостьФактическаяПрописью" + ПорядковыйНомерИтогов;
   
   КоличествоФактическоеПрописью = ЧислоПрописью(НаличиеФактическоеПоСтранице,, ",,,ж,,,,,0");
   СтоимостьФактическаяПрописью  = ЧислоПрописью(СтоимостьФактическаяПоСтранице,, "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2");
   
   // Выведем итоговые строки
   Итоги.Параметры.КоличествоПорядковыхНомеровПрописью = ЧислоПрописью(КоличествоПорядковыхНомеровНаСтранице,, ",,,м,,,,,0");
   Итоги.Параметры.КоличествоФактическоеПрописью       = КоличествоФактическоеПрописью;
   Итоги.Параметры.СтоимостьФактическаяПрописью        = СтоимостьФактическаяПрописью;
   
   ТабДокумент.Вывести(Итоги);
   
   // Добавим значения итогов по странице в таблицу итогов.
   // Они потребуются при включении видимости значений ячеек.
   НоваяСтрока = ТаблицаИтогов.Добавить();
   НоваяСтрока.ПорядковыйНомерИтогов         = ПорядковыйНомерИтогов;
   НоваяСтрока.ИтогНаличиеФактическое        = НаличиеФактическоеПоСтранице;
   НоваяСтрока.ИтогСтоимостьФактическая      = СтоимостьФактическаяПоСтранице;
   НоваяСтрока.ИтогНаличиеПоДаннымУчета      = НаличиеПоДаннымУчетаПоСтранице;
   НоваяСтрока.ИтогСтоимостьПоДаннымУчета    = СтоимостьПоДаннымУчетаПоСтранице;
   НоваяСтрока.КоличествоФактическоеПрописью = КоличествоФактическоеПрописью;
   НоваяСтрока.СтоимостьФактическаяПрописью  = СтоимостьФактическаяПрописью;
   
   ПорядковыйНомерИтогов = ПорядковыйНомерИтогов + 1;
   
   // Выведем разрыв страницы
   ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
   
   //////////////////////////////////////////////////////////////////////
   // 3-я страница формы
   
   // Выведем заголовок итогов по описи
   ТабДокумент.Вывести(ИтогоПоОписи);
   
   Итоги = Макет.ПолучитьОбласть("Итоги");    
   
   // Присвоим имена с порядковыми номерами итогов областям таблицы.
   // Номера потребуются для включения/отключения видимости значений в ячейках.
   Итоги.Области.КоличествоФактическоеПрописью.Имя   = "КоличествоФактическоеПрописьюПоОписи";
   Итоги.Области.СтоимостьФактическаяПрописью.Имя    = "СтоимостьФактическаяПрописьюПоОписи";
   
   // Выведем итоговые строки
   Итоги.Параметры.КоличествоПорядковыхНомеровПрописью = ЧислоПрописью(ТаблицаОС.Количество(),, ",,,м,,,,,0");
   Итоги.Параметры.КоличествоФактическоеПрописью       = ЧислоПрописью(ТаблицаОС.Итог("НаличиеФактическое"),, ",,,ж,,,,,0");
   Итоги.Параметры.СтоимостьФактическаяПрописью        = ЧислоПрописью(ТаблицаОС.Итог("СтоимостьФактическая"),, "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2");
   
   ТабДокумент.Вывести(Итоги);
   
   // Выведем фразу о подсчетах
   ТабДокумент.Вывести(Подсчеты);
   
   // Выведем подпись председателя инвентаризационной комиссии
   ТаблицаИнвентаризационнаяКомиссия.Индексы.Добавить("Председатель");
   ПредседательКомиссии = ТаблицаИнвентаризационнаяКомиссия.Найти(Истина, "Председатель");
   
   Если НЕ (ПредседательКомиссии = Неопределено) Тогда
       
       ДанныеПредседателя = ОбщегоНазначения.ДанныеФизЛица(Док.Организация, ПредседательКомиссии.ФизЛицо, Док.Дата);
           
       Подпись.Параметры.ЗаголовокРазделаПодписей = ЗаголовокРазделаПодписей.ПредседательКомиссии;
       Подпись.Параметры.Должность                = ДанныеПредседателя.Должность;
       Подпись.Параметры.РасшифровкаПодписи       = ДанныеПредседателя.Представление;
       
   Иначе
       
       Подпись.Параметры.ЗаголовокРазделаПодписей = ЗаголовокРазделаПодписей.ПредседательКомиссии;
       Подпись.Параметры.Должность                = "";
       Подпись.Параметры.РасшифровкаПодписи       = "";
       
   КонецЕсли;
       
   ТабДокумент.Вывести(Подпись);
   
   // Выведем подписи членов комиссии
   ВыводитьЗаголовок = Истина;
   
   КоличествоЧленовКомиссии = 0;
   
   // Сначала выведем членов комиссии из выборки
   Для Каждого ЧленКомиссии Из ТаблицаИнвентаризационнаяКомиссия Цикл
       
       Если ЧленКомиссии.Председатель Тогда
           Продолжить;
       КонецЕсли;
       
       Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, Подпись) Тогда
           
           // Выведем разрыв страницы
           ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
           ВыводитьЗаголовок = Истина; // на новой странице выведем заголовок набора подписей
       
       КонецЕсли;
       
       КоличествоЧленовКомиссии = КоличествоЧленовКомиссии + 1;
       
       ДанныеЧленаКомиссии = ОбщегоНазначения.ДанныеФизЛица(Док.Организация, ЧленКомиссии.ФизЛицо, Док.Дата);

       
       Подпись.Параметры.ЗаголовокРазделаПодписей = ?(ВыводитьЗаголовок,
                                                      ЗаголовокРазделаПодписей.ЧленыКомиссии,
                                                      "");
       Подпись.Параметры.Должность                = ДанныеЧленаКомиссии.Должность;
       Подпись.Параметры.РасшифровкаПодписи       = ДанныеЧленаКомиссии.Представление;
       
       ТабДокумент.Вывести(Подпись);
       
       ВыводитьЗаголовок = Ложь; // в следующей итерации вывод заголовка не нужен
       
   КонецЦикла;
   
   // Затем выведем пустые места для подписей (чтобы в итоге получилось не менее 3-х
   // подписей, как в форме, утвержденной Госкомстатом)
   Если КоличествоЧленовКомиссии < 3 Тогда
       
       Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, Подпись) Тогда
           
           // Выведем разрыв страницы
           ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
           ВыводитьЗаголовок = Истина; // на новой странице выведем заголовок набора подписей
       
       КонецЕсли;
       
       Для Итератор = (КоличествоЧленовКомиссии + 1) По 3 Цикл
           
           Подпись.Параметры.ЗаголовокРазделаПодписей = ?(ВыводитьЗаголовок,
                                                          ЗаголовокРазделаПодписей.ЧленыКомиссии,
                                                          "");
           Подпись.Параметры.Должность                = "";
           Подпись.Параметры.РасшифровкаПодписи       = "";
           
           ТабДокумент.Вывести(Подпись);
           
           ВыводитьЗаголовок = Ложь; // в следующей итерации вывод заголовка не нужен
           
       КонецЦикла;
   
   КонецЕсли;
   
   // Перед выводом следующего набора подписей, нужно проверить, поместится ли он
   // на страницу целиком. Если нет, нужно начать вывод со следующей страницы.
   
   // Создаем массив строк для проверки, помещаются ли они на страницу
   СтрокаСПодвалом = Новый Массив;
   СтрокаСПодвалом.Добавить(Претензии);
   Для Итератор = 1 По ДанныеМОЛ.Количество() Цикл
       СтрокаСПодвалом.Добавить(Подпись);
   КонецЦикла;
   СтрокаСПодвалом.Добавить(ПолеДаты);
   СтрокаСПодвалом.Добавить(Подпись);
   СтрокаСПодвалом.Добавить(ПолеДаты);
   
   // Если планируемый набор подписей не помещается, начинаем новую страницу
   Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, СтрокаСПодвалом) Тогда
       
       // Выведем разрыв страницы
       ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
       
   КонецЕсли;
   
   // Выведем раздел об отсутствии претензий МОЛов
   Если ТаблицаОС.Количество() > 0 Тогда
       Претензии.Параметры.НомерСтрокиНачальный = ТаблицаОС[0].НомерСтроки;
       Претензии.Параметры.НомерСтрокиКонечный  = ТаблицаОС[ТаблицаОС.Количество() - 1].НомерСтроки;
   Иначе    
       Претензии.Параметры.НомерСтрокиНачальный = "______";
       Претензии.Параметры.НомерСтрокиКонечный  = "______";
   КонецЕсли;
   
   ТабДокумент.Вывести(Претензии);
   
   // Выведем подписи МОЛов
   ВыводитьЗаголовок = Истина;

   // Сначала выведем МОЛов из выборки
   Для Каждого СтрокаМОЛ Из ДанныеМОЛ Цикл
       
       ПодписьСДатой = Новый Массив;
       ПодписьСДатой.Добавить(Подпись);
       ПодписьСДатой.Добавить(ПолеДаты);
       
       Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, ПодписьСДатой) Тогда
           
           // Выведем разрыв страницы
           ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
           ВыводитьЗаголовок = Истина; // на новой странице выведем заголовок набора подписей
       
       КонецЕсли;
       
       Подпись.Параметры.ЗаголовокРазделаПодписей = ?(ВыводитьЗаголовок,
                                                      ЗаголовокРазделаПодписей.МОЛ,
                                                      "");
       Подпись.Параметры.Должность                = СтрокаМОЛ.Должность;
       Подпись.Параметры.РасшифровкаПодписи       = СтрокаМОЛ.Представление;
       
       ТабДокумент.Вывести(Подпись);
       
       ВыводитьЗаголовок = Ложь; // в следующей итерации вывод заголовка не нужен
       
   КонецЦикла;
   
   // Затем выведем пустые места для подписей (чтобы в итоге получилось не менее 3-х
   // подписей, как в форме, утвержденной Госкомстатом)
   Если ДанныеМОЛ.Количество() < 3 Тогда
       
       ПодписьСДатой = Новый Массив;
       ПодписьСДатой.Добавить(Подпись);
       ПодписьСДатой.Добавить(ПолеДаты);
       
       Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, ПодписьСДатой) Тогда
           
           // Выведем разрыв страницы
           ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
           ВыводитьЗаголовок = Истина; // на новой странице выведем заголовок набора подписей
       
       КонецЕсли;
           
       Для Итератор = (ДанныеМОЛ.Количество() + 1) По 3 Цикл
           
           Подпись.Параметры.ЗаголовокРазделаПодписей = ?(ВыводитьЗаголовок,
                                                          ЗаголовокРазделаПодписей.МОЛ,
                                                          "");
           Подпись.Параметры.Должность                = "";
           Подпись.Параметры.РасшифровкаПодписи       = "";
           
           ТабДокумент.Вывести(Подпи
2 Cube
 
25.12.12
09:50
Отладчиком пользоваться так и не научилась? Пора бы...
3 anisa8310
 
25.12.12
09:52
Нет ещё не пользовалась, у вас то попадает в макет содержимое дока?
4 Cube
 
25.12.12
09:56
(3) А че ты мне ВЫкаешь?))))
5 Cube
 
25.12.12
09:56
(3) У нас УПП, но в демо базе 2.0.32 попадают. Учись пользоваться отладчиком.
6 cw014
 
25.12.12
09:58
ИнвентаризацияОСОС - здорово

Ну Мол у тебя как то и в запросе не фигурирует, а вот по комиссии могу сказать, что где то у тебя по физ лицам данных не хватает
7 anisa8310
 
25.12.12
10:01
Все, спасибо! оказывается в РС не бало ФИО...СПАСИБО ЗАПИНОК!!!(2) ВСЕМ СПАСИБО!!! С наступающем!!!
8 anisa8310
 
25.12.12
10:02
физ лица-а там ещё кнопка...ФИО-зачем она нужна...блин..ну ладно видимо нужна..вдруг Фамилия.. поменяется
9 Cube
 
25.12.12
10:03
(8) История ФИО. Всю жизнь там была.
10 anisa8310
 
25.12.12
10:04
вот мой след. вопрос посложнее..будет-я пока попробую сделать-но уже пробовала  не получилось...надо добить, а то совесть мучает..по ЗУПу.полезно кстати всем будет)
11 anisa8310
 
25.12.12
10:04
(9) история всю жизнь была..да только зачем то не заполнили бухи некоторых как надо
12 Cube
 
25.12.12
10:06
(11) Там всё заполняется автоматом. Видимо, это последствия какого-то кривого переноса или обмена...