Форум программистов, компьютерный форум, киберфорум
1С
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/339: Рейтинг темы: голосов - 339, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 10.03.2009
Сообщений: 47

1c и Excel

01.05.2009, 13:32. Показов 63049. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите плиз как сгруппировать строки при выводе номенклатуры из 1С в excel
видел делают так Лист1.Range(ТвойДиапазон).Rows.Group(); , я пишу Лист.Range(2,4).Rows.Group() но у меня чет не выходит, пишет Ошибка метода контекста (Range)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.05.2009, 13:32
Ответы с готовыми решениями:

Access - Excel, код не воспринимает количество строк в Excel более 65000
Добрый день! Есть БД (Access), есть файл Excel, где происходит обработка данных. Код ниже работает отлично, НО он не воспринимает...

Из Excel в DBGrid. Подключиться к рабочей книге MS Excel, как к базе данных.
Доброго времени суток! У меня возникли проблемы при выводе таблицы с Excel на DBGrid, а именно: после запроса вывести весь лист в DBGrid...

Excel: Сделать List (of Excel.Range) по столбцу с пустыми и заполненными ячейками
Доброго времени! За несколько часов так и не решил задачку. Файл Excel в столбце D имеет пронумерованные отдельные выборки. Надо...

40
1 / 1 / 0
Регистрация: 04.12.2005
Сообщений: 1,588
04.05.2009, 13:19
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от konst
KiR, про фильтр в экселе сможешь рассказать- как его делать.

2 поля не катит... в экселе есть колонка заказ.. вот она и говорит нам какие строки грузить, но проблема в том, что они сгруппированы и свернуты...
ну фильтр этот нужен только для визуального светрывания файла, 1С пофигу на него обычно. Ну тогда при загузке можешь вычитывать в цикле каждую строку с условием Если ПустаяСтрока("ЗаказИзФайла") = 1 продолжить иначе - обрабатываем данные
0
0 / 0 / 0
Регистрация: 10.03.2009
Сообщений: 47
04.05.2009, 15:02
т.е. 1с позволяет считывать свернутые(сгруппированный) строки, и их не надо предварительно разворачивать в экселе
0
1 / 1 / 0
Регистрация: 04.12.2005
Сообщений: 1,588
04.05.2009, 15:20
Цитата Сообщение от konst
т.е. 1с позволяет считывать свернутые(сгруппированный) строки, и их не надо предварительно разворачивать в экселе
по идее да (правда если мы имеем ввиду одно и то же)
0
0 / 0 / 0
Регистрация: 10.03.2009
Сообщений: 47
04.05.2009, 16:18
я под группировками понимаю + или - с левой стороны от строк в экселе, т.е. истроки можно сворачивать и разворачивать

Может кто подскажет, как сделать копирование из 1с, части файла экселя и вставки его в другой файл эксель
0
1 / 1 / 0
Регистрация: 04.12.2005
Сообщений: 1,588
04.05.2009, 16:36
думаю 1Ске без разницы, хотя попробуй, потом скажешь наверняка.
а зачем тебе еще и копирование?
0
0 / 0 / 0
Регистрация: 10.03.2009
Сообщений: 47
04.05.2009, 18:07
В эксель буду выводить список типов цен, а потом к этой строке необходимо присоединить еще 2 ячейки по просьбе заказчика.
0
1 / 1 / 0
Регистрация: 04.12.2005
Сообщений: 1,588
04.05.2009, 18:15
на прямую даж не знаю как лучше сделать. а так получается - грузить в ТЗ, а потом во второй файл...
0
0 / 0 / 0
Регистрация: 10.03.2009
Сообщений: 47
05.05.2009, 00:24
Столкнулся с проблемой, в экселе скрыта колонка, не могу найти как ее отобразить, может кто знает...
0
05.05.2009, 00:46
Columns("D").Hidden = False
Columns("B:E").Hidden = False (колонка/диапазон колонок).
Через макрорекордер можно все узнать, если что
0 / 0 / 0
Регистрация: 10.03.2009
Сообщений: 47
05.05.2009, 18:02
Вывожу в цикле строки в эксель, в каждой строке есть 4 колонки - ном-ра, цена, заявка и сумма. Проблема в том, что никак не могу в колонку самма записать формулу, которая было заявку умножала
бы на цену, причем заявка заполняется не из 1с, а пользователем в экселе. Как вставить формулу знаю Лист.Cells(НомерСтроки,НомерКолонки).For mula, а вот алгоритм формулы никак придумать не могу
Подскажите плиз как такое можно реализовать.
0
0 / 0 / 0
Регистрация: 07.07.2008
Сообщений: 1,401
05.05.2009, 18:21
Лист.Cells(НомерСтроки,НомерКолонки).For mula

мона попробовать на ячейке суммы цене
Лист.Cells(НомерСтроки,НомерКолонки).Val ue = "=R"+(НомерСтроки)+"C"+(НомерКолонки-2)+"*R"+(НомерСтроки)+"C"+(НомерКолонки-1)";

Если вторая слева от суммы - положим заявка (количество), а первая слева - цена.
для Formula примерно то-же самое
0
0 / 0 / 0
Регистрация: 10.03.2009
Сообщений: 47
05.05.2009, 23:40
Пишу так Лист.Cells(2,11).Formula = "=ЕСЛИ(ТипЦен="+Сч+";R"+(НомерСтроки)+"C "+(2+Сч+1)+"*R"+(НомерСтроки)+"C"+(Заявк а)+";0)"; возникает ошибка почему-то, хотя если Лист.Cells(2,11).Value = "ЕСЛИ(ТипЦен="+Сч+";R"+(НомерСтроки)+"C" +(2+Сч+1)+"*R"+(НомерСтроки)+"C"+(Заявка )+";0)"; и в самом экселе поставить впреди = все в порядке... считает

ТипЦен - имя ячейки, показывает какую из множества цен брать
Сч - счетчик в цикле это хочу сделать
0
06.05.2009, 01:06
Про цикл непонятно. Если значение в ТипЦен используется для выбора нужной колонки цен, то можно использовать функцию листа СМЕЩ, безо всяких циклов. Может, правда, я не понял чего.
0 / 0 / 0
Регистрация: 15.05.2007
Сообщений: 152
06.05.2009, 03:26
а может, проще в самой колонке, где лежит сумма в листе файла excel прописать формулу, а из1С только заносить аргументы для нее ?
Не раз доводилось выводить в excel данные по количеству проданного товара и его цене - сумма получается автоматически.
Правда, в тех случаях иностранные партнеры присылали шаблон, каковой вместо ручного заполнения мы делали автоматическим.
Суть была примерно в следующем - из первой колонки брали название товара, искали его по наименованию, определяли обороты за нужный период и клали во вторую колонку.
В 3-й лежала цена - а 4-я (сумма) вычислялась в excel. Конечно, там было все посложнее, но смысл передала верно.
0
0 / 0 / 0
Регистрация: 07.07.2008
Сообщений: 1,401
06.05.2009, 11:03
, хотя если Лист.Cells(2,11).Value = "ЕСЛИ(ТипЦен="+Сч+";R"+(НомерСтроки)+"C" +(2+Сч+1)+"*R"+(НомерСтроки)+"C"+(Заявка )+";0)";
Ну и поставь туда
Лист.Cells(2,11).Value = "=ЕСЛИ(ТипЦен="+Сч+";R"+(НомерСтроки)+"C "+(2+Сч+1)+"*R"+(НомерСтроки)+"C"+(Заявк а)+"
0
0 / 0 / 0
Регистрация: 10.03.2009
Сообщений: 47
06.05.2009, 13:12
У меня есть эксель в котором с ячейку вводится число, но там что-то прописано и при вводе числа больше чем заданное, выводится ошибка типа "введите цифру от 1 до 5" подскажите плиз как это исправить и где можно у видеть что там прописано. Вроде бы макросов нет никаких, не могу понять в чем дело.
0
0 / 0 / 0
Регистрация: 14.07.2007
Сообщений: 142
06.05.2009, 14:06
Поищи ВБА код в твоем екселе О_О ( хотя я не думаю что кто-то так уж извращался)
а еще лутше пересматри его аакуратно и еще раз
0
0 / 0 / 0
Регистрация: 10.03.2009
Сообщений: 47
09.05.2009, 23:25
Определяю кол-во строк и столбцов в экселе, с которого буду грузить данные, вот так
xlCellTypeLastCell = 11;
ExcelПоследняяСтрока = ExcelЛист.Cells.SpecialCells(xlCellTypeL astCell).Row;
ExcelПоследняяКолонка = ExcelЛист.Cells.SpecialCells(xlCellTypeL astCell).Column;

первую группировку и все ее внутренние группировки в экселе читает нормально(разворачивает все внутренние группировки), а вот группировку идущую после первой не разворачивает, т.е. строки которые есть в этой группировке не определяет, подскажите плиз что я не так делаю
0
0 / 0 / 0
Регистрация: 10.03.2009
Сообщений: 47
11.05.2009, 11:54
Может можно узнать как-то количество внутренних группировок, чтоб потом сделать так ActiveSheet.Outline.ShowLevels RowLevels:=4. т.е если руками, то нажать на последнюю 4 ку в левом верхнем углу(для группировок) и все группировки развернуть(откроются)
0
0 / 0 / 0
Регистрация: 10.03.2009
Сообщений: 47
13.05.2009, 21:50
Столкнулся с такой проблемой - формирую формулу таким образом
ФормулаНачало = "=";
ФормулаКонец = "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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.05.2009, 21:50

Программа AtteStat1205 для Excel, встраивает модули в Excel, как ее удалить
Скачал удивительную программу AtteStat1205 интересные методы, все круто расписано. но не могу удалить ...

Матлаб выводит в excel число, а excel отображает его как дату
Здравствуйте, вот кусок кода. Ну проблемма вся в заголовке. str = {'Передаточное число третьей передачи равно ',num2str(i3)}; ...

Скопировать один лист из одной книги excel в другую книгу excel
Мне нужно скопировать 1 лист из одной книги excel в другую книгу excel. Именно лист, а не диапазон ячеек. Диапазон ячеек я нашёл тут...

Возможно ли использование Variant Excel, Book, Sheet без установленного Excel?
Можно ли сделать как написано в названии?

Microsoft.Office.Interop.Excel.Application процессы Excel в памяти компьютера
Добрый день, коллеги! Программа работает с файлами Excel. В каждой процедуре я указываю, что приложение должно быть не видимым...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru