На главную Наши проекты:
Журнал   ·   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) [1] 2 3 ... Последняя » все  ( Перейти к последнему сообщению )  
> Как вытащить справочники из 1С через V83.COMConnector , Запрос в 1 С из EXCEL
    Всем здравия!
    Опыта в 1с нет, тч извиняйте.
    Конектюсь через СОМ.

    В общем задача вытащить все данные из:
    Справочники: Номенклатура, Контрагенты.

    Можно ли их вытащить сразу двумерной таблой?
    Если нет, то как построчно вывести?
    ExpandedWrap disabled
          Dim cntr As Object
          Dim trade As Object
          Dim Òîâàð As Object
          Set cntr = CreateObject("V83.COMConnector")
          Set trade = cntr.Connect("File=""C:\Program Files\1cv8""; Usr=""Пупкин"";")

    На этом мои познания закончились, т.к. дальше 1С код идет. :wall:

    Если можно примеры вывода и ввода.

    Заранее весьма благодарен.
      https://forum.infostart.ru/forum9/topic141309/
      См. "// Пример на языке MS Visual Basic". А использовать - как обычный рекордсет, с поправкой на имена его методов и свойств.
        Цитата Akina @
        https://forum.infostart.ru/forum9/topic141309/
        См. "// Пример на языке MS Visual Basic". А использовать - как обычный рекордсет, с поправкой на имена его методов и свойств.

        На последней строке выдаёт ошибку.
        С чем это может быть связано?
        Может какой реф ему ещё нать?

        Добавлено
        Может админ что перекрыл или в 1с?
        Я первый кто конектится так у нас.
        Сообщение отредактировано: Marchello -

        Прикреплённый файлПрикреплённый файл____________________.png (11,85 Кбайт, скачиваний: 717)
          У тебя есть и 1С, и коннектор, и ещё много чего.
          У меня нет ничего вышеперечисленного, включая интерес.
          И кто из нас должен экспериментировать и читать маны? Или хотя бы смотреть в окно OB и на сообщения об ошибках?
            Покопался в загашниках 12-летней давности, накопал компонент для делфей как раз
            основанный на COM к одинэске, вот модуль.
            ПЫСЫ. Программирование тогда только начинал постигать, т.ч. говнокод присутствует в огромных дозах, типа утечек памяти и глобальных переменных,
            но всё что тебе надо и даже больше чем надо там есть.
            Прикреплённый файлПрикреплённый файлole1c.pas (27,46 Кбайт, скачиваний: 304)
              Цитата Marchello @
              В общем задача вытащить все данные из:
              Справочники: Номенклатура, Контрагенты.

              Версия 1С какая?
                Цитата Bas @
                Цитата Marchello @
                В общем задача вытащить все данные из:
                Справочники: Номенклатура, Контрагенты.

                Версия 1С какая?

                1С:Предприятие 8.3 (8.3.10.2650)
                Бухгалтерия предприятия, редакция 3.0 (3.0.57.17)
                  Цитата Marchello @
                  File=""C:\Program Files\1cv8"

                  Это у тебя реально там база лежит, или ты коннектишся к экзешнику? :D

                  Добавлено
                  ExpandedWrap disabled
                    Sub Кнопка1_Щелчок()
                     
                    Dim cntr As Object
                       Dim Buh As Object
                       Dim Контрагенты As Object
                       Dim Выборка As Object
                     
                       Dim n As Integer
                       Dim Count As Integer
                      
                       Set cntr = CreateObject("V83.COMConnector")
                       Set Buh = cntr.Connect("File=""C:\TestBase\Каврецкая"";")
                       Set Контрагенты = Buh.Справочники.Контрагенты
                      
                       Set Выборка = Контрагенты.Выбрать()
                      
                       n = 1
                       While Выборка.следующий() = True
                        
                      
                         Cells(n, 1).Value = Выборка.Наименование
                         Cells(n, 2).Value = Выборка.ИНН
                         n = n + 1
                       Wend
                     
                    End Sub


                  Добавлено
                  Цитата Marchello @
                  вытащить все данные из:
                  Справочники: Номенклатура, Контрагенты.

                  Тебе придется указывать конкретные реквизиты этих справочников
                    Цитата ^D^ima @


                    Это у тебя реально там база лежит, или ты коннектишся к экзешнику? :D


                    Хороший вопрос!
                    Админа вымучил.
                    Короче база лежит на серваке, у юзеров клиенты.
                    Работает через постгри.


                    То что реквизиты указывать это я понимаю.
                    Мне примерчик нужен как именно из ёкселя обращаться к таблам и запросы делать.
                    Дальше уже сам буду разбираться.
                    Сообщение отредактировано: Marchello -
                      Цитата Marchello @
                      Работает через постгри.

                      Не важно.
                      Как в 1с-ке строка подключения, то и сюда пихай.В списке баз внизу строка.

                      Добавлено
                      Цитата Marchello @
                      Мне примерчик нужен как именно из ёкселя обращаться к таблам и запросы делать.

                      выше примерчик
                        Цитата Marchello @
                        Мне примерчик нужен как именно из ёкселя обращаться к таблам и запросы делать.

                        Вот пример для 1С. Сам адаптируешь для экселя.
                          Добавил в пример запрос
                          ExpandedWrap disabled
                            Sub Кнопка1_Щелчок()
                             
                            Dim cntr As Object
                               Dim Buh As Object
                               Dim Контрагенты As Object
                               Dim Выборка As Object
                               Dim Запрос As Object
                               Dim ВыборкаЗапрос As Object
                             
                              
                               Set cntr = CreateObject("V83.COMConnector")
                               Set Buh = cntr.Connect("File=""C:\TestBase\Каврецкая"";")
                               Set Контрагенты = Buh.Справочники.Контрагенты
                             
                               Set Выборка = Контрагенты.Выбрать()
                             
                               n = 1
                               While Выборка.следующий() = True
                             
                             
                                 Cells(n, 1).Value = Выборка.Наименование
                                 Cells(n, 2).Value = Выборка.ИНН
                                 n = n + 1
                               Wend
                              
                              
                                  Set Запрос = Buh.NewObject("Запрос")
                                
                                Запрос.Текст = "ВЫБРАТЬ Номенклатура.Наименование КАК Наименование ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ  Номенклатура.Код = &Код"
                                
                                                          
                                                            
                                Запрос.УстановитьПараметр "Код", "00-00000291"
                                
                                Set ВыборкаЗапрос = Запрос.Выполнить.Выбрать()
                                
                               While ВыборкаЗапрос.следующий() = True
                             
                                 Cells(1, 3).Value = Выборка.Наименование
                              
                               Wend
                              
                             
                            End Sub
                            Цитата ^D^ima @

                            Все равно не хочет.
                            На первом set дольше висит но выдаёт ту же ошибку.
                            Может где что-то не так пишу?
                            Визуально базу на серваке не видно.
                            Может быть из-за этого?
                            Как проверить что ее хоть видит V83 при конекте?
                            Не понятно то ли база его отпихивает, то ли не видит вообще его.
                            У нас стандартная версия, может быть отключена внешняя обработка?

                            ExpandedWrap disabled
                              Sub Excel_to_trade()
                                  Dim cntr As Object
                                  Dim trade As Object
                                  Set connector = CreateObject("V83.COMConnector")
                                  Serv = "1c8server"
                                  Bs = "SRV-BUH"
                                  User = "Ìàð÷åâñêèé Ä. Å."
                                  Pass = vbNullString
                                  Set trade = connector.Connect("Srvr=""1c8server"";Ref=""SRV-BUH"";")
                               
                                  Set trade = connector.Connect("Srvr=" & Serv & ";" & "Ref=" & Bs & ";" & "Usr=" & User & ";" & "Pwd=" & Pass)
                                  Set trade = connector.Connect("Srvr=" & Serv & ";" & "Ref=" & Bs & ";" & "Usr=" & User & ";" & "Pwd=" & Pass & ";")
                               
                              End Sub
                              Цитата Marchello @
                              Как проверить что ее хоть видит V83 при конекте?

                              Ты в 1С базу-то открываешь?

                              Добавлено
                              советую что-бы идти дальше локально поставить копию к себе файловую базу.
                                Цитата kosten @

                                Благодарю.
                                Цитата ^D^ima @

                                Благодарю, то что надо.

                                Осталось только подключиться. :wall:

                                Добавлено
                                Цитата ^D^ima @

                                Алгоритм какой использовать?

                                Открыть локального клиента, а потом конектиться из экселя к серваку без указания паса и логина?
                                Или както ещё?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0446 ]   [ 22 queries used ]   [ Generated: 28.03.24, 09:24 GMT ]