Здравствуйте, уважаемые.
Помогите решить проблему, есть документ полностью с нуля создан и печатная форма для него. Нужно сделать, чтоб под каждой таблицей/секцией была сумма по каждому виду ТМЦ. Возможно кто-то сможет помочь, буду очень благодарен.
Версия 1с 7.7 (сетевая).
Конфиг Бухгалтерский учет для Украины 7.70.288.
Модуль документа имеет такой вид:
// ===============================
Процедура ВводНового(Признак)
Если Признак = 1 Тогда
глУстановитьНомерДокумента(Контекст);
Возврат;
КонецЕсли;
Фирма = глВосстановитьЗначение(,"БазФирма");
КонецПроцедуры
Процедура ИзмФирма()
глУстановитьНомерДокумента(Контекст);
КонецПроцедуры
Процедура ИзмДатаДок()
Дата1 = ДатаДок;
КонецПроцедуры
Процедура ИзмОперации()
КодОпер = ТМЦ.Артикул;
Механик = ТМЦ.Механик;
Ед = ТМЦ.БазЕдиница;
Кво = 1;
Нормогодини = ТМЦ.Нормогодини;
КонецПроцедуры
Процедура ИзмНормогодини()
СуммаБезНДС = Кво * Нормогодини;
СуммаБезНДСС = СуммаБезНДС - (СуммаБезНДС * Ск);
КонецПроцедуры
Процедура ИзмКво()
ИзмНормогодини();
КонецПроцедуры
Процедура ИзмСк()
СуммаБезНДСС = (Кво * Нормогодини) - (Ск * Кво * Нормогодини);
КонецПроцедуры
Процедура ВводНаОсновании(Док)
// ввод на основании договора
//Фирма = Док.Фирма;
//глУстановитьНомерДокумента(Контекст);
//Маршрут = Док. Маршрут;
//Украина = Док.Украина;
//Експедитор = Док.Експедитор;
//Если Експедитор <> 1 Тогда
// Перевізник = 1;
//КонецЕсли;
//Контрагент = Док.Контрагент;
//Автомобиль = Док.Автомобиль;
//Цена = Док.Цена;
//ДатаЗавантаж = Док.ДатаЗавантаж;
//ДатаРозвантаж = Док.ДатаРозвантаж;
//ВидзагРоз = Док.ВидзагРоз;
//ВидОплаты = Док.ВидОплаты;
//Если Украина <> 1 Тогда
// ЗеленаяКартка = 1;
//КонецЕсли;
КонецПроцедуры
Процедура ИзмКонтрагент()
Замовник = Контрагент;
КонецПроцедуры
Процедура Печать()
глУстПропись(Гривня,"");
// Лицо = Фирма.Директор.Получить(ДатаДок);
Таб = СоздатьОбъект("Таблица");
Если Гарантия = 1 Тогда
Таб.ИсходнаяТаблица("НарядЗамовленняГарантия");
Иначе
Таб.ИсходнаяТаблица("НарядЗамовлення");
КонецЕсли;
Таб.ВывестиСекцию("Заголовок");
Таб.ВывестиСекцию("Шапка");
Таб.ВывестиСекцию("Таблица1");
Ном = 0;
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Если ТМЦ.ВидТМЦ = Перечисление.ВидыТМЦ.Услуга Тогда
Ном = Ном + 1;
Таб.ВывестиСекцию("Строка1");
КонецЕсли;
КонецЦикла;
Таб.ВывестиСекцию("Таблица2");
Ном = 0;
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Если ТМЦ.ВидТМЦ = Перечисление.ВидыТМЦ.Запчасти Тогда
Ном = Ном + 1;
Таб.ВывестиСекцию("Строка2");
КонецЕсли;
КонецЦикла;
Таб.ВывестиСекцию("Таблица3");
Ном = 0;
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Если ТМЦ.ВидТМЦ = Перечисление.ВидыТМЦ.Материал Тогда
Ном = Ном + 1;
Таб.ВывестиСекцию("Строка3");
КонецЕсли;
КонецЦикла;
СуммаСНДС = Итог("СуммаБезНДС") + (Итог("СуммаБезНДС") * 0.2);
Таб.ВывестиСекцию("Конец");
Таб.ВывестиСекцию("Реквизити1");
Таб.НоваяСтраница();
Таб.ВывестиСекцию("Заголовок");
Таб.ВывестиСекцию("Шапка");
Таб.ВывестиСекцию("Таблица1");
Ном = 0;
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Если ТМЦ.ВидТМЦ = Перечисление.ВидыТМЦ.Услуга Тогда
Ном = Ном + 1;
Таб.ВывестиСекцию("Строка1");
КонецЕсли;
КонецЦикла;
Таб.ВывестиСекцию("Таблица2");
Ном = 0;
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Если ТМЦ.ВидТМЦ = Перечисление.ВидыТМЦ.Запчасти Тогда
Ном = Ном + 1;
Таб.ВывестиСекцию("Строка2");
КонецЕсли;
КонецЦикла;
Таб.ВывестиСекцию("Таблица3");
Ном = 0;
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Если ТМЦ.ВидТМЦ = Перечисление.ВидыТМЦ.Материал Тогда
Ном = Ном + 1;
Таб.ВывестиСекцию("Строка3");
КонецЕсли;
КонецЦикла;
СуммаСНДС = Итог("СуммаБезНДС") + (Итог("СуммаБезНДС") * 0.2);
Таб.ВывестиСекцию("Конец");
Таб.ВывестиСекцию("Реквизити2");
// //Таб.ВывестиСекцию("АдресЗагрузки");
Таб.Опции(0,0,0,0,"");
//Таб.Защита(Константа.ФлагЗащитыТаблиц);
Таб.ТолькоПросмотр(1);
Таб.Показать("Наряд-Замовлення ","");
КонецПроцедуры
Процедура Печать2()
глУстПропись(Гривня,"");
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("ВтораяСтраница");
Таб.ВывестиСекцию("Текст");
Таб.НоваяСтраница();
Таб.ВывестиСекцию("Текст2");
Таб.ПараметрыСтраницы(1,,,,,,,,);
Таб.Опции(0,0,0,0,"");
Таб.ТолькоПросмотр(1);
Таб.Показать("Наряд-Замовлення ","");
КонецПроцедуры
Функция УстДоступность()
Если Гарантия = 1 Тогда
Форма.Примечание1.Доступность(1);
Форма.Примечание2.Доступность(1);
Форма.Примечание3.Доступность(1);
Форма.Примечание4.Доступность(1);
Форма.Примечание5.Доступность(1);
Форма.Примечание6.Доступность(1);
Иначе
Форма.Примечание1.Доступность(0);
Форма.Примечание2.Доступность(0);
Форма.Примечание3.Доступность(0);
Форма.Примечание4.Доступность(0);
Форма.Примечание5.Доступность(0);
Форма.Примечание6.Доступность(0);
КонецЕсли;
// Если Украина = 1 Тогда
// Форма.ЦМР.Доступность(0);
// Иначе
// Форма.ЦМР.Доступность(1);
// КонецЕсли;
//
Возврат "";
КонецФункции
Процедура ПриЗаписи()
Автор = Пользователь;
КонецПроцедуры
Вот вид печатной формы:
! |
| Удален, потому что я не читаю правила!
|
Заранее спасибо.