7.7 Выгрузка справочника в Excel

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем MyNameNoName, 28 ноя 2013.

  1. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте. Сразу прошу прощения, с версией 7.7 никогда не работал. Необходимо выгрузить справоник в Excel. Фрагмент кода:
    Код:
    Выборка = Справочники.Клиенты.Выбрать();
    НомерСтроки = 1;
    Пока Выборка.Следующий() Цикл
    Лист.Cells(НомерСтроки, 1).Value = Выборка.ФИО;
    НомерСтроки = НомерСтроки+1;
    КонецЦикла;
    
    Выборка = Справочники<<?>>.Клиенты.Выбрать();
    Переменная не определена (Справочники)
    Пока Выборка.Следующий() <<?>>Цикл
    Выражение должно иметь логический тип

    Как доступ к справочникам в 7-е получать?
  2. rshakiro
    Offline

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

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    примерно:
    Код:
    СпрКлиенты = СоздатьОбъект("Справочник.Клиенты");
    СпрКлиенты.ИспользоватьВладельца(КакаяТоПерем);
    Если СпрКлиенты.ВыбратьЭлементы()>0 Тогда
    
    КонецЕсли;
  3. roalang
    Offline

    roalang Опытный в 1С

    Регистрация:
    31 мар 2008
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Необходимо для начала определить справочник, к которому Вам надо обратиться.
    Код:
    Спр=СоздатьОбъект("Справочник.<Нужный справочник>");
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент()=1 цикл
    
    //разные действия
    
    КонецЦикла;
    
  4. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Спасибо.
    В 8-ке удобная функция в конфигураторе автоввод. Я набрал Справочники. , а мне в ответ выпадающее меню со всеми доступными значениями. В 7-ке такой возможности нет?
  5. roalang
    Offline

    roalang Опытный в 1С

    Регистрация:
    31 мар 2008
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Нет, в 1С 7.7 такой возможности нет.
  6. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Можно тупо сохранить таблицу как файл excel
  7. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Что вы имеете ввиду?
  8. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Вывести список в обычную таблицу (макет) и ее уже сохранить в как XLS
  9. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Я еще смотрю тут нет и режима отладки? Т.е. как мне узнать все реквизиты нужного мне справочника при необходимости? Например, я открываю нужный мне справочник в конфигураторе, и смотрю все реквизиты, а там нет ни кода, ни наименования. Я понимаю что это стандартные реквизиты но как мне при необходимости разобраться? Только через синтаксис-помощник?

    А как это сделать?
  10. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Они как бы есть всегда. Характеристики - слева от списка реквизитов.
    Если длина=0 их нет у справочника. Обращаемся так:
    Спр.Код, Спр.Наименование
    где Спр объект типа справочник

    Таб.Записать(ВашеИмяФайл,1);
    таб - объект типа таблица
  11. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    А почему все значения выгружаются нормально, а одно не хочет(тип число, длина 15, точность 2)
    Код:
    Лист.Cells(НомерСтроки, 17).Value = Спр.СуммаКредита;
    Ошибка записи данных файла. Плохой тип переменной.
    Думаю все из-за Value?
  12. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    а вы в существующий файл грузите или в новый?
  13. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    НЕ получается выгрузить всю таблицу сразу:
    Код:
    Процедура Сформировать()
    Попытка
    Попытка
    ExcelПриложение = СоздатьОбъект("Excel.Application");
    Исключение
    Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена на данном компьютере!");
    Возврат;
    КонецПопытки;
    Книга = ExcelПриложение.WorkBooks.Add();
    Лист = Книга.WorkSheets(1);
    
    Спр = СоздатьОбъект("Справочник.Клиенты");        
    ИмяФайла = "F:\Контрагенты.xls";
    Спр.Записать(ИмяФайла, 1);
    
    
    Книга.SaveAs(ИмяФайла);
    ExcelПриложение.Quit();
    
    // Записать xls файл
    Сообщить("Файл выгружен успешно: "  + имяФайла );
    Исключение
    // Обработка ошибок экспорта данных из 1С в Excel
    Сообщить("Ошибка записи данных файла :" + имяФайла);
    Сообщить(ОписаниеОшибки());  
    Попытка
    ExcelПриложение.Quit();
    Исключение
    КонецПопытки;
    КонецПопытки;
    
    Слишком много параметров передано при вызове функции/процедура объекта

    Попробовал только что в новый - таже ошибка.

    комментирую этот реквизит - начинает работать.
  14. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    ну что-то вы совсем погорячились... собрали все в одну кучу. Вы хоть анализировали что вам писали? Щас напишу вам как нужно
  15. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    По поводу того параметра я поня - нужно было использовать Число()
    А вот с выгрузкой таблицей не могу разобраться.
  16. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    вот вам пример выгрузки списка клиентов в XLS и на экран одновременно.
    http://disk.tom.ru/sck4x47
    имя файла задается внутри модуля. При необходимости доработать напильником

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