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

1c и Excel

01.05.2009, 13:32. Показов 63096. Ответов 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
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru