Браузер для ЭСФ (программа для электронных счет-фактур ИС ЭСФ esf.gov.kz)


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

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

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

       


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

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

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


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



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

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

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



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

      Всеобщее декларирование доходов и фотографирование имущества
      filomena71
      Сегодня, 09:34

      [Новость] Смешные новости и глупые инициативы.
      Senator_I
      Вчера, 19:11

      Интересные факты, фото, новости...
      Кайрат-F2
      Вчера, 16:42

      [Новость] ККМ online c 01.07.2015 и 01.01.2016 гг. для некоторых НП
      tahasan
      Вчера, 12:49

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

      Девальвация или инфляция в Казахстане?
      Senator_I
      17 июл 2018, 11:34

      [Есть вопрос, нерешенная проблема] Сервис поиска налогоплательщика
      Кайрат-F2
      17 июл 2018, 10:51

      Обращение в блог Председателя КГД МФ РК.
      Нуреке
      16 июл 2018, 11:54

      Проблемы образования.
      Кайрат-F2
      15 июл 2018, 06:35

      [Новость] Новости от 1С
      Кайрат-F2
      14 июл 2018, 15:00

      [Новость] С 15.02.2017 все ключи в СГДС стали Fatal Error
      physik_gumanitar
      13 июл 2018, 11:08

      [Делимся наработками] Файл авторасчета формы 910.00 на 2018 год
      timur_26_
      13 июл 2018, 02:11

      [Подшивка полезных тем] Необходимые документы в работе бухгалтерии
      Senator_I
      12 июл 2018, 18:25

      Файл авторасчета формы 200.00 (квартальная) на 2018 год
      filomena71
      11 июл 2018, 12:11

      Футбол-футбол
      timur_26_
      11 июл 2018, 02:11

      [Новость] Социальные, пенсионные отчисления
      timur_26_
      11 июл 2018, 02:03

      [Новость] Правила заполнения налоговых форм на 2018 год
      Tanyshencia
      06 июл 2018, 12:45

      [02.07.2018 обновлена] Форма 300.00 2018 год [Декларация по НДС]
      Кайрат-F2
      05 июл 2018, 21:58

      Анекдоты и смешные истории
      Senator_I
      03 июл 2018, 12:11

      [Новость] Банковские новости
      Senator_I
      29 июн 2018, 12:23

      [28.06.2018 обновлена] Обновление ИС СОНО версия 4.0.10
      Кайрат-F2
      28 июн 2018, 17:45

      Уплата налога на транспорт по VIN-коду
      Нуреке
      27 июн 2018, 13:36

      [Аналитика] Пенсионная система Казахстана - что нас ждет в старости
      Senator_I
      25 июн 2018, 10:44

      [05.09.2017 обновлена] knpplugin - плагин для браузера на Кабинет налогоплательщика
      ДарийкаМ
      22 июн 2018, 11:03

      [10.03.2016 обновлена] Форма 003.01 2014 год [Уведомление о применяемом режиме]
      daur
      22 июн 2018, 08:43

      [Новость] [goszakup.gov.kz] Веб-портал государственных закупок
      grigorjevskaja 6kola
      21 июн 2018, 16:33


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