|
Инвентаризация ОС Макет ИНВ-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) Там всё заполняется автоматом. Видимо, это последствия какого-то кривого переноса или обмена...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |