v7: Сформировать программно отчет и сохранить его в excel #728648


#0 by Akasyra
Добрый вечер, уважаемые форумчане. Может у кого-то есть пример как программно сформировать отчет(продажи по контрагенту) и сохранить в формате *.xls на диск. Вообще цель такая: из сильно переписанной торговли и склада выгрузить контрагентов со справочником доп реквизитов в упп 1.3, а также прихватить вышеуказанные отчеты в виде прикрепленных файлов. Решение представляю себе так: 1) выгрузка контрагента, получение запросом данных из справочника с доп реквизитами, и заполнение остальных реквизитов в карточке контрагента, программное формирование запроса и вывод егов файл на диске, передача адреса файла в структуре, при загрузке прикрепление файла к карточке контрагента. Я не программировала в 1с 77, но придется осваивать, видимо. Может у кого-то етсь опыт подобных операций, а может и реализованный код (с надеждой...), поделитесь, а?)
#1 by tixis
#2 by tixis
не "пользователь", а конеткст
#3 by tixis
Вот для встроенного отчета ОткрытьФорму(<?>,) Синтаксис: ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>) Назначение: Открывает визуальную форму отчета. Возвращает: 1 - если действие выполнено, 0 - иначе. Параметры: <ОписательОбъекта> - строковое выражение. ''Отчет.ХХХХХ'' , где ХХХХХ - вид отчета; <КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен). Замечание: Пока форма открыта, тип значения параметра <КонтекстФормы> равен 100, когда закрыта - 0.
#4 by Akasyra
Там все будет при выгрузке данных выполняться, как форму-то открывать? хмм.. То есть мне на до в контекст передавать 0?
#5 by Akasyra
А как на диск сохранить в формате *.xls?
#6 by фобка
Записать
#7 by Garykom
нанять специалиста? задача разовая (судя по "программно" нет) или нет? если постоянно нужно данные перегружать то ole в помощь, или даже если нужно "очень быстро" прямые запросы
#8 by mehfk
Вариант для программиста, который не хочет писать код: 1. Справочник контрагентов перенести с помощью обработок печать справочника.ert и загрузка данных из табличного документа.epf 2. Отчеты переносятся руками с помощью пользователей. Как только пользователю понадобился такой отчет, а его еще нет - он заходит в 7-ку, формирует. Потом в 8-ке прикрепляет.
#9 by Akasyra
Пользователи фрустрируют, им надо около 2к контрагентов перенести за неделю с отчетами. Перегрузить контрагентов было просто и через кд, но надо выдернуть из справочника с доп реквизитам дополнительные сведения, а также им нужны события с эти контрагентом связанные. Я специалист, просто интересуюсь возможно у кого-то есть готовый вариант, переделать готовое часто проще чем написать заново. Задача разовая поэтому КД.
#10 by Garykom
перенести все и потом (после пометки пользователями на удаление ненужных контрагентов) удалить ненужное?
#11 by Akasyra
Вопрос не в том что переносить что оставлять а в том есть у кого обработка которая формирует в 1с 77 отчет программно и сохраняет на диск в xls или нет.
#12 by Chameleon1980
что обработка формировать должна?
#13 by Chameleon1980
а то я до конца мысль не могу уловить. смешались люди, кони.
#14 by Chameleon1980
я вот счас еще раз топик прочитаал и еще больше не понял. ниже же пишущие люди по-ходу тоже ничего не поняли и начали предлагать все - кто как понял чуть-чуть. Какую конкретно инфу вам в отчете из 7.7 нужно видеть? Давайте конкретно по столбцам чтоль?
#15 by ДенисЧ
"Я специалист" Черепашка... А не специалист
#16 by Akasyra
Группировка Покупатель Дата Номенклатура. Столбец количество дата. Что было отгружено данному покупателю в такую-то дату.
#17 by Akasyra
Чего обзываешься? Научи как стать птицей?
#18 by Garykom
такую обработку по выгрузке и сохранению в эксель писать быстрее чем потратили на поиск, примерно 20 минут нужно наверно надо спрашивать как сделать/написать/запрограммировать такое, а не "где взять обработку" - и тогда можно научиться летать самому вместо обстругивания чужих крыльев
#19 by Chameleon1980
А теперь внимание!!! А какая конфигурация?
#20 by Garykom
тут же телепаты сплошные на форуме? разве не догадался что "сильно переписанной торговли и склада"
#21 by Chameleon1980
т.е. покупатели у нас повторяются раз по датам расписывать ? Правильно понимаю? А еще они по номенклатуре, а не только по датам
#22 by Akasyra
Торговля+Склад, редакция 9.2 сильно переписанная На семерке не писала. Не знаю как. Выгрузка контрагента: выгружаются данные, потом отрабатывает алгоритм, который формирует программно отчет (группировка:Дата, номенклатура, столбец количество) сохраняется в эксель и возвращает в структуру исходящих параметров адрес файла.
#23 by Chameleon1980
не ну я не задумываясь про то, что тс не упомянул конфу сначала,почему-то тоже про ТиС подумал. А потом стоп, думаю, а вдруг не
#24 by Akasyra
Извиняюсь за не последовательность изложения задачи.
#25 by Chameleon1980
а это где в 7.7 и возвращает в структуру исходящих параметров адрес файла
#26 by Garykom
Дык моя бы сделать кнопочку в УПП, по нажатию на которую открывается формочке где списочек контрагентов (и дата или еще что там нуна) из ТиС, при тыке на контрагента видна номенклатура и прочее, можно поставить галочки у контрагентов и есть кнопочка "Загрузить", по нажатию на которую происходит загрузка данных в УПП
#27 by Chameleon1980
в ТиС есть регистр "Продажи" в котором вся нужная инфа есть в тис есть конструктор запроса и конструктор макета. правда я его (конструктор макета и никогда не использовал, но для решения вами вашей задачи вам быстрее будет с ним). пробуйте, а там конкретно спрашивайте что не получается
#28 by Akasyra
Базу со старыми контрагентами сокро должны будут стереть со старого сервака. УПП не дописанная и дописывать нельзя.
#29 by Garykom
+ а каким образом происходит выгрузка из ТиС неважно и нафига тут вообще нужен Ёксель не понял...
#30 by Akasyra
лан буду пробовать... *Пошла учиться программировать в 1с 77
#31 by Garykom
точно не крашеная? про внешние отчеты и обработки не в курсе?
#32 by Akasyra
Не поняла вопрос: внешние отчеты и обработки знаю, но если нет базы источника (смотри 28) как можно получить какие-то данные?
#33 by Garykom
моя тоже не понимать, если нет базы источника то откуда мы выгружаем? ЗЫ типа из базы перенести в файлики екселя, потому что базу скоро грохнут это конечно гениально
#34 by Chameleon1980
А стандартные отчеты если покрутить не катят? Например отчет по продажам покупатель, товар, дата, количество - все там видим
#35 by Chameleon1980
#36 by Akasyra
стандартные отчеты и хотим покрутить. в той базе другая организация была но менеджерам мегаважно сохранить наработанную инфу, при внедрении руководство сказало что ничего переносить не будем. Сейчас половина той базы уже перекочевала в новую, но в старой базе инн не вели и присоединить инфу нереально. Попросили на тестовую УПП 1.3 перенести контрагентов, события, а также прикрепленные файлы с отчетами по продажам. Есть идеи как реализовать по-другому, поделитесь.
#37 by Akasyra
О! Благодарю)
#38 by Garykom
проблема забить инн? или другим образом сопоставить контрагентов? ЗЫ но насчет "в старой базе инн не вели" реально не понял... а как тогда доки на реализацию печатали? они же без данных контрагентов недействительны
#39 by Akasyra
Да фиг их знает. Говорят что эта база была чисто для сиэрэма, ведения склада и заказов на производство. КАК они так жили я без понятия...
#40 by Chameleon1980
ну само собой это только запрос таблицу то осилите нарисовать и даты на форму вынести? у вас вообще с 77 никак?
#41 by Akasyra
Вообще с 77 никак. таблицы осилю. формы не будет будет алгоритм из правил обмена данными вызываться. но это тоже, наверн, осилю. А как таб док сформированный в эксель сохранить?
#42 by Chameleon1980
метод?
#43 by Chameleon1980
Синтаксис: Записать(<ИмяФайла>,<ТипФайла>) Назначение: Записать таблицу в файл. Параметры: <ИмяФайла> - имя файла. <ТипФайла> - необязательный параметр. Числовое или строковое выражение, определяющее тип файла: · отсутствует, 0 или ''MXL'' - формат 1C; · 1 или ''XLS'' - формат Ms Excel; · 2 или ''HTM'' или ''HTML'' - формат HTML; · 3 или ''TXT'' - формат TXT. Замечание: Метод может использоваться при работе с таблицей в режиме ввода данных.
#44 by Akasyra
Благодарю за выдержки из сп(я так поняла))) Буду пробовать)
#45 by lavalit
Еще есть замечательная технология OLE при помощи которой можно и ёксель нарисовать и ворд и еще кучу всякого разного. Кстати вариант в хорош конечно , прост. но таки иногда формат "ломает". через ОЛЮ - долго нудно..местами противно..громоздко...и если не важен факт скорости создания подобного документа... но надежнее и более корректно в смысле оформления документа... да и еще можно плюс "фенечки" типа формул каких нибудь там понапихать в компаниии с макросами.... чего "клюшки" напрямки не умеют делать
#46 by Масянька
Извините, что вмешиваюсь, а зачем грохать старую базу?
#47 by lavalit
А где тут предложение грохнуть базу?
#48 by Chameleon1980
да в ексель вообще много можно чем писать, а если через олю то вообще сразу в какой нить подходящий регистр сведений писать в упп.
#49 by Масянька
См.
#50 by aka AMIGO
А создать обычный отчет (mxl) и сохраните его как xls - предлагали? Это гораздо проще, однако, если первый желательный шаг к цели - файл.. а вообще-то ОЛЕ/СОМ достаточно для первого раза описание в книгах по языку 1С.. ЗЫ. раз в поддержке/администрировании 1С - то стОит изучить метод..
#51 by Chameleon1980
#52 by Chameleon1980
да я тож так думал (чё бы просто не сохранять. Может тс думает, что 7.7 в ексель не умеет), но потом подумал, что для начала именно отчет и нужен. Предложил в типовой поискать - даже похожее на их требования нашел.
#53 by Akasyra
Так и хочу сформировать отчет и сохранить в xls...
#54 by Akasyra
с оле пока подожду.. сейчас через кд сделаю...
#55 by aka AMIGO
есть 2 способа: 1. простой, как я предложил в
#56 by aka AMIGO
#57 by Akasyra
не хочу сложный) Хочу просо сформировать отчет по продажам с отбором по контрагенту программно и уже сформированный табличный документ(mxl) сохранить в xls Ну или не сохранять а при выгрузке передать в исходящее свойство и при загрузке создать файл и прикрепить к создаваемому Объекту (контрагенту).
#58 by Akasyra
Обмен будет через выгрузку загрузку xml идти...
#59 by Garykom
тут почти полсотни постов пытаются объяснить разными словами что, то что придумали, намного сложнее и хуже чем прямая загрузка из базы в базу, без всяких промежуточных ёкселей
#60 by Chameleon1980
я вчера тебе текст запроса давал. Добавь отбор и выводи в таблицу
#61 by Chameleon1980
пля нужно брать да делать а не лясы точить на форуме. что неполучается спрашивать. или хотим, чтобы до конца дописали. как обычно Кнопка - "сделать все"
#62 by Akasyra
Ничего в запросе не меня оставила как есть (точнее меняла, но успеха это не возымело). А проблема следующая, вместо просто строки с номенклатурой у меня вываливается 3 строки 1 строка родитель верхнего уровня, 2 строка вложенный родитель, 3 строка сама номенклаура, когда уровень вложенности другой то и количество строк другое.. как бороться?
#63 by Garykom
решение см. в делаешь кнопку на форме с именем "СделатьФсе" и надписью "Сделать все" далее просишь подкинуть код чтобы туда вставить...
#64 by Chameleon1980
А где что-то типа ПечДень=Запрос.День ПечКонтрагент=Запрос.Покупатель и т.д. перед выводами соотв. секций? и это.... Макет-то нарисовали?
#65 by Chameleon1980
ДатаНачала, ДатаКонца на форму. Ооо. Я смотрю хоть условие воткнули. ВыбКонтрагент на форме есть? Вы по каждому отдельно будете формировать? если нет - условие выкидываем - т.к. в запросе по контрам и так шагает. я как понял задачу - так и хочу помочь. но если честно полностью в цель не въехал.
#66 by Mihenius
Йоксель еще никто не предлагал?
#67 by Ёпрст
воткни "Без Групп" в группировки в текст запроса.
#68 by Ёпрст
Ну и заместо Таб.Показать пиши Таб.Записать и наслаждайся вопросом из
#69 by Ёпрст
т.е формой своей в экселе
#70 by Akasyra
Ой, благодарю . Дык, конструктором на последней странице предложение делается о формировании макета, на макете все параметры прописаны в виде (Запрос.количество) я подумала что и переписывать ничего не надо, хорошо то как =). А в эксель не буду грузить сразу в справочник прикрепленных файлов.. Там ещё события надо в текстовый файл сформировать и контактные данные вытащить, помимо категорий и свойств...
#71 by Akasyra
ЗЫ. В эксель не буду грузить, сразу в справочник прикрепленных файлов.
#72 by Akasyra
В общем, надо делать через Оле...
#73 by KrivosheevEV163rus
Клёво. Я как раз попкорном запасся.
#74 by Akasyra
=)
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С