Как зарегистрироваться на форуме?

Блог имени Потомок (темы, которые создал(а) участник форума Потомок)

[Есть вопрос, нерешенная проблема] Выгрузка из 1с 7.7 в Excel

Программы серии 1C для бухгалтерии Казахстана (1С:Предприятие, Бухгалтерский учет, Зарплата и Управление Персоналом, Управление Торговлей, Торговля и Склад, Зарплата и Kадры и т.д.).

[Есть вопрос, нерешенная проблема] Выгрузка из 1с 7.7 в Excel

Сообщение Потомок » 19 мар 2015, 10:26

Добрый день..Знатоки 1с..Подскажите пожалуйста мне неучу..такую штуку...потребовалось нам чуть модернизировать нашу старую 7.7 базу..она написана с нуля под наше производство...Есть документ в ней Производство - в нем делаются расчеты продукции.Теперь нужно чтоб данные документа выгружались в Excel..Я накидал обработку которая сохраняет в Excel..но только почему то по одной строчке из документа...а не все строки ...Ткните пожалуйста что не правильно ..
Код: Выделить всё
Процедура Сформировать()
    //Создание объекта MS Excel
    Excel = СоздатьОбъект("Excel.Application");
    //Создаём новую книгу в Excel
    Excel.WorkBooks.Add();
    Excel.WorkSheets.Add.Name="IMPORT" ;
    //Задаём ширину колонок
    Excel.WorkBooks(1).WorkSheets("IMPORT").Columns(1).ColumnWidth = 9;
    Excel.WorkBooks(1).WorkSheets("IMPORT").Columns(2).ColumnWidth = 9;
    Excel.WorkBooks(1).WorkSheets("IMPORT").Columns(3).ColumnWidth = 9;
    Excel.WorkBooks(1).WorkSheets("IMPORT").Columns(4).ColumnWidth = 9;
    Excel.WorkBooks(1).WorkSheets("IMPORT").Columns(5).ColumnWidth = 9;
    Excel.WorkBooks(1).WorkSheets("IMPORT").Columns(6).ColumnWidth = 9;
   Excel.WorkBooks(1).WorkSheets("IMPORT").Columns(7).ColumnWidth = 9;
    //Выводим столбцы с наименованием ячеек
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,1).value = "'(PIECES)";   //1
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,2).value = "'Quantity";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,3).value = "'Base";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,4).value = "'Height";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,5).value = "'Customer";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,6).value = "'Order";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,7).value = "'Family";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,8).value = "'Grinding";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,9).value = "'Standard";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,10).value = "'Priority";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,11).value = "'NoRotation";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,12).value = "'Tolerance";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,13).value = "'NoPrint";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,14).value = "'NLabels";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,15).value = "'Description";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,16).value = "'Note1";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,17).value = "'Note2";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,18).value = "'Note3";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,19).value = "'Code";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,20).value = "'Works";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,21).value = "'Zone";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,22).value = "'Inversion";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,23).value = "'TwinGroup";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,24).value = "'Yard";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,25).value = "'Dept";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,26).value = "'U";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,27).value = "'dB";
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,28).value = "'OriginalProject";  //28
   Excel.WorkBooks(1).WorkSheets("IMPORT").cells(1,29).value = "'OriginalCode";  //29 
   
             
   Счетчик = 2;
    Сч=0;   
    //////////////////---//////-////////////--/
   ВыбДокумент = СоздатьОбъект("Документ.Производство1");
   ВыбДокумент.ВыбратьДокументы(НачМесяца(ТекущаяДата()),КонМесяца(ТекущаяДата()));
   ВыбДокумент.УстановитьФильтр(0,1);
   //ВыбДокумент.ВыбратьДокументы();
   ВыбДокумент.ВыбратьДокументы(НачМесяца(ТекущаяДата()),КонМесяца(ТекущаяДата()));
   
   Пока ВыбДокумент.ПолучитьДокумент() = 1 Цикл
           Счет  = ВыбДокумент.Клиент;
           Сумма = ВыбДокумент.Квадратура;
         Колич = ВыбДокумент.Количество; 
         Высот = ВыбДокумент.Высота;
         Ширин = ВыбДокумент.Ширина;
         Dept="VETROCAMERA-V";
         НомерД= ВыбДокумент.НомерДок;
      //   НомерДок= ВыбДокумент.НомерДок;
         Inversion="'1";
         Tvin="'0";
         I8="'0";
         I9="'0";
         I10="'0";
         I11="'0";
         I12="'0";
         I13="'0";
         I14="'0";
         Сч=Сч+1;
         N="N";
         Y="=";
         Z="'";
            //Устанавливаем формат ячейки Excel для номера счета как строковый, чтобы отображались все 20 символов       
            
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,5). NumberFormat = "@";
            
            //Устанавливаем значение контрагента
            
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,5). value = Строка(Счет);
            
            //Рассчитываем значение суммы
            
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,8).value = Сумма;   
            
            
            
            //количество
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,2).value = Колич; 
            
            ///нумератор строки
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,1).value = N+Сч+Y; 
            ///нумератор коде
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,19).value = Z+Сч ; 
            // высота 
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,3). NumberFormat = "0";    
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,3).value =Строка(Высот*1000); 
            // ширина
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,4). NumberFormat = "0";
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,4).value =Строка(Ширин*1000);
            
            
            // dept
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,25).value = Dept;
            
            // номер документа
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,6).value = НомерД; 
            
            // инверсион + твин гоуп
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,22).value = Inversion; 
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,23).value = Tvin;
            
            // нули в ячейки с 8 по 14
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,8).value = I8; 
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,9).value = I9; 
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,10).value = I10; 
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,11).value = I11;
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,12).value = I12; 
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,13).value = I13;
            Excel.WorkBooks(1).WorkSheets("IMPORT").cells(Счетчик,14).value = I14;
            
            Счетчик = Счетчик + 1;
            
      КонецЦикла;
      
      
      
      Попытка
            
            Excel.ActiveWorkBook.SaveAs(СокрЛП(Каталог)+"\"+ВыбДокумент.НомерДок+".xls");
            
      Исключение
            
      КонецПопытки;
      
      Excel.ActiveWorkBook.Close();
      
   КонецПроцедуры
Потомок
-------
 
Сообщения: 101
Зарегистрирован: 14 янв 2009, 14:16
Откуда: г. Семей
Профессия: Бухгалтер
Блог имени Потомок
Активность участника


Re: Выгрузка из 1с 7.7 в Excel

Сообщение shurik_kz » 19 мар 2015, 11:00

Потомок писал(а):Ткните пожалуйста что не правильно ..

Код: Выделить всё
  ВыбДокумент.ВыбратьДокументы(НачМесяца(ТекущаяДата()),КонМесяца(ТекущаяДата()));
     Пока ВыбДокумент.ПолучитьДокумент() = 1 Цикл

Этот цикл обходит документы по одному, а тебе нужен ещё цикл обхода строк документа.
То есть, внутри твоего цикла, после заполнения шапки документа, делаешь ещё один, типа такого:

Код: Выделить всё
   ВыбратьСтроки();
   Пока ПолучитьСтроку() = 1 Цикл
               // Здесь заполняешь значения полей Excel по каждой строке.
   КонецЦикла;
Аватара пользователя
shurik_kz
-------
 
Сообщения: 6927
Зарегистрирован: 17 сен 2008, 15:02
Откуда: Almaty
Профессия: IT Специалист
Блог имени shurik_kz
Активность участника

    Re: Выгрузка из 1с 7.7 в Excel

    Сообщение Потомок » 19 мар 2015, 11:18

    Добавил ....в цикл и все заработало...
    Пока ВыбДокумент.ПолучитьСтроку() = 1 Цикл


    Спасибо огромное.....а еще можно вопросик...а реально ли (хотя бы в какую сторону копать?)я хочу дополнить форму выборкой даты ...и чтоб те документы которые попали в эту выборку -проводились?
    Потомок
    -------
     
    Сообщения: 101
    Зарегистрирован: 14 янв 2009, 14:16
    Откуда: г. Семей
    Профессия: Бухгалтер
    Блог имени Потомок
    Активность участника

    Re: Выгрузка из 1с 7.7 в Excel

    Сообщение Потомок » 19 мар 2015, 11:33

    Вопрос снят....сделал дописав ВыбДОкумент.Провести();
    Еще раз спасибо за помощь!!!
    Потомок
    -------
     
    Сообщения: 101
    Зарегистрирован: 14 янв 2009, 14:16
    Откуда: г. Семей
    Профессия: Бухгалтер
    Блог имени Потомок
    Активность участника

    Re: Выгрузка из 1с 7.7 в Excel

    Сообщение shurik_kz » 19 мар 2015, 11:48

    Чем можем... :)
    Аватара пользователя
    shurik_kz
    -------
     
    Сообщения: 6927
    Зарегистрирован: 17 сен 2008, 15:02
    Откуда: Almaty
    Профессия: IT Специалист
    Блог имени shurik_kz
    Активность участника


      Привет. Мы ищем таланты:
      • Тебе интересен форум? Ты хочешь участвовать и развивать его?
      • Тебе интересно в твоей профессии?
      • Тебе есть чем поделиться из твоего опыта с коллегами на форуме? Есть чем поделиться из собственного опыта, научить или рассказать?
      Мы ищем таланты, которые помогут развить форум. Что взамен:
      • Получить приглашение на форум
      • Радость общения
      • Совместное развитие
      Как: об этом написано на странице: http://tandem.f2.kz/

      Вернуться в 1С Казахстан

       


      • Похожие темы
        Ответы
        Просмотры
        Последнее сообщение

      Кто сейчас на конференции

      Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 59


      Лучшие темы за неделю:

      [07.08.2024 обновлена] Шаблоны форм на 2024 год для ИС СОНО
      Кайрат-F2
      15 ноя 2024, 19:42



      Вам помог наш сайт?

      Тогда и мы с радостью примем Вашу помощь
      Перечислите любую сумму на Билайн-номер +7-777-398-41-00

      Каждое перечисление поможет форуму!



      Новые сообщения:

      Работа налоговых серверов в 4 квартале 2024 года
      Кайрат-F2
      20 ноя 2024, 10:08

      [19.11.2024 обновлена] e-Salyq Business - мобильное приложение
      Кайрат-F2
      19 ноя 2024, 00:07

      [07.08.2024 обновлена] Шаблоны форм на 2024 год для ИС СОНО
      Кайрат-F2
      15 ноя 2024, 19:42

      [15.11.2024 обновлена] Шаблоны форм на 2025 год для ИС СОНО
      Кайрат-F2
      15 ноя 2024, 19:41

      Экономика Казахстана к 2060 годам и сегодняшней рождаемость
      Кайрат-F2
      09 ноя 2024, 19:31

      Цены на овощи и фрукты в Казахстане
      Кайрат-F2
      07 ноя 2024, 04:45

      [30.10.2024 обновлена] [e-Salyq Azamat] eSalyq - Мобильное приложение
      Кайрат-F2
      30 окт 2024, 22:07

      [18.10.2024 обновлена] Шаблоны форм на 2023 год для ИС СОНО
      Кайрат-F2
      18 окт 2024, 04:40

      [18.10.2024 обновлена] Шаблоны форм на 2022 год для ИС СОНО
      Кайрат-F2
      18 окт 2024, 04:37

      [18.10.2024 обновлена] Шаблоны форм на 2021 год для ИС СОНО
      Кайрат-F2
      18 окт 2024, 04:35

      [18.10.2024 обновлена] Шаблоны форм на 2020 год для ИС СОНО
      Кайрат-F2
      18 окт 2024, 04:34

      [18.10.2024 обновлена] Правила заполнения налоговых форм на 2019 год
      Кайрат-F2
      18 окт 2024, 04:32

      [06.06.2022 обновлена] NCALayer - для запуска Java в браузере
      Кайрат-F2
      14 окт 2024, 14:35

      Девальвация или инфляция в Казахстане?
      Кайрат-F2
      11 окт 2024, 21:39

      [Новость] www.esf.gov.kz - Портал по выписке электронных счетов-фактур
      Кайрат-F2
      09 окт 2024, 18:44

      Работа налоговых серверов в 3 квартале 2024 года
      Кайрат-F2
      08 сен 2024, 00:42

      [28.12.2023 обновлена] AKMedia Browser 23.12.28[ЭСФ, обновление форм СОНО, Кабинет]
      Кайрат-F2
      27 авг 2024, 13:03

      [03.08.2024 обновлена] Версия ИС СОНО 4.0.39 [02.08.2024]
      daur
      19 авг 2024, 17:43

      portal.kgd.gov.kz
      Кайрат-F2
      18 авг 2024, 19:39

      Олимпиада
      Кайрат-F2
      13 авг 2024, 12:01

      [Новость] knp.kgd.gov.kz - Кабинет налогоплательщика ИСНА
      Кайрат-F2
      01 авг 2024, 21:55

      А вы знаете, что.............
      Кайрат-F2
      01 июл 2024, 12:46

      [Новость] Банковские новости
      Кайрат-F2
      13 июн 2024, 01:20

      Работа налоговых серверов в 2 квартале 2024 года
      Кайрат-F2
      13 июн 2024, 00:47

      [16.12.2022 обновлена] Транспортный клиент для ИС Акциз (Декларант)
      Кайрат-F2
      17 май 2024, 23:46

      [Новость] pki.gov.kz Национальный удостоверяющий центр РК
      Кайрат-F2
      02 май 2024, 15:11

      [Новость] online.stat.kz - отчеты в статистику через Интернет
      Кайрат-F2
      02 май 2024, 15:10


      Хостинг предоставлен Компанией Хостинг–Сервис HS.kz