8.х Загрузка из Ecxel управляемые формы

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем sveto4ek_u2, 29 авг 2017.

  1. TopicStarter Overlay
    sveto4ek_u2
    Offline

    sveto4ek_u2 Опытный в 1С

    Регистрация:
    14 май 2012
    Сообщения:
    114
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте!
    Переделываю обработки, созданные для БП 2.0, теперь для БП 3.0.
    Есть процедура, но на сервере не установлен Excel, а на клиенте не работает ТЗ = Новый ТаблицаЗначений, как правильно решить данный вопрос?
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.128
    Симпатии:
    953
    Баллы:
    204
    1. Установить на сервер ЕXCEL, что является более правильным решением.
    2. ТЗ сделать в виде реквизита формы обработки.
  3. TopicStarter Overlay
    sveto4ek_u2
    Offline

    sveto4ek_u2 Опытный в 1С

    Регистрация:
    14 май 2012
    Сообщения:
    114
    Симпатии:
    0
    Баллы:
    26
    Сделала ТЗ в виде реквизита формы обработки.
    2017-08-29_15-37-16.png
    а дальше помогите с кодом, пожалуйста:

    &НаКлиенте
    Процедура ПрочитатьКнигуПродаж()

    Сообщить("Должно БЫТЬ: 1к- пп, 2к- код, 3к- СчетФактура, 7к- Наименование, 8к-ИНН\КПП, 20- № ПреОбразИНН");
    НомерЛиста = 1;


    //Пытаемся подключиться к Excel
    Попытка
    Excel = новый COMОбъект("Excel.Application");
    Исключение
    Сообщить("Похоже, Excel на компьютере не установлен. Необходимо выполнить установку/переустановку Excel.");
    Возврат;
    КонецПопытки;

    //Подключились удачно, открываем файл
    Excel.Workbooks.Open(ФайлВыгрузки);
    Excel.Sheets(НомерЛиста).select();

    ТЗ = Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("пп", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(5,0)) );
    ТЗ.Колонки.Добавить("Код",Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(2)) );
    ТЗ.Колонки.Добавить("СчФактур",Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(70)) );
    ТЗ.Колонки.Добавить("Наименование",Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(120)) );
    ТЗ.Колонки.Добавить("ИннКПП", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(70)) );
    ТЗ.Колонки.Добавить("ОбразИНН", Новый ОписаниеТипов("Строка",Новый КвалификаторыСтроки(70)) );
    ТЗ.Колонки.Добавить("ИНН", Новый ОписаниеТипов("Строка",Новый КвалификаторыСтроки(12)) );
    ТЗ.Колонки.Добавить("КПП", Новый ОписаниеТипов("Строка",Новый КвалификаторыСтроки(12)) );
    ТЗ.Колонки.Добавить("ин2", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(1,0)) );

    мНомер = "";
    мkkk = 0;
    кол = 0;
    шагкол= 0;
    //Открываем необходимый лист
    Excel.Sheets(НомерЛиста).select()

    ...................

    Excel.Quit();
    КонецПроцедуры
  4. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    7.807
    Симпатии:
    496
    Баллы:
    104
  5. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.128
    Симпатии:
    953
    Баллы:
    204
    нужные колонки необходимо добавлят вручную в тз.
  6. TopicStarter Overlay
    sveto4ek_u2
    Offline

    sveto4ek_u2 Опытный в 1С

    Регистрация:
    14 май 2012
    Сообщения:
    114
    Симпатии:
    0
    Баллы:
    26
    а если допустим мне не обязательно выводить на форму таблицу? при этом в excel содержится около 10 тыс строк
  7. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.128
    Симпатии:
    953
    Баллы:
    204
    наличие реквизита формы никоим образом не означает обязательное выведение его на форму.
  8. TopicStarter Overlay
    sveto4ek_u2
    Offline

    sveto4ek_u2 Опытный в 1С

    Регистрация:
    14 май 2012
    Сообщения:
    114
    Симпатии:
    0
    Баллы:
    26
    ладно, пока разобралась с этим вопросом
    теперь возникла такая ошибка:
    Ошибка при вызове конструктора (ЗаписьТекста)
    Текст = новый ЗаписьТекста(Объект.КаталогСохранения);//ТекстовыйДокумент;
    по причине:
    Ошибка при выполнении файловой операции '\\10.3.1.36\grelovskaya\1c\XXXinn.txt'

    процедура выполняется на сервере, доступ к файлу с сервера есть, права полные
    вот кусочек кода:
    Текст = новый ТекстовыйДокумент;
    Текст.ДобавитьСтроку("Реестр ИНН");
    ......
    Текст.Записать(Объект.КаталогСохранения+"\"+мро+"inn.txt", КодировкаТекста.ANSI);
  9. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.128
    Симпатии:
    953
    Баллы:
    204
    Как проверяли, что права на файл у сервера 1с есть?
  10. TopicStarter Overlay
    sveto4ek_u2
    Offline

    sveto4ek_u2 Опытный в 1С

    Регистрация:
    14 май 2012
    Сообщения:
    114
    Симпатии:
    0
    Баллы:
    26
    зашла с сервера в эту папку
  11. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.128
    Симпатии:
    953
    Баллы:
    204
    ээээ....сервер 1С тоже под вашим аккаунтом запущен?
  12. TopicStarter Overlay
    sveto4ek_u2
    Offline

    sveto4ek_u2 Опытный в 1С

    Регистрация:
    14 май 2012
    Сообщения:
    114
    Симпатии:
    0
    Баллы:
    26
  13. TopicStarter Overlay
    sveto4ek_u2
    Offline

    sveto4ek_u2 Опытный в 1С

    Регистрация:
    14 май 2012
    Сообщения:
    114
    Симпатии:
    0
    Баллы:
    26
    всем спасибо, можно закрывать тему))))

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