Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / 1С и Excel / 17 сообщений из 17, страница 1 из 1
01.05.2009, 20:47
    #35964773
k0nst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
Необходимо написать обработку выгружающую номенклатуру в файл Excel, но проблема в том, чтоб мой выходной файл Excel был идентичен файлу образцу(в нем есть логотип фирмы, группировки строк, отборы, формат ячеек и т.д.). Возможно ли перенести хотя бы часть файла образца в мой файл, используя файл образец в качестве макета, если да, то как это можно реализовать.
...
Рейтинг: 0 / 0
02.05.2009, 00:47
    #35964903
k0nst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
Подскажите плиз как в восьмерке сгруппировать строки в excel
видел делают так Лист1.Range(ТвойДиапазон).Rows.Group(); , но у меня чет не выходит
...
Рейтинг: 0 / 0
03.05.2009, 16:46
    #35965803
k0nst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
Подскажите плиз как выбрать номенклатуру иерархически плюс чтоб оно еще была и с ценой. Цену номенклатуры выбираю так
ВЫБРАТЬ
| ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
| ЦеныНоменклатуры.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ЦеныНоменклатуры.ТипЦен КАК ТипЦен,
| ЦеныНоменклатуры.Цена КАК Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
а вот как прикрепить эту цену к иерархическому списку номенклатуры не знаю
...
Рейтинг: 0 / 0
03.05.2009, 17:18
    #35965815
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
Процедура ПереченьУслуг(ТабДок, ВидНоменклатуры, ДатаОтчета) Экспорт
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(ПереченьУслуг)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Макет = ОтчетОбъект.ПолучитьМакет("ПереченьУслуг");
Запрос = Новый Запрос;
Запрос.Текст =

"ВЫБРАТЬ
| СпрНоменклатураМастер.Родитель КАК ГруппаУслуг,
| ПРЕДСТАВЛЕНИЕ(СпрНоменклатураМастер.Родитель),
| СпрНоменклатураМастер.Ссылка КАК Услуга,
| СпрНоменклатураМастер.Представление,
| ЦеныСрезПоследних.Цена
|ИЗ
| Справочник.НоменклатураМастер КАК СпрНоменклатураМастер
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних(&ДатаОтчета, ) КАК ЦеныСрезПоследних
| ПО ЦеныСрезПоследних.Номенклатура = СпрНоменклатураМастер.Ссылка
|ГДЕ
| СпрНоменклатураМастер.ВидНоменклатуры = &ВидНоменклатуры
|ИТОГИ ПО
| ГруппаУслуг ИЕРАРХИЯ";

Запрос.УстановитьПараметр("ВидНоменклатуры", Перечисления.ВидыНоменклатуры.Услуга);
Запрос.УстановитьПараметр("ДатаОтчета", ДатаОтчета);
Результат = Запрос.Выполнить();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьГруппаУслугИерархия = Макет.ПолучитьОбласть("ГруппаУслугИерархия");
ОбластьГруппаУслуг = Макет.ПолучитьОбласть("ГруппаУслуг");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаГруппаУслуг = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаГруппаУслуг.Следующий() Цикл
Если ВыборкаГруппаУслуг.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда
Область = ОбластьГруппаУслугИерархия;
Иначе
Область = ОбластьГруппаУслуг;
КонецЕсли;
Область.Параметры.Заполнить(ВыборкаГруппаУслуг);
ТабДок.Вывести(Область, ВыборкаГруппаУслуг.Уровень());
ВыборкаДетали = ВыборкаГруппаУслуг.Выбрать();
Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень(),, Ложь);
КонецЦикла;
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);


http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=537541
...
Рейтинг: 0 / 0
03.05.2009, 21:29
    #35966006
k0nst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
Программист 1с , огромное спасибо. В экселе строки сгруппированы и развернуты, необходимо их свернуть, чтоб еще раз сгруппировать - подскажите плиз как свернуть группировку из 1с для строк экселя сделать
...
Рейтинг: 0 / 0
03.05.2009, 23:29
    #35966090
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
Загрузи их в ТаблицуЗначений и ТЗ.Свернуть(), ТЗ.Сортировать()

Если хочешь сделать это в самом экселе - то:
1 сервис макрос начать запись
2 сверни руками в этой таблице
3 останови макрос и посмотри его код

По моему так : Лист1.Range(ТвойДиапазон).Group();
...
Рейтинг: 0 / 0
04.05.2009, 16:26
    #35967327
k0nst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
Программист 1с , огромное спасибо.
А про ТаблицуЗначений можно поподробней рассказать как это будет выглядеть.

Вообще задача стоит в том чтобы найти алгоритм по которому можно было бы выводить справочник номенклатура(получается номенклатура из предыдущего запроса) в эксель в точно в таком же виде, т.е. чтоб было сохранение древовидной структуры... группы справочника - это группировка строк в экселе.
...
Рейтинг: 0 / 0
04.05.2009, 16:35
    #35967352
k0nst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
Попробовал через Тз чет не выходит, может как-то деревозначений задействовать.
...
Рейтинг: 0 / 0
04.05.2009, 21:26
    #35967885
k0nst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
Может кто знает где прописан в 1С этот алгоритм - открываешь справочник.. право кнопкой вывести список...Выводить в Табличный документ... Получается Табличный документ с группировками как мне надо... Может кто встречал
...
Рейтинг: 0 / 0
04.05.2009, 22:36
    #35967958
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
k0nstПопробовал через Тз чет не выходит, может как-то деревозначений задействовать.Сохраняй в дереве. Перебирай в рекурсии все ветки и группируй как тебе надо
...
Рейтинг: 0 / 0
04.05.2009, 23:15
    #35967986
BestProgrammist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
k0nst,

Посмотри в сторону "Компановка данных", сделай все настройки в 1С, а затем просто сохраняй программно как .xls. Недавно была такая же задача(образец c форматированием в Excel). Решение на компановке очень и очень удобно получилось, и при экспорте он и группировки и форматирование сохраняет.
...
Рейтинг: 0 / 0
05.05.2009, 00:20
    #35968032
k0nst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
BestProgrammist,
спасиб за совет, уже наверно переходить на другую идею поздно - хочется добить эксель.

Вот и вопрос возник - 1 если в эксели строки группированы, можно ли загрузить их в 1с, и надо ли их разгруппировать перед загрузкой, если да то как это сделать.
...
Рейтинг: 0 / 0
05.05.2009, 16:04
    #35969821
k0nst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
Может кто подскажет, как сделать копирование из 1с, части файла экселя и вставки его в другой файл эксель
...
Рейтинг: 0 / 0
06.05.2009, 17:46
    #35972728
k0nst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
Вывожу в цикле строки в эксель, в каждой строке есть 4 колонки - ном-ра, цена, заявка и сумма. Проблема в том, что никак не могу в колонку самма записать формулу, которая было заявку умножала
бы на цену, причем заявка заполняется не из 1с, а пользователем в экселе. Как вставить формулу знаю Лист.Cells(НомерСтроки,НомерКолонки).Formula, а вот алгоритм формулы никак придумать не могу
Подскажите плиз как такое можно реализовать.
...
Рейтинг: 0 / 0
06.05.2009, 23:29
    #35973166
k0nst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
Пишу так Лист.Cells(2,11).Formula = "=ЕСЛИ(ТипЦен="+Сч+";R"+(НомерСтроки)+"C"+(2+Сч+1)+"*R"+(НомерСтроки)+"C"+(Заявка)+";0)"; возникает ошибка почему-то, хотя если Лист.Cells(2,11).Value = "ЕСЛИ(ТипЦен="+Сч+";R"+(НомерСтроки)+"C"+(2+Сч+1)+"*R"+(НомерСтроки)+"C"+(Заявка)+";0)"; и в самом экселе поставить впреди = все в порядке... считает

ТипЦен - имя ячейки, показывает какую из множества цен брать
Сч - счетчик в цикле это хочу сделать
...
Рейтинг: 0 / 0
10.05.2009, 23:11
    #35978510
k0nst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
Определяю кол-во строк и столбцов в экселе, с которого буду грузить данные, вот так
xlCellTypeLastCell = 11;
ExcelПоследняяСтрока = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Row;
ExcelПоследняяКолонка = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Column;

в самом эскеле заполнено 30 строк, а у меня ExcelПоследняяСтрока почему-то 1167, подскажите плиз что я не так делаю
...
Рейтинг: 0 / 0
14.05.2009, 21:37
    #35986849
k0nst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и Excel
Столкнулся с такой проблемой - формирую формулу таким образом
ФормулаНачало = "=";
ФормулаКонец = "0";
СтрашийИндекс = ТипЦен.ВГраница()+1;
Для Сч = 0 По ТипЦен.ВГраница() Цикл
Число1 = 2+Сч;
СтрашийИндекс = СтрашийИндекс - 1;
ФормулаНачало = ФормулаНачало + "IF(ТипЦен="+СтрашийИндекс+",RC[-"+Число1+"]*RC[-1],";
КонецЦикла;

Для Сч = 0 По ТипЦен.ВГраница() Цикл
ФормулаКонец = ФормулаКонец + ")";
КонецЦикла;

Формула = ФормулаНачало + ФормулаКонец;

В результате получаю примерно следующее
"=IF(ТипЦен=7,RC[-2]*RC[-1],IF(ТипЦен=6,RC[-3]*RC[-1],IF(ТипЦен=5,RC[-4]*RC[-1],IF(ТипЦен=4,RC[-5]*RC[-1],IF(ТипЦен=3,RC[-6]*RC[-1],IF(ТипЦен=2,RC[-7]*RC[-1],IF(ТипЦен=1,RC[-8]*RC[-1],IF(ТипЦен=0,RC[-9]*RC[-1],0))))))))
для 8 типов цен

и

=IF(ТипЦен=8,RC[-2]*RC[-1],IF(ТипЦен=7,RC[-3]*RC[-1],IF(ТипЦен=6,RC[-4]*RC[-1],IF(ТипЦен=5,RC[-5]*RC[-1],IF(ТипЦен=4,RC[-6]*RC[-1],IF(ТипЦен=3,RC[-7]*RC[-1],IF(ТипЦен=2,RC[-8]*RC[-1],IF(ТипЦен=1,RC[-9]*RC[-1],IF(ТипЦен=0,RC[-10]*RC[-1],0)))))))))
для 9 типов цен

Проблема в том, что формула для 8 типов цен выводиться в эксель нормально, а вот для 9 при выводе пишет ошибку

даже не знаю в чем и проблема, вроде бы все правильно, но почему не работает, подскажите плиз...
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / 1С и Excel / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]