|
1С 7,7 автоматически делать и сохранять отчет | ☑ | ||
---|---|---|---|---|
0
aleksander1sk
11.09.15
✎
09:14
|
Есть обработка, которая делает отчет:
Процедура ПриОткрытии() КонецПроцедуры Процедура ОбработкаПодбора(Эл, Конт) Если Эл.Вид() = "дТовары" Тогда Если спТовары.Принадлежит(Эл.ТекущийЭлемент()) = 0 Тогда спТовары.ДобавитьЗначение(Эл.ТекущийЭлемент(), ?(Эл.ЭтоГруппа() = 1, ВРег(Эл.Наименование), Эл.Наименование)); КонецЕсли; ИначеЕсли Эл.Вид() = "дКлиенты" Тогда Если спКлиенты.Принадлежит(Эл.ТекущийЭлемент()) = 0 Тогда спКлиенты.ДобавитьЗначение(Эл.ТекущийЭлемент(), ?(Эл.ЭтоГруппа() = 1, ВРег(Эл.Наименование), Эл.Наименование)); КонецЕсли; ИначеЕсли Эл.Вид() = "дСотрудники" Тогда Если спТП.Принадлежит(Эл.ТекущийЭлемент()) = 0 Тогда спТП.ДобавитьЗначение(Эл.ТекущийЭлемент(), ?(Эл.ЭтоГруппа() = 1, ВРег(Эл.Наименование), Эл.Наименование)); КонецЕсли; КонецЕсли; КонецПроцедуры Процедура ДобавитьТовар() Перем Конт; ОткрытьПодбор("Справочник.дТовары", "ФормаСписка", Конт, 1); Конт.ВыборГруппы(1); КонецПроцедуры Процедура УдалитьТовар() Если спТовары.ТекущаяСтрока() > 0 Тогда спТовары.УдалитьЗначение(спТовары.ТекущаяСтрока(), 1); КонецЕсли; КонецПроцедуры Процедура ДобавитьТП() Перем Конт; ОткрытьПодбор("Справочник.дСотрудники", "ФормаСписка", Конт, 1); Конт.ВыборГруппы(1); КонецПроцедуры Процедура УдалитьТП() Если спТП.ТекущаяСтрока() > 0 Тогда спТП.УдалитьЗначение(спТП.ТекущаяСтрока(), 1); КонецЕсли; КонецПроцедуры Процедура ДобавитьКлиента() Перем Конт; ОткрытьПодбор("Справочник.дКлиенты", "ФормаСписка", Конт, 1); Конт.ВыборГруппы(1); КонецПроцедуры Процедура УдалитьКлиента() Если спКлиенты.ТекущаяСтрока() > 0 Тогда спКлиенты.УдалитьЗначение(спКлиенты.ТекущаяСтрока(), 1); КонецЕсли; КонецПроцедуры Процедура ДобавитьКлиентовМаршрута() Маршруты = СоздатьОбъект("Справочник.дМаршруты"); Если Маршруты.Выбрать("Виберіть маршрут:", "ФормаСписка") = 1 Тогда КМ = СоздатьОбъект("Справочник.дКлиентыМаршрутов"); КМ.ИспользоватьВладельца(Маршруты.ТекущийЭлемент()); КМ.ВыбратьЭлементы(); Пока КМ.ПолучитьЭлемент() = 1 Цикл Если спКлиенты.Принадлежит(КМ.рКлиент) = 0 Тогда спКлиенты.ДобавитьЗначение(КМ.рКлиент, ?(КМ.рКлиент.ЭтоГруппа() = 1, ВРег(КМ.рКлиент.Наименование), КМ.рКлиент.Наименование)); КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры //******************************************* // Процедура генерации запроса Сформировать. // Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Обрабатывать НеПомеченныеНаУдаление; |рКлиент = Документ.дкРасходнаяНакладная.рКлиент; |рСкладОтправитель = Документ.дкРасходнаяНакладная.рСкладОтправитель; |рПунктДоставки = Документ.дкРасходнаяНакладная.рПунктДоставки; |рТовар = Документ.дкРасходнаяНакладная.рТовар; |рТП = Документ.дкРасходнаяНакладная.рТП; |рКоличество = Документ.дкРасходнаяНакладная.рКоличество; |рСумма = Документ.дкРасходнаяНакладная.рВсего; |Группировка рТП без групп; |Группировка рКлиент без групп; |Группировка рПунктДоставки без групп; |Группировка рТовар без групп; |Условие(рКлиент в спКлиенты); |Условие(рСкладОтправитель в ВыбСклад); |Условие(рТП в спТП); |Условие (рТовар в спТовары); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" // Если фТоргТочка = 0 Тогда // // Таб.ВывестиСекцию("ЗаголовокТолько"); // Состояние("Заполнение выходной таблицы..."); // Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); // // Пока Запрос.Группировка(1) = 1 Цикл // ДДО = 0; // Пока Запрос.Группировка(2) = 1 Цикл // Пока Запрос.Группировка(3) = 1 Цикл // ДДО = ДДО + 1; // КонецЦикла; // КонецЦикла; // Таб.ВывестиСекцию("рТПТолько"); // КонецЦикла; // // Иначе // // Таб.ВывестиСекцию("Заголовок"); // Состояние("Заполнение выходной таблицы..."); // Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); // // Пока Запрос.Группировка(1) = 1 Цикл // // Заполнение полей рТП // ДДО = 0; // Таб.ВывестиСекцию("рТП2"); // Пока Запрос.Группировка(2) = 1 Цикл // // Заполнение полей рКлиент // //Таб.ВывестиСекцию("рКлиент"); // Пока Запрос.Группировка(3) = 1 Цикл // // Заполнение полей рПунктДоставки // ДоставкаВ = Запрос.ЗначениеУпорядочивания(3); // Если фАдрес = 1 Тогда // ДоставкаВ = ДоставкаВ + ". " + глАдресСтрокой(СоклЛП(Запрос.рПунктДоставки.рФактическийАдрес)); // КонецЕсли; // Таб.ВывестиСекцию("рПунктДоставки"); // ДДО = ДДО + 1; // КонецЦикла; // КонецЦикла; // Таб.ВывестиСекцию("рТП"); // КонецЦикла; // // // КонецЕсли; Таб.ВывестиСекцию("Заголовок|Основа"); Если фКлиент = 1 Тогда Таб.ПрисоединитьСекцию("Заголовок|Клиент"); КонецЕсли; Если фНазваТочки = 1 Тогда Таб.ПрисоединитьСекцию("Заголовок|ДоставкаНазва"); КонецЕсли; Если фАдресТочки = 1 Тогда Таб.ПрисоединитьСекцию("Заголовок|ДоставкаАдрес"); КонецЕсли; Если (фКво = 1) или (фСумма= 1) Тогда Таб.ПрисоединитьСекцию("Заголовок|Товар"); КонецЕсли; Если фКво = 1 Тогда Таб.ПрисоединитьСекцию("Заголовок|Колво"); КонецЕсли; Если фСумма= 1 Тогда Таб.ПрисоединитьСекцию("Заголовок|Сумма"); КонецЕсли; Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей рТП ДДО = 0; Таб.ВывестиСекцию("рТП2|Основа"); Если фКлиент = 1 Тогда Таб.ПрисоединитьСекцию("рТП2|Клиент"); КонецЕсли; Если фНазваТочки = 1 Тогда Таб.ПрисоединитьСекцию("рТП2|ДоставкаНазва"); КонецЕсли; Если фАдресТочки = 1 Тогда Таб.ПрисоединитьСекцию("рТП2|ДоставкаАдрес"); КонецЕсли; Если (фКво = 1) или (фСумма= 1) Тогда Таб.ПрисоединитьСекцию("рТП2|Товар"); КонецЕсли; Если фКво = 1 Тогда Таб.ПрисоединитьСекцию("рТП2|Колво"); КонецЕсли; Если фСумма= 1 Тогда Таб.ПрисоединитьСекцию("рТП2|Сумма"); КонецЕсли; //Клиент Пока Запрос.Группировка(2) = 1 Цикл //Точка ИтСумма = 0; ИтКво = 0; Пока Запрос.Группировка(3) = 1 Цикл ДоставкаВ = Запрос.ЗначениеУпорядочивания(3); Таб.ВывестиСекцию("рСтрока|Основа"); Если фКлиент = 1 Тогда Таб.ПрисоединитьСекцию("рСтрока|Клиент"); КонецЕсли; Если фНазваТочки = 1 Тогда Таб.ПрисоединитьСекцию("рСтрока|ДоставкаНазва"); КонецЕсли; Если фАдресТочки = 1 Тогда Таб.ПрисоединитьСекцию("рСтрока|ДоставкаАдрес"); КонецЕсли; //Товар Если (фКво = 1) или (фСумма= 1) Тогда Пока Запрос.Группировка(4) = 1 Цикл Товар = Запрос.рТовар; Кво = Запрос.рКоличество; Сумма = Запрос.рСумма; ИтКво = ИтКво + Кво; ИтСумма = ИтСумма + Сумма; Если (фКво = 1) или (фСумма= 1) Тогда Таб.ВывестиСекцию("0|Основа"); Если фКлиент = 1 Тогда Таб.ПрисоединитьСекцию("0|Клиент"); КонецЕсли; Если фНазваТочки = 1 Тогда Таб.ПрисоединитьСекцию("0|ДоставкаНазва"); КонецЕсли; Если фАдресТочки = 1 Тогда Таб.ПрисоединитьСекцию("0|ДоставкаАдрес"); КонецЕсли; Таб.ПрисоединитьСекцию("рСтрока|Товар"); КонецЕсли; Если фКво = 1 Тогда Таб.ПрисоединитьСекцию("рСтрока|Колво"); КонецЕсли; Если фСумма= 1 Тогда Таб.ПрисоединитьСекцию("рСтрока|Сумма"); КонецЕсли; КонецЦикла; КонецЕсли; ДДО = ДДО + 1; КонецЦикла; //итог по точке Если (фКво = 1) или (фСумма= 1) Тогда Таб.ВывестиСекцию("0|Основа"); Если фКлиент = 1 Тогда Таб.ПрисоединитьСекцию("0|Клиент"); КонецЕсли; Если фНазваТочки = 1 Тогда Таб.ПрисоединитьСекцию("0|ДоставкаНазва"); КонецЕсли; Если фАдресТочки = 1 Тогда Таб.ПрисоединитьСекцию("0|ДоставкаАдрес"); КонецЕсли; Таб.ПрисоединитьСекцию("0|Товар"); КонецЕсли; Если фКво = 1 Тогда Таб.ПрисоединитьСекцию("0|Колво"); КонецЕсли; Если фСумма= 1 Тогда Таб.ПрисоединитьСекцию("0|Сумма"); КонецЕсли; КонецЦикла; Таб.ВывестиСекцию("рТП|Основа"); Если фКлиент = 1 Тогда Таб.ПрисоединитьСекцию("рТП|Клиент"); КонецЕсли; Если фНазваТочки = 1 Тогда Таб.ПрисоединитьСекцию("рТП|ДоставкаНазва"); КонецЕсли; Если фАдресТочки = 1 Тогда Таб.ПрисоединитьСекцию("рТП|ДоставкаАдрес"); КонецЕсли; Если (фКво = 1) или (фСумма= 1) Тогда Таб.ПрисоединитьСекцию("рТП|Товар"); КонецЕсли; Если фКво = 1 Тогда Таб.ПрисоединитьСекцию("рТП|Колво"); КонецЕсли; Если фСумма= 1 Тогда Таб.ПрисоединитьСекцию("рТП|Сумма"); КонецЕсли; КонецЦикла; // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры Как сделать так, чтобы обработка автоматом делала отчет и сохраняла его в файл .html? заранее спасибо всем. |
|||
1
Масянька
11.09.15
✎
09:17
|
(0) "Автоматом" - что имеется ввиду?
|
|||
2
aleksander1sk
11.09.15
✎
09:24
|
(1) Ну сначала, чтобы просто при открытии, в список значений добавлю просто нужные условия (типа торговый представитель, период и т.д.) А вот как сделать, чтобы отчет делался при запуске обработки и сохранялся в файл?
|
|||
3
Масянька
11.09.15
✎
09:27
|
(2) В ПриОткрытии вставляй код отчета + код сохранения.
|
|||
4
aleksander1sk
11.09.15
✎
09:31
|
(3) Код отчета есть, а как написать (или где посмотреть) код сохранения?)
|
|||
5
Масянька
11.09.15
✎
09:33
|
(4) В гугле. У меня - нету. Я - в html не сохраняла.
|
|||
6
akaBrr
11.09.15
✎
09:34
|
(4) У таблицы есть метод Записать.
Записать(<?>,); Синтаксис: Записать(<ИмяФайла>,<ТипФайла>) Назначение: Записать таблицу в файл. Параметры: <ИмяФайла> - имя файла. <ТипФайла> - необязательный параметр. Числовое или строковое выражение, определяющее тип файла: · отсутствует, 0 или ''MXL'' - формат 1C; · 1 или ''XLS'' - формат Ms Excel; · 2 или ''HTM'' или ''HTML'' - формат HTML; · 3 или ''TXT'' - формат TXT. Замечание: Метод может использоваться при работе с таблицей в режиме |
|||
7
Масянька
11.09.15
✎
09:35
|
(6) Блин... Совсем забыла...
|
|||
8
aleksander1sk
11.09.15
✎
09:37
|
(6) Спасибо огромное, попробую, итпишусь.
|
|||
9
aleksander1sk
11.09.15
✎
10:03
|
Процедура ПриОткрытии()
ВыбНачПериода = НачМесяца(); ВыбКонПериода = ТекущаяДата(); спТП = СоздатьОбъект("СписокЗначений"); спр = СоздатьОбъект("Справочник.дСотрудники"); спр.НайтиПоКоду("26"); спТП.ДобавитьЗначение(спр.текущийЭлемент()); спТовары = СоздатьОбъект("СписокЗначений"); спр = СоздатьОбъект("Справочник.дТовары"); спр.НайтиПоКоду("17194"); спТовары.ДобавитьЗначение(спр.текущийЭлемент()); КонецПроцедуры Показывает ошибку: ВыбНачПериода = НачМесяца(<<?>>); {E:\BACKUP\18.06.2015PLN1C\POLYANA\EXTFORMS\ADDONS\ADDONS02.GRP\DDO.ERT(306)}: Ожидается выражение |
|||
10
Хоменко Валерий
11.09.15
✎
10:10
|
НачМесяца(<Дата>)
|
|||
11
aleksander1sk
11.09.15
✎
10:18
|
(10) Поставил НачМесяца(рабочаяДата()) заработало
|
|||
12
aleksander1sk
11.09.15
✎
10:36
|
Обработка:
Процедура ОбработкаПодбора(Эл, Конт) Если Эл.Вид() = "дТовары" Тогда Если спТовары.Принадлежит(Эл.ТекущийЭлемент()) = 0 Тогда спТовары.ДобавитьЗначение(Эл.ТекущийЭлемент(), ?(Эл.ЭтоГруппа() = 1, ВРег(Эл.Наименование), Эл.Наименование)); КонецЕсли; ИначеЕсли Эл.Вид() = "дКлиенты" Тогда Если спКлиенты.Принадлежит(Эл.ТекущийЭлемент()) = 0 Тогда спКлиенты.ДобавитьЗначение(Эл.ТекущийЭлемент(), ?(Эл.ЭтоГруппа() = 1, ВРег(Эл.Наименование), Эл.Наименование)); КонецЕсли; ИначеЕсли Эл.Вид() = "дСотрудники" Тогда Если спТП.Принадлежит(Эл.ТекущийЭлемент()) = 0 Тогда спТП.ДобавитьЗначение(Эл.ТекущийЭлемент(), ?(Эл.ЭтоГруппа() = 1, ВРег(Эл.Наименование), Эл.Наименование)); КонецЕсли; КонецЕсли; КонецПроцедуры Процедура ДобавитьТовар() Перем Конт; ОткрытьПодбор("Справочник.дТовары", "ФормаСписка", Конт, 1); Конт.ВыборГруппы(1); КонецПроцедуры Процедура УдалитьТовар() Если спТовары.ТекущаяСтрока() > 0 Тогда спТовары.УдалитьЗначение(спТовары.ТекущаяСтрока(), 1); КонецЕсли; КонецПроцедуры Процедура ДобавитьТП() Перем Конт; ОткрытьПодбор("Справочник.дСотрудники", "ФормаСписка", Конт, 1); Конт.ВыборГруппы(1); КонецПроцедуры Процедура УдалитьТП() Если спТП.ТекущаяСтрока() > 0 Тогда спТП.УдалитьЗначение(спТП.ТекущаяСтрока(), 1); КонецЕсли; КонецПроцедуры Процедура ДобавитьКлиента() Перем Конт; ОткрытьПодбор("Справочник.дКлиенты", "ФормаСписка", Конт, 1); Конт.ВыборГруппы(1); КонецПроцедуры Процедура УдалитьКлиента() Если спКлиенты.ТекущаяСтрока() > 0 Тогда спКлиенты.УдалитьЗначение(спКлиенты.ТекущаяСтрока(), 1); КонецЕсли; КонецПроцедуры Процедура ДобавитьКлиентовМаршрута() Маршруты = СоздатьОбъект("Справочник.дМаршруты"); Если Маршруты.Выбрать("Виберіть маршрут:", "ФормаСписка") = 1 Тогда КМ = СоздатьОбъект("Справочник.дКлиентыМаршрутов"); КМ.ИспользоватьВладельца(Маршруты.ТекущийЭлемент()); КМ.ВыбратьЭлементы(); Пока КМ.ПолучитьЭлемент() = 1 Цикл Если спКлиенты.Принадлежит(КМ.рКлиент) = 0 Тогда спКлиенты.ДобавитьЗначение(КМ.рКлиент, ?(КМ.рКлиент.ЭтоГруппа() = 1, ВРег(КМ.рКлиент.Наименование), КМ.рКлиент.Наименование)); КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры //******************************************* // Процедура генерации запроса Сформировать. // Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; ВыбНачПериода = НачМесяца(рабочаяДата()); ВыбКонПериода = ТекущаяДата(); сз1 = СоздатьОбъект("СписокЗначений"); спр = СоздатьОбъект("Справочник.дСотрудники"); спр.НайтиПоКоду("26"); сз1.ДобавитьЗначение(спр.текущийЭлемент()); сз2 = СоздатьОбъект("СписокЗначений"); спр = СоздатьОбъект("Справочник.дТовары"); спр.НайтиПоКоду("17194"); сз2.ДобавитьЗначение(спр.текущийЭлемент()); //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Обрабатывать НеПомеченныеНаУдаление; |рКлиент = Документ.дкРасходнаяНакладная.рКлиент; |рСкладОтправитель = Документ.дкРасходнаяНакладная.рСкладОтправитель; |рПунктДоставки = Документ.дкРасходнаяНакладная.рПунктДоставки; |рТовар = Документ.дкРасходнаяНакладная.рТовар; |рТП = Документ.дкРасходнаяНакладная.рТП; |рКоличество = Документ.дкРасходнаяНакладная.рКоличество; |рСумма = Документ.дкРасходнаяНакладная.рВсего; |Группировка рТП без групп; |Группировка рКлиент без групп; |Группировка рПунктДоставки без групп; |Группировка рТовар без групп; |Условие(рКлиент в спКлиенты); |Условие(рСкладОтправитель в ВыбСклад); |Условие(рТП в сз1); |Условие (рТовар в сз2); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" // Если фТоргТочка = 0 Тогда // // Таб.ВывестиСекцию("ЗаголовокТолько"); // Состояние("Заполнение выходной таблицы..."); // Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); // // Пока Запрос.Группировка(1) = 1 Цикл // ДДО = 0; // Пока Запрос.Группировка(2) = 1 Цикл // Пока Запрос.Группировка(3) = 1 Цикл // ДДО = ДДО + 1; // КонецЦикла; // КонецЦикла; // Таб.ВывестиСекцию("рТПТолько"); // КонецЦикла; // // Иначе // // Таб.ВывестиСекцию("Заголовок"); // Состояние("Заполнение выходной таблицы..."); // Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); // // Пока Запрос.Группировка(1) = 1 Цикл // // Заполнение полей рТП // ДДО = 0; // Таб.ВывестиСекцию("рТП2"); // Пока Запрос.Группировка(2) = 1 Цикл // // Заполнение полей рКлиент // //Таб.ВывестиСекцию("рКлиент"); // Пока Запрос.Группировка(3) = 1 Цикл // // Заполнение полей рПунктДоставки // ДоставкаВ = Запрос.ЗначениеУпорядочивания(3); // Если фАдрес = 1 Тогда // ДоставкаВ = ДоставкаВ + ". " + глАдресСтрокой(СоклЛП(Запрос.рПунктДоставки.рФактическийАдрес)); // КонецЕсли; // Таб.ВывестиСекцию("рПунктДоставки"); // ДДО = ДДО + 1; // КонецЦикла; // КонецЦикла; // Таб.ВывестиСекцию("рТП"); // КонецЦикла; // // // КонецЕсли; Таб.ВывестиСекцию("Заголовок|Основа"); Если фКлиент = 1 Тогда Таб.ПрисоединитьСекцию("Заголовок|Клиент"); КонецЕсли; Если фНазваТочки = 1 Тогда Таб.ПрисоединитьСекцию("Заголовок|ДоставкаНазва"); КонецЕсли; Если фАдресТочки = 1 Тогда Таб.ПрисоединитьСекцию("Заголовок|ДоставкаАдрес"); КонецЕсли; Если (фКво = 1) или (фСумма= 1) Тогда Таб.ПрисоединитьСекцию("Заголовок|Товар"); КонецЕсли; Если фКво = 1 Тогда Таб.ПрисоединитьСекцию("Заголовок|Колво"); КонецЕсли; Если фСумма= 1 Тогда Таб.ПрисоединитьСекцию("Заголовок|Сумма"); КонецЕсли; Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей рТП ДДО = 0; Таб.ВывестиСекцию("рТП2|Основа"); Если фКлиент = 1 Тогда Таб.ПрисоединитьСекцию("рТП2|Клиент"); КонецЕсли; Если фНазваТочки = 1 Тогда Таб.ПрисоединитьСекцию("рТП2|ДоставкаНазва"); КонецЕсли; Если фАдресТочки = 1 Тогда Таб.ПрисоединитьСекцию("рТП2|ДоставкаАдрес"); КонецЕсли; Если (фКво = 1) или (фСумма= 1) Тогда Таб.ПрисоединитьСекцию("рТП2|Товар"); КонецЕсли; Если фКво = 1 Тогда Таб.ПрисоединитьСекцию("рТП2|Колво"); КонецЕсли; Если фСумма= 1 Тогда Таб.ПрисоединитьСекцию("рТП2|Сумма"); КонецЕсли; //Клиент Пока Запрос.Группировка(2) = 1 Цикл //Точка ИтСумма = 0; ИтКво = 0; Пока Запрос.Группировка(3) = 1 Цикл ДоставкаВ = Запрос.ЗначениеУпорядочивания(3); Таб.ВывестиСекцию("рСтрока|Основа"); Если фКлиент = 1 Тогда Таб.ПрисоединитьСекцию("рСтрока|Клиент"); КонецЕсли; Если фНазваТочки = 1 Тогда Таб.ПрисоединитьСекцию("рСтрока|ДоставкаНазва"); КонецЕсли; Если фАдресТочки = 1 Тогда Таб.ПрисоединитьСекцию("рСтрока|ДоставкаАдрес"); КонецЕсли; //Товар Если (фКво = 1) или (фСумма= 1) Тогда Пока Запрос.Группировка(4) = 1 Цикл Товар = Запрос.рТовар; Кво = Запрос.рКоличество; Сумма = Запрос.рСумма; ИтКво = ИтКво + Кво; ИтСумма = ИтСумма + Сумма; Если (фКво = 1) или (фСумма= 1) Тогда Таб.ВывестиСекцию("0|Основа"); Если фКлиент = 1 Тогда Таб.ПрисоединитьСекцию("0|Клиент"); КонецЕсли; Если фНазваТочки = 1 Тогда Таб.ПрисоединитьСекцию("0|ДоставкаНазва"); КонецЕсли; Если фАдресТочки = 1 Тогда Таб.ПрисоединитьСекцию("0|ДоставкаАдрес"); КонецЕсли; Таб.ПрисоединитьСекцию("рСтрока|Товар"); КонецЕсли; Если фКво = 1 Тогда Таб.ПрисоединитьСекцию("рСтрока|Колво"); КонецЕсли; Если фСумма= 1 Тогда Таб.ПрисоединитьСекцию("рСтрока|Сумма"); КонецЕсли; КонецЦикла; КонецЕсли; ДДО = ДДО + 1; КонецЦикла; //итог по точке Если (фКво = 1) или (фСумма= 1) Тогда Таб.ВывестиСекцию("0|Основа"); Если фКлиент = 1 Тогда Таб.ПрисоединитьСекцию("0|Клиент"); КонецЕсли; Если фНазваТочки = 1 Тогда Таб.ПрисоединитьСекцию("0|ДоставкаНазва"); КонецЕсли; Если фАдресТочки = 1 Тогда Таб.ПрисоединитьСекцию("0|ДоставкаАдрес"); КонецЕсли; Таб.ПрисоединитьСекцию("0|Товар"); КонецЕсли; Если фКво = 1 Тогда Таб.ПрисоединитьСекцию("0|Колво"); КонецЕсли; Если фСумма= 1 Тогда Таб.ПрисоединитьСекцию("0|Сумма"); КонецЕсли; КонецЦикла; Таб.ВывестиСекцию("рТП|Основа"); Если фКлиент = 1 Тогда Таб.ПрисоединитьСекцию("рТП|Клиент"); КонецЕсли; Если фНазваТочки = 1 Тогда Таб.ПрисоединитьСекцию("рТП|ДоставкаНазва"); КонецЕсли; Если фАдресТочки = 1 Тогда Таб.ПрисоединитьСекцию("рТП|ДоставкаАдрес"); КонецЕсли; Если (фКво = 1) или (фСумма= 1) Тогда Таб.ПрисоединитьСекцию("рТП|Товар"); КонецЕсли; Если фКво = 1 Тогда Таб.ПрисоединитьСекцию("рТП|Колво"); КонецЕсли; Если фСумма= 1 Тогда Таб.ПрисоединитьСекцию("рТП|Сумма"); КонецЕсли; Таб.Записать('\\APPSERVER\Exchange\sendtotrade\send.htm' , 'html'); КонецЦикла; // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры Процедура ПриОткрытии() ВыбНачПериода = НачМесяца(рабочаяДата()); ВыбКонПериода = ТекущаяДата(); сз1 = СоздатьОбъект("СписокЗначений"); спр = СоздатьОбъект("Справочник.дСотрудники"); спр.НайтиПоКоду("26"); сз1.ДобавитьЗначение(спр.текущийЭлемент()); сз2 = СоздатьОбъект("СписокЗначений"); спр = СоздатьОбъект("Справочник.дТовары"); спр.НайтиПоКоду("17194"); сз2.ДобавитьЗначение(спр.текущийЭлемент()); фНазваТочки = 1; фКлиент = 1; фСумма = 1; Сформировать(); КонецПроцедуры Выбивает, ошибку, когда хочу выполнить обработку, сама таблица выводится: Таб.Записать('\\APPSERVER\Exchange\sendtotrade\send.htm' , 'html'); {E:\BACKUP\18.06.2015PLN1C\POLYANA\EXTFORMS\ADDONS\ADDONS02.GRP\DDO.ERT(304)}: Неверное имя файла! |
|||
13
Масянька
11.09.15
✎
10:38
|
(12) попробуй двойные ковычки (имя файла), проверь доступность (куда пишешь).
|
|||
14
aleksander1sk
11.09.15
✎
10:39
|
(13) Как раз перед тем, как прочитать попробовал двойные кавычки - помогло, спасибо=)
|
|||
15
aleksander1sk
11.09.15
✎
10:40
|
Как закрыть форму и таблицу после того, как отчет сделается и сохранится?
|
|||
16
Масянька
11.09.15
✎
10:42
|
(15) Слушай, ну, открой уже стандарт, посмотри, почитай СП...
|
|||
17
aleksander1sk
11.09.15
✎
10:43
|
(16) Спасибо, просто не могу найти в функциях таблицы такую функцию=)
|
|||
18
Масянька
11.09.15
✎
10:46
|
(17) Если моя память не спит с кем-то другим, то таблицу не закрыть (программно). А форму - Форма.Закрыть().
|
|||
19
Остап Сулейманович
11.09.15
✎
10:48
|
(18) В данном случае Форму и открывать не нужно. А таблицу не нужно показывать. А сразу сохранить.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |