На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Организуем VBA-FAQ! Если у Вас есть предложения, выскажитесь здесь: Пишем FAQ, интересно Ваше мнение
Популярные разделы FAQ:    user posted image Общие вопросы    user posted image Особенности VBA-кода    user posted image Оптимизация VBA-кода    user posted image Полезные ссылки

1. Старайтесь при создании темы указывать в заголовке или теле сообщения название офисного приложения и (желательно при работе с Office 95/97/2000) его версию. Это значительно сократит количество промежуточных вопросов.
2. Формулируйте вопросы как можно конкретнее, вспоминая (хотя бы иногда) о правилах ВЕЛИКОГО И МОГУЧЕГО РУССКОГО ЯЗЫКА, и не забывая, что краткость - сестра таланта.
3. Не забывайте использовать теги [сode=vba] ...текст программы... [/code] для выделения текста программы подсветкой!
4. Темы с просьбой выполнить какую-либо работу полностью за автора здесь не обсуждаются и переносятся в раздел ПОМОЩЬ СТУДЕНТАМ.
Модераторы: Old Bat, MIF
Страницы: (4) « Первая ... 2 3 [4]  все  ( Перейти к последнему сообщению )  
> Как вытащить справочники из 1С через V83.COMConnector , Запрос в 1 С из EXCEL
    Marchello
    открой конфигуратор в 1с и у каждого документа\справочника смотри как называются реквизиты для обращения к ним.

    Цитата Marchello @
    Например
    Выборка.ФактическийАдрес
    не работает

    А какой запрос ты делаешь?

    Ты в начале код на 1с пиши и смотри что получается, затем сможешь без труда перенести в вба. Структуру я писал дл справочника и абстрактный запрос. + ты всегда можешь из 1С в эксель писать.
      Твой пример кода пытаюсь разобрать.

      ExpandedWrap disabled
        Public Sub v8connect()
        Set Base = v8con.Connect(StrConnectBase)
        Dim cntr As Object
        Dim Справочник As Object
        Dim Выборка As Object
        Dim n As Integer
        Set Справочник = Base.Справочники.Контрагенты
        Set Выборка = Справочник.Выбрать()
        n = 1
        While Выборка.следующий() = True
            Cells(n, 1).Value = Выборка.Код
            Cells(n, 2).Value = Выборка.ИНН
            Cells(n, 3).Value = Выборка.КПП
            Cells(n, 4).Value = Выборка.Наименование
            Cells(n, 5).Value = Выборка.ЮрЛица.Наименование
            n = n + 1
        Wend
        End Sub


      (n, 5) как не корёжил из того, что в инете нарыл - ничё не подходит.
      Сообщение отредактировано: Marchello -
        Цитата Marchello @
        (n, 5) как не корёжил из того, что в инете нарыл - ничё не подходит.

        Дергай запросом. Табличные части отдельные таблицы. Ещё раз - делай вначале в 1С, затем переноси в vba
          Как тащить таблицы целиком? Примерчик кинь пожалуйста.
          Можно ли как-то вывести имена полей или вообще всю структуру справочника?

          Темповую базу пока не поставили, а в рабочую лезть пока страшновато.

          Кроме COM есть ещё варианты запросов делать в 1С?

          В 16 excel куча разных вариантов языков на основе которых можно сделать запрос и вывести в PQ.

          Читал статейку сейчас, что com это чисто поддержка для старых версий и она через какое-то время наверно исчезнет.

          У нас сервачная версия на PostgreSQL.
            Цитата Marchello @
            Кроме COM есть ещё варианты запросов делать в 1С?

            1 Через веб сервисы
            2 Напрямую в БД
            3 Через файлы


            Цитата Marchello @
            Можно ли как-то вывести имена полей или вообще всю структуру справочника?

            открой конфигуратор и посмотри.

            тестовую базу можно к себе на локальный ПК поставить.
              Цитата ^D^ima @
              2 Напрямую в БД

              Ты сейчас научишь плохому >:(
                Я имею ввиду протоколы какие на локалке можно юзать?

                Если база на postgre, то я так понимаю что можно к ней законектиться стандартными средствами эксель?
                Может ещё какие понимает язычки?
                В инете ничего про пост и 1с не нашел. Только что серваки н нём делают.

                Цитата ^D^ima @
                2 Напрямую в БД

                БД имеешь ввиду в обход конфига напрямую с таблами?

                Добавлено
                Цитата kosten @
                Ты сейчас научишь плохому >:(

                Для того мы тут и есть. ;)
                Сообщение отредактировано: Marchello -
                  Цитата kosten @
                  Ты сейчас научишь плохому

                  Хорошо. Из БД. Но это делать крайне сложно, все таблицы поименованы так что не поймешь что за что отвечает.

                  Цитата Marchello @
                  Может ещё какие понимает язычки?

                  Я не слышал.
                    Цитата ^D^ima @
                    Но это делать крайне сложно, все таблицы поименованы так что не поймешь что за что отвечает.

                    Это еще и нарушает лицензионное соглашение.
                      Цитата ^D^ima @
                      открой конфигуратор и посмотри.

                      Не могу.
                      Доступа нет к конфигу.
                      Имел бы давно бы уже посмотрел.
                        Цитата Marchello @
                        Можно ли как-то вывести имена полей или вообще всю структуру справочника?

                        Программно через метод Метаданные требуемого объекта. В СП почитай.
                          Принтскринов наделал справочника.
                          Что-то работает, а что-то не работает с какого-то перепуга.
                          До строки СтранаРегистрации работает.
                          А она уже не работает.
                          Хотя в справочнике стоят на одном уровне.
                          С чем такое связано?
                          Я так подозреваю, что там ссылка стоит на СтраныМирв, но как обращаться к таким полям?

                          9 строка тоже не работает.

                          ExpandedWrap disabled
                            Set Справочник = Base.Справочники.Контрагенты
                            Set Выборка = Справочник.Выбрать()
                            n = 1
                            While Выборка.следующий() = True
                                Cells(n, 1).Value = Выборка.Код
                                Cells(n, 2).Value = Выборка.ИНН
                                Cells(n, 3).Value = Выборка.КПП
                                Cells(n, 4).Value = Выборка.Наименование
                                Cells(n, 5).Value = Выборка.НаименованиеПолное
                                Cells(n, 6).Value = Выборка.ДатаРегистрации
                                Cells(n, 7).Value = Выборка.КодПоОкпо
                                Cells(n, 8).Value = Выборка.СтранаРегистрации
                                Cells(n, 9).Value = Выборка.ТабличныеЧасти.КонтактнаяИнформация.НомерТелефона


                          Блин.
                          Вытащить-то надо фигню какуюто - несколько таблиц, а времени чую убью немерянно.
                            Цитата Marchello @
                            Cells(n, 8).Value = Выборка.СтранаРегистрации

                            Попробуй написать так
                            ExpandedWrap disabled
                              Cells(n, 8).Value = Выборка.СтранаРегистрации.Наименование
                              ОУЕ! :rose:

                              А в табличнуючасть как залезть?
                              Cells(n, 9).Value = Выборка.ТабличныеЧасти.КонтактнаяИнформация.Город (имя и наименование не подходит)
                                Цитата Marchello @

                                А вот ТЧ надо перебирать, например, в цикле.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0409 ]   [ 18 queries used ]   [ Generated: 28.03.24, 17:52 GMT ]