Перем СоединениеБазы Экспорт;
Процедура КнопкаСформироватьНажатие(Кнопка)
СоединениеБазы = Новый 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 = Неопределено;
КонецПроцедуры
Прямой доступ к базе данных 77 из 8ки
Интеграция - Перенос данных 1C
База данных 77 на SQL.
P.S. 77-Комплексная
См. также
SALE! 10%
55778
50200 руб.
04.08.2015 168920 350 280
SALE! 10%
27660
24894 руб.
12.06.2017 143818 830 297
SALE! 10%
35000
31500 руб.
23.07.2020 54045 239 73
SALE! 10%
53111
47800 руб.
03.12.2020 37521 101 68
SALE! 10%
35000
31500 руб.
15.12.2021 25074 175 51
SALE! 10%
55778
50200 руб.
15.04.2019 73061 188 152
SALE! 10%
48278
43450 руб.
25.02.2015 172272 308 259