7.7 1C & Excel

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем man37, 29 мар 2014.

  1. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Так под словом "посчитать" я и имел в виду написать код, который не нужно менять. Который сам посчитает количество номенклатуры и ячеек, которые нужно объединить.
  2. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Вот в этом и вопрос - как?
  3. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Если будет конкретный вопрос по реализации - подскажу. Сесть и сделать - нету столько времени. Угодник подойдёт поможет :)
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Сгруппировать в XLS? Так всегда можно узнать сколько строк.. Столько и позиций номенклатуры
  5. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Подскажите, пожалуста, как узнать сколько строк в каждой группе на данный момент?
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Встречный вопрос - какая структура?
  7. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Извиняюсь, не понял вопроса.
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Так вам нужно посчитать сколько элементов в группе ТМЦ 1с или в EXCEL?
  9. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Если это возможно, то хотя бы приблизительные коды обоих случаев, а там я уже буду пробовать, что мне лучше подойдет.
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    я просто вас не понимаю... Не ставите задачу, а просите конкретный код. Телепатов здесь нет.
    Вы сначала скажите какая перед вами стоит задача, а там уже посмотрим
  11. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    У меня есть прайс (бланк заказа), мы с Вами общались по поводу добавления столбца с общим остатком по фирме. Этот вопрос решен.
    Теперь через
    Код:
    Excel = СоздатьОбъект("Excel.Application");
    я выгружаю его в Excel и при выгрузке мне необходимо посчитать кол-во номенклатуры в группе, что бы в Excel сгруппировать их.
    т.е.
    Код:
    Excel.Range("9:19").Rows.Group();
    но такой код будет работать не правильно, если в группе номенклатуры добавили или удалили товар (диапазон увеличится - уменьшится). Вот мне и нужно программно определить диапазон для группировки.
  12. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Попробовал написать так
    Код:
    сч = 0;
            Пока ТекЭлем.ЭтоГруппа()= 0 Цикл
            сч = сч + 1; 
            КонецЦикла;
           
            КонСч = НомСтр + сч;
            Excel.Range("НомСтр:КонСч").Rows.Group();
    При выгрузке, просто виснет 1С.
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Вот ключевая фраза.. Покажите код выгрузки.
    Там-то и нужно установить счетчик....
  14. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Код:
    //Вставляем формулу
            Для НомСтр=7 По КоличСтрок-1 Цикл
                Excel.Cells(НомСтр,7).Formula="=(RC[-4])* (RC[-1])";
            КонецЦикла;      
            Excel.Cells(КоличСтрок,7).Formula="=SUM(R[-"+СокрЛП(КоличСтрок-8)+"]C:R[-1]C)
    сч = 0;
    Пока ТекЭлем.ЭтоГруппа()= 0 Цикл
    сч = сч + 1;
    КонецЦикла;
    КонСч = НомСтр + сч;
    Excel.Range("НомСтр:КонСч").Rows.Group();
    
    Я полночи думал, но еще не пробовал, может надо сделать так:
    Код:
    сч = 0;
    Пока ТекЭлем.ЭтоГруппа()= 0 Цикл
    сч = сч + 1;
    КонСч = НомСтр + сч;
    Excel.Range("НомСтр:КонСч").Rows.Group();
    КонСч= КоличСтрок-8; // по моему надо где-то использовать такую строку, а то при выгрузке в Excel 1С проверяет до конца листа
    КонецЦикла;
    
    А более полный код есть на 1 странице.
  15. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    или я дурак, или *опа с двумя буквами "п" пишется... нет у вас кода выгрузки номенклатуры в excel. Есть куски кода по работе с таблицей...
    Поэтому невозможно понять как вы выгружаете. Нужно ли вам пихать все в одну группу или сохранить структуру папок как в 1с...
    Почему из вас все клещами нужно тянуть? Прямо как партизан на допросе....

    З/Ы извините, немного погорячился.
  16. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Похоже, это я "слишком умный".
    Хотел сделать, что-то типа этого: http://yadi.sk/d/sjUsDm3YLwukv , но уже понял, что надо делать еще отдельно и выгрузку (рисовать таблицу и уже в нее через запрос выгружать товар и уже потом группировать).
  17. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    можно и напрямую... Без рисования таблицы. Но желательно через запрос конечно...
    В этом есть еще преимущество: если у вас будет более 5500 строк при сохранении в XLS - 1с повиснет. А напрямую - нет
  18. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Если я правильно понял, то после того как определили, что на компе есть Excel - надо писать запрос, потом группировать (как в файле).
    А вот, как с таблицей быть? Она возьмется из обработки сама?
  19. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Макет-форму можно сохранять из 1с в xls, а там ее уже открывать-заполнять
  20. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Как его сохранить?
    И при выгрузке вызывать, приблизительно так
    Код:
    Excel.Application.Workbooks.Open(ПутьКФайлу);
    ?

Поделиться этой страницей