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

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

[Есть вопрос, нерешенная проблема] Выгрузка из 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С Казахстан

       


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

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

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




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

      Тогда и мы с радостью примем Вашу помощь
      Отправьте С.М.С. на номер 3350 c текстом CE2333
      Латинскими (английскими, не русскими) буквами (для абонентов KCell, Activ, Dalacom, Pathword, Neo, Beeline, K-Mobile)
      Стоимость одной С.М.С. 170 тенге (KZT) с НДС

      Каждая Ваша С.М.С. сделает сайт лучше



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

      [Новость] Смешные новости и глупые инициативы.
      Кайрат-F2
      Сегодня, 18:27

      [Делимся наработками] Файл авторасчета формы 910.00 на 2017 год
      GRaiS
      Сегодня, 17:58

      Анекдоты и смешные истории
      Senator_I
      Сегодня, 15:47

      Трясет, однако !!!!
      Кайрат-F2
      Сегодня, 10:58

      [Новость] Электронные счет-фактуры в Казахстане, что нас может ждать
      Senator_I
      Вчера, 16:54

      Кино: новинки, любимые, советую посмотреть
      Кайрат-F2
      Вчера, 12:13

      Проблемы образования.
      Senator_I
      Вчера, 09:30

      [Новость] Новости от 1С
      makfromkz
      20 янв 2018, 09:48

      Начисление пени по налогам и другим обязательным платежам в
      Tanyshencia
      19 янв 2018, 16:47

      Музыка. Кто что любит и слушает.
      Кайрат-F2
      19 янв 2018, 16:19

      gov4c.kz - Официальный сайт ГК "Правительство для граждан"
      Кайрат-F2
      19 янв 2018, 01:05

      Футбол-футбол
      Senator_I
      18 янв 2018, 16:12

      Пеня по социальным и пенсионным отчислениям
      timur_26_
      18 янв 2018, 15:29

      Интересные факты, фото, новости...
      Кайрат-F2
      18 янв 2018, 15:22

      [Новость] Правила заполнения налоговых форм на 2018 год
      timur_26_
      18 янв 2018, 15:14

      [Новость] Новый Налоговый Кодекс РК 2018 года
      timur_26_
      18 янв 2018, 15:11

      [Справочный материал] Ставки платы за эмиссии в окружающую среду на 2018 год
      Senator_I
      17 янв 2018, 12:24

      [17.01.2018 обновлена] JRE необходимый для работы в Кабинете налогоплательщика
      Кайрат-F2
      17 янв 2018, 10:39

      ИС Декларант (ИС Акциз) версия 1.0.3.72 [от 25 декабря 2017]
      Кайрат-F2
      16 янв 2018, 16:18

      [05.10.2016 обновлена] ИС Декларант (ИС Акциз) версия 1.0.3.71 [от 4 октября 2016]
      lyubashulya
      16 янв 2018, 16:00

      Девальвация или инфляция в Казахстане?
      Necytij
      16 янв 2018, 12:39

      Теряем своих кумиров...
      Нуреке
      16 янв 2018, 11:12

      [Новость] Базовые ставки МРП, МЗП на 2018 год в Казахстане
      timur_26_
      15 янв 2018, 23:03

      Трудоустройство, вакансии, работа
      Senator_I
      15 янв 2018, 12:36

      [Новость] Касательно применения ККМ
      Senator_I
      15 янв 2018, 10:27

      Новости Астаны и Акмолинской области.
      Senator_I
      15 янв 2018, 08:54


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