Прямой доступ к базе данных 77 из 8ки

19.04.11

Интеграция - Перенос данных 1C

Иногда бывает необходимость получить какие-то данные из 77 для того чтобы видеть всю историю работы до перехода на в 8ку. Вот один из моих вариантов получения данных из архивных баз 77. База данных 77 на SQL. P.S. 77-Комплексная
Перем СоединениеБазы    Экспорт;

Процедура КнопкаСформироватьНажатие(Кнопка)
    СоединениеБазы = Новый COMОбъект("ADODB.Connection");
    driver="SQL Server";
    server="192.168.0.251";
    login="sasa";
    password="password";
    base="dbase77";
    ConnectionString = "driver={"+driver+"}; Server="+server+"; uid="+login+"; Pwd="+password+"; Database ="+base+";";
    успешныйконект=ложь;
    Попытка
        СоединениеБазы.Open(ConnectionString);
        успешныйконект=истина;
    Исключение
        успешныйконект=ложь;
    КонецПопытки;
КонецПроцедуры

Процедура Кнопка1Нажатие(Элемент)
    БДдбоКН="dbase77.dbo.";
    Command = Новый COMОбъект("ADODB.Command");
    Command.ActiveConnection = СоединениеБазы;
    ТзЗапроса= Новый ТаблицаЗначений;
    Артикул="1.1.1";
    НачалоПериода="01.01.2010";
    КонецПериода="01.12.2010";
    query="SELECT Журнал.DOCNO Документ_ном
    |, NullIf(Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime), '17530101') Документ_дата
    |, Заявка.sp15113 Контрагент
    |, Контрагенты.DESCR КонтрагентыНаименование
    |, Номенклатура.sp19714 Артикул
    |, ЗаявкаСтроки.IDDOC Ссылка
    |, ЗаявкаСтроки.sp15118 Товар
    |, ЗаявкаСтроки.sp15119 Количество
    |, ЗаявкаСтроки.sp15122 Цена
    |, ЗаявкаСтроки.sp19743 Сумма
    |, ПоступлениеТоваров.IDDOC ПоступлениеТоваровСсылка
    |, РеализацияПродукции.IDDOC РеализацияПродукцииСсылка
    |, РеализацияПродукцииСтроки.sp2993 РеализацияПродукцииСтрокиТовар
    |, РеализацияПродукцииСтроки.sp2994 КоличествоПродано
    |, РеализацияПродукцииСтроки.sp2995 ЦенаРеал
    |, РеализацияПродукцииСтроки.sp3028 СуммаРеал
    |FROM "+БДдбоКН+"dt15124 AS ЗаявкаСтроки With (NOLOCK)
    |INNER JOIN"+БДдбоКН+"_1SJOURN AS Журнал With (NOLOCK) ON ЗаявкаСтроки.IDDOC = Журнал.IDDOC
    |INNER JOIN "+БДдбоКН+"dh15124 AS Заявка With (NOLOCK) ON ЗаявкаСтроки.IDDOC = Заявка.IDDOC
    |INNER JOIN "+БДдбоКН+"sc4089 AS Номенклатура With (NOLOCK) ON ЗаявкаСтроки.sp15118 = Номенклатура.ID
    |INNER JOIN "+БДдбоКН+"sc488 AS Контрагенты With (NOLOCK) ON Заявка.sp15113 = Контрагенты.ID
    |LEFT OUTER JOIN "+БДдбоКН+"dh2975 AS ПоступлениеТоваров With (NOLOCK) ON ' BO4' + ЗаявкаСтроки.IDDOC = ПоступлениеТоваров.sp17090
    |RIGHT OUTER JOIN "+БДдбоКН+"dh2988 AS РеализацияПродукции With (NOLOCK) ON РеализацияПродукции.sp17090 = ' 2AN' + ПоступлениеТоваров.IDDOC
    |FULL OUTER JOIN"+БДдбоКН+"dt2988 AS РеализацияПродукцииСтроки With (NOLOCK) ON РеализацияПродукции.IDDOC = РеализацияПродукцииСтроки.IDDOC AND ЗаявкаСтроки.sp15118 = РеализацияПродукцииСтроки.sp2993
    |LEFT OUTER JOIN"+БДдбоКН+"_1SJOURN AS Журнал1 With (NOLOCK) ON РеализацияПродукции.IDDOC = Журнал1.IDDOC
    |WHERE (Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime) >= N'"+НачалоПериода+"')
    |AND (Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime) <= N'"+КонецПериода+"')
    |AND ((Журнал.CLOSED & 1) = 1)
    |AND (Журнал.ISMARK = 0)
    |AND (Номенклатура.sp19714 = N'"+Артикул+"')
    |AND ((Журнал1.CLOSED & 1) = 1)
    |AND (Журнал1.ISMARK = 0)";
    Command.CommandText = query; // текст надо фильтровать на недопустимые символы         
    RecordSet = Новый COMОбъект("ADODB.RecordSet"); // Подготавливаем записи
    RecordSet = Command.Execute(); //Выполнение и получение набора данных 
    Если RecordSet.EOF() Тогда
    иначе
        RecordSet.MoveFirst(); 
        инд=-1;
        Пока RecordSet.EOF() = 0 Цикл
            инд=инд+1;
            Заказать=СокрЛП(RecordSet.Fields(RecordSet.Fields.Item("Количество").Name).Value);
            Попытка 
                Заказать=Число(Заказать); 
            Исключение 
                Заказать=0;
            Конецпопытки;
            ДатаДокумента=СокрЛП(RecordSet.Fields(RecordSet.Fields.Item("Документ_дата").Name).Value);
            СтрРасшифровки=ТзЗапроса.Добавить();
            СтрРасшифровки.Заказано=Заказать;
            RecordSet.MoveNext();  
        КонецЦикла;
    КонецЕсли;
    RecordSet.Close(); // После того, как набор записей уже не нужен, его нужно закрыть         
    RecordSet = Неопределено;
    Command = Неопределено;
КонецПроцедуры

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Перенос данных 1C Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

58000 руб.

04.08.2015    193335    467    309    

466

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    191473    375    295    

430

SALE! 15%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    163839    994    329    

488

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Переносите справочную информацию, остатки и документы из УПП 1.3 в Бухгалтерию 3.0 с помощью готовых правил. Переносится более 50 видов документов. Простой интерфейс и понятные настройки.

42000 37800 руб.

15.12.2021    36201    265    68    

202

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

58000 руб.

15.04.2019    86732    232    182    

168

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

50200 руб.

24.04.2015    210091    180    253    

299

Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Системный администратор Разработчик Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Платные (руб)

Обработка не только формирует начальные остатки по всем счетам на нужную дату (экономя время на свёртке базы БП 3), но и полностью переносит справочные данные и документы за заданный период. Гибкая настройка включает фильтр по организациям и множество параметров выгрузки. Работайте в удобном формате: выполните однократный полный переход или настройте регулярную догрузку только новых документов из БП 3 в БП 3.0. Интеграция правил конвертации в план обмена гарантирует точную выгрузку исключительно зарегистрированных объектов.

70760 руб.

10.04.2026    1238    3    8    

2

Рабочее место Производство готовой продукции (работ, услуг) Перенос данных 1C Пользователь 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Документооборот 1С:Комплексная автоматизация 2.х 1С:КА 1С:ДО Платные (руб)

Продукт "Интеграция с 1С:Документооборот" позволяет использовать функции программы "1С:Документооборот 8" напрямую из учетной системы (1С:УПП; 1С:КА, 1С:УТ 10.3, 1С:БГУ 1.0, 1С:ЗБУ 1.0, 1С:УПП для Казахстана и отраслевых решений, разработанных на их основе) на платформе "1С:Предприятие 8": выполнять и ставить задачи, просматривать документы, скан-копии и прочие файлы, штрих-кодировать документы отправлять письма, вести учет рабочего времени - не входя в "1С:Документооборот 8", работая в одной программе, что значительно сокращает время и делает работу более комфортной и эффективной. Продукт прошел сертификацию 1С-Совместимо

135530 руб.

11.06.2015    63608    39    20    

51
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. virs 20.04.11 09:07 Сейчас в теме
Код не проверял, но похоже должно работать...
Явно полезная обработка! Молодец!
2. waol 322 20.04.11 12:23 Сейчас в теме
ODBC с использованием 1с++ привычней, и удобней на мой взгляд, но это только из 7.7
а это тоже вариант. есть плюс
3. awk 745 20.04.11 12:54 Сейчас в теме
(0) А о чем это? С моей точки зрения это набор букво-цифр, а не статья.
4. volsh77 17 21.04.11 02:57 Сейчас в теме
Я как то настраивал обмены через OLE 8.1 - > 7.7 , не стабильно работает.
Если процесс виснет не зайдешь. Потом преписал на соединение 7.7 - > 8.1 и полет нормальный.
5. Ёпрст 1068 21.04.11 08:41 Сейчас в теме
Не вкурил
вот такая типизация прокати в 8-ке ?
>>>>Заявка.sp15113 [Контрагент $Справочник.Контрагенты] ????

это вообше будет работать?
6. OldthiefXXX 155 21.04.11 09:21 Сейчас в теме
Смысл в том что OLE из 8 не стабилен. Работа через 1С++ это надо компоненту загружать и опять же поднимать 1С OLE, а тут нет необходимости. К стати для быстрого написания запроса рекомендую использовать 77 с компонентой 1С++ так как не всегда охота ковыряться в DD файле.

Сервис1С = ОлеБаза77.CreateObject("MetaDataWork")
текстЗапроса="";
Сервис1С.УстановитьТекстовыйПараметр("ПараметрУстановки",Значение);
ТекстSQL=Сервис1С.ОбрМетаСКЛ(текст2);

А также qryConsole для конструирование запроса.
В результате я получил хорошую производительность, и сокращение времени без подсоединении.
7. Ёпрст 1068 21.04.11 09:39 Сейчас в теме
(6) алё, на (5) есть ответ ?
8. OldthiefXXX 155 21.04.11 10:07 Сейчас в теме
Да работает! в том то и дело!
9. Ёпрст 1068 21.04.11 10:13 Сейчас в теме
10. OldthiefXXX 155 21.04.11 10:16 Сейчас в теме
Да я пошутил исправил конструкцию!
11. OldthiefXXX 155 21.04.11 10:17 Сейчас в теме
Писал на скорую руку ссори, блин а как тут раскрасить код? а то в ручную поднадоело, и есть ли такая возможность?
12. Ёпрст 1068 21.04.11 10:39 Сейчас в теме
(11) разукрашек полно , есть онлайн
http://www.ai-mag.ru/1Color.php

есть так:

http://infostart.ru/public/19856/
OldthiefXXX; +1 Ответить
13. kazna2011 22.01.12 15:38 Сейчас в теме
А также qryConsole для конструирование запроса.
В результате я получил хорошую производительность, и сокращение времени без подсоединении.


Странно, и как это могло повлиять на производительность?
14. OldthiefXXX 155 30.05.12 18:36 Сейчас в теме
Да вот так, 1С ка отрабатывает свой запрос , а qryConsole на прямую без 1Совских нак сказать накладок. Попробуй сам.
Для отправки сообщения требуется регистрация/авторизация