8.х Цикл

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

  1. TopicStarter Overlay
    islam786
    Offline

    islam786 Опытный в 1С

    Регистрация:
    18 дек 2011
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    Добрый день. Подскажите пожалуйста как можно создать цикл по страницам в панели
  2. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    Код:
    Для Каждого Страница Из ЭлементыФормы.МояПанель.Страницы Цикл
    // Я что-то сделал со страницей
    КонецЦикла;
  3. TopicStarter Overlay
    islam786
    Offline

    islam786 Опытный в 1С

    Регистрация:
    18 дек 2011
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    Спасибо. Что то я не подумал
  4. TopicStarter Overlay
    islam786
    Offline

    islam786 Опытный в 1С

    Регистрация:
    18 дек 2011
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    Еще один вопрос. Как загрузить эту панель со страницами в Эксель, что бы каждая страница была в отдельном листе
    . В каждой странице есть поле табличного документа
  5. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Обходите листы в экселе и попутно создаете вкладки в 1С.
  6. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    Только наверно наоборот ))) Обходить вкладки в 1С создавая листы в экселе :)
  7. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    Алекс, тут обратная ситуация - обходите страницы панели и для каждоый выбирайте/создавайте лист в екселе
  8. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    А, ну да, пардон, я думал идет загрузка из екселя :)
  9. TopicStarter Overlay
    islam786
    Offline

    islam786 Опытный в 1С

    Регистрация:
    18 дек 2011
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    А как из поля табличного документа выгрузить все значения в таблицу значений?
  10. TopicStarter Overlay
    islam786
    Offline

    islam786 Опытный в 1С

    Регистрация:
    18 дек 2011
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    И как выгрузить все таблицу значений в лист экселя
  11. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Выкладываю кусок кода сохранения главной книги в excel каждый счет на своей странице. Всю обработку выложить не могу, ком. решение
    Код:
    &НаСервере
    
    Процедура КомандаСохранитьНаСервере(ИмяФайла)
       
        Объект = СоздатьОбъектЕксель();
        Если Объект = Неопределено Тогда
            Возврат;
        КонецЕсли;
       
        КнигаПриемник = Объект.WorkBooks.add();
        Пока КнигаПриемник.Worksheets.Count > 1 Цикл
            КнигаПриемник.Worksheets(1).Delete();
        КонецЦикла;
       
        ОбъектФормы = РеквизитФормыВЗначение("Отчет");
        МакетСоответствияСчетов = ОбъектФормы.ПолучитьМакет("СоответствиеСчетов");
       
        КоличествоСтрок = МакетСоответствияСчетов.КоличествоСтрок();
        ТаблицаСчетов = Новый ТаблицаЗначений;
        ТаблицаСчетов.Колонки.Добавить("Счет", Новый ОписаниеТипов("Строка"));
        Итератор = 1;
        Пока Итератор <= КоличествоСтрок Цикл
            СтрокаСчета = МакетСоответствияСчетов.ПолучитьСтроку(Итератор);
            ИндексРазрыва = Найти(СтрокаСчета, "-");
            ЛевыйСчет = Сред(СтрокаСчета, 0, ИндексРазрыва-1);
            НоваяСтрока = ТаблицаСчетов.Добавить();
            НоваяСтрока.Счет = ЛевыйСчет;
            Итератор = Итератор + 1;
        КонецЦикла;
        ТаблицаСчетов.Свернуть("Счет");
       
        Для каждого Счет из ТаблицаСчетов Цикл
            Попытка
                ПредставлениеСчета = СтрЗаменить(Счет.Счет, ".", "");
                ТабличныйДокумент = ЭтотОбъект["Р" + ПредставлениеСчета];
            Исключение
                Сообщить("Р" + ПредставлениеСчета + " Не найден и не может быть записан");
                Продолжить;
            КонецПопытки;
            НомерПоследнегоЛиста = Объект.WorkSheets.Count;
            ЛистПриемник = Объект.WorkSheets.Add(,Объект.WorkSheets(НомерПоследнегоЛиста)); // Ставим в конец книги
            ЛистПриемник.Cells.Clear(); // чистим созданный лист
           
            ВременныйФайл = ПолучитьИмяВременногоФайла("xls");
            ТабличныйДокумент.Записать(ВременныйФайл, ТипФайлаТабличногоДокумента.XLS97);
            Попытка
                Объект.Workbooks.Open(ВременныйФайл);
                ТекущаяКнига = Объект.Workbooks.Item(Объект.Workbooks.Count);
               
                ТекущаяКнига.Sheets(1).Cells.Copy(ЛистПриемник.Cells);
                ТекущаяКнига.Close();
            Исключение
            КонецПопытки;
           
            ЛистПриемник.Name = Счет.Счет;
            Попытка
                УдалитьФайлы(ВременныйФайл);
            Исключение
               
            КонецПопытки;
        КонецЦикла;
       
        КнигаПриемник.Worksheets(1).Delete();
        КнигаПриемник.saveas(ИмяФайла);
       
        Объект.visible = Истина;
        Объект = Неопределено;
       
    КонецПроцедуры

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