:: Вопросы по 1С
Документ в Excel
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
БП 3
Каждые 5 дней автоматически создаем (из нащей БД, не 1С) документы РеализацияТоваровУслуг.
На их основании счета и счета фактуры.

А дальше проблема.
Надо все доки отослать по почте, и записать в нашу БД.
Для возможности клиентом скачать док из Личного кабинета.
Как сделано в 7.7
На основе сформированных доков, создается файл Excel.
Он заливается в БД, и отправляется по мылу.

Хотел так же в 8.3, и тут такой облом.
Не знаю как в Excel сохранить (не важно, можно пдф)
Ну гугл говорит что все просто
ТабДокумент.Записать(ПолныйПутьКФайлу,ТипФайлаТабличногоДокумента.XLS);
А вот как создать табличный документ... тут и облом(

Сегодня целый день промыкался, отслеживал как печатается Торг-12
Что накопал:
ТаблицаСведений = ПечатьТорговыхДокументов.ПолучитьОписаниеТОРГ12();
ТабДок = ПечатьТОРГ12(ТаблицаСведений, ОбъектыПечати, ПараметрыПечати)
Как получить ОбъектыПечати и ПараметрыПечати не докопался.
Но четкое представление что делаю через зад.

Главное таких вопросов то нагуглил.
Наверное все очевидно для профи?

Хотелось бы некую процедуру
СохранитьДокументВЕксель(Документ, файл)

Это было бы правильно.
Возможно такое? куда копать?
Ratings: 0 negative/0 positive
Re: Документ в Excel
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Накидал простенький тест вывода в ексель.
&НаКлиенте
Процедура ВывестиНапечать(Команда)
ТабличныйДокумент = Новый ТабличныйДокумент;
ВывестиНапечатьНаСервере(ТабличныйДокумент);
ТабличныйДокумент.Записать("D:\1S\05032020\Test.xlsx",ТипФайлаТабличногоДокумента.XLSX);
ТабличныйДокумент.ОтображатьСетку = Ложь;
ТабличныйДокумент.ОтображатьЗаголовки = Ложь;
ТабличныйДокумент.ТолькоПросмотр = Истина;
ТабличныйДокумент.Показать("Список документов ""Реализация товаров и услуг""");
КонецПроцедуры
&НаСервере
Процедура ВывестиНапечатьНаСервере(ТабличныйДокумент)
СхемаКомпоновкиДанных = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
НастройкиКомпоновкиДанных = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
НастройкиКомпоновкиДанных.ПараметрыВывода.УстановитьЗначениеПараметра("МакетОформления", "Зеленый");
НастройкиКомпоновкиДанных.ПараметрыВывода.УстановитьЗначениеПараметра("Заголовок",
"Список документов ""Реализация товаров и услуг""");
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновкиДанных);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КонецПроцедуры

Все сохраняется.
Сам подход видимо верный.
Но как получить ТабличныйДокумент пока в тумане.
Наверное через менеджер объекта.
Копаю...(((
Ratings: 0 negative/0 positive
Re: Документ в Excel
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
Через менеджер объекта.

&НаСервере
Функция Команда1Сервер()
ТабДокумент = Неопределено;
ТекДок = Документы.РеализацияТоваровУслуг.НайтиПоНомеру("0000-000001", ТекущаяДата()); // Оборвите мне руки
Если НЕ ЗначениеЗаполнено(ТекДок) Тогда
Сообщить("Не найден");
Возврат ТабДокумент;
Иначе
Сообщить(ТекДок);
КонецЕсли;
// 1-ый Параметр
МассивДокументов = Новый Массив;
МассивДокументов.Добавить(ТекДок);
// 2-ой Параметр
ПараметрыПечати = Новый Структура;
// 3-ий Параметр
МассивМакетов = Новый Массив;
//МассивМакетов.Добавить("ТОРГ12_БезУслуг");
МассивМакетов.Добавить("ТОРГ12");
КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(МассивМакетов);
// 4-ый Параметр
ОбъектыПечати = Новый СписокЗначений;
// 5-ый Параметр
ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
Документы.РеализацияТоваровУслуг.Печать(МассивДокументов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
Если КоллекцияПечатныхФорм.Количество() > 0 Тогда
ТабДокумент = КоллекцияПечатныхФорм[0].ТабличныйДокумент;
КонецЕсли;
Возврат ТабДокумент;
КонецФункции
&НаКлиенте
Процедура Команда1(Команда)
ТабДокумент = Команда1Сервер();
Если ТипЗнч(ТабДокумент)=Тип("ТабличныйДокумент") Тогда
ТабДокумент.Показать();
КонецЕсли;
КонецПроцедуры

PS. Пример - бухгалтерия 3.0.75.58



Исправлено 1 раз(а). Последнее : pasha_usue, 23.03.20 14:51
Ratings: 0 negative/0 positive
Re: Документ в Excel
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
Аспид
Накидал простенький тест вывода в ексель.
Простенький пример у него. Гы-гы-гы. Через СКД. (;Ж
Ratings: 0 negative/0 positive
Re: Документ в Excel
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Вот опять заминка.
По приведенному сохраняю акт, торг-12 и счет Фактуру.
А вот со счетом на оплату, беда(((
Они при печати счета, не используют свой менеджер объекта. И вообще, не могу отловить, как его на печать натравить...(((
Ratings: 0 negative/0 positive
Re: Документ в Excel
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
pasha_usue
Аспид
Накидал простенький тест вывода в ексель.
Простенький пример у него. Гы-гы-гы. Через СКД. (;Ж
Это я просто проверял, как табличный документ в екселе сохранится)
Ratings: 0 negative/0 positive
Re: Документ в Excel
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
Аспид
Вот опять заминка.
По приведенному сохраняю акт, торг-12 и счет Фактуру.
А вот со счетом на оплату, беда(((
Они при печати счета, не используют свой менеджер объекта. И вообще, не могу отловить, как его на печать натравить...(((
А потому что они за каким-то лысым х..м запихали печать счета на оплату в обработку ПечатьСчетаНаОплату.

Приблизительно так (не проверял):
Обработки.ПечатьСчетаНаОплату.Печать(МассивДокументов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);

Подозреваю, обработка универсальная для печати счёта из нескольких разных документов (СчетНаОплатуПоставщика, СчетНаОплатуПокупателю и т.п.)
Ratings: 0 negative/0 positive
Re: Документ в Excel
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Спасибо. Теперь все работает)
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 3 (Гостей: 3)

© 2000-2024 Fox Club 
Яндекс.Метрика