helpf.pro
Регистрация
 +4 
Распечатать

1С 7.x : COM-подключение к базе 7.7 из 8.2 1С

Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине.

Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)):
Код 1C v 8.2 УП
 &НаКлиенте
Процедура Загрузки()
ПутьКБазе="D:\ВашаБаза\1с77\";
Пользователь="stvbliz";//пользователь базы 7.7
Пароль="вашпароль";
МонопольныйРежимOLE = ""; // " /m";
ЗапускБезЗаставки = 1;
База = Новый COMОбъект("V1CEnterprise.Application");
СтрокаПодключения = "/D"""+СокрЛП(ПутьКБазе)+""" /N"""+СокрЛП(Пользователь)+""" /P"""+СокрЛП(Пароль)+"""";
РезультатПодключения=База.Initialize(База.RMTrade,СтрокаПодключения,?(ЗапускБезЗаставки = 1,"NO_SPLASH_SHOW",""));

Если НЕ РезультатПодключения Тогда
Сообщить("Не удалось произвести подключение к информационной базе");
КонецЕсли;
Таблица.Очистить();
Док = База.CreateObject("Документ.ЗаявкаПокупателя");
Док.ВыбратьДокументы(НачалоНедели(Дата),КонецНедели(Дата));
Пока Док.ПолучитьДокумент() = 1 Цикл
ОбработкаПрерыванияПользователя();
Если Док.НомерДок = НомерЗаявки Тогда
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку()=1 Цикл
нов=Таблица.Добавить();
нов.Номенклатура = Док.Номенклатура.Наименование;
нов.Количество = Док.Количество;
нов.Единица = Док.Единица.Наименование;
нов.Цена = Док.Цена;
Нов.Сумма = Док.Сумма;
нов.Коэффициент = Док.Коэффициент;
нов.Производитель = Док.производитель;
Нов.Валюта = Док.Валюта.Наименование;

КонецЦикла;
КонецЕсли;

КонецЦикла;

Док=NULL;
КонецПроцедуры


Код 1C v 8.2 УП
 //Примеры получения значений

//Периодический реквизит нужно получать на дату
ДатаОст= ТекущаяДата();
Спр77Оле.ВидГрейда.Получить(ДатаОст).код;

// Перечисление
Если База77ОЛЕ.ВидКонтрагента.Идентификатор() = "ЧастноеЛицо"
// или
Если Сотрудник.ХарактерРаботы.Получить(Необходимая_Дата).Идентификатор() = БазаОЛЕ.EvalExpr("Перечисление.ХарактерРаботы.ТрудовыеОтношения.Идентификатор()") Тогда
// Принадлежит ...
КонецЕсли;

//В запросе
// в v7 ссылка OLE
Запрос = v7.CreateObject("Запрос");
ТипТовара = v7.evalexpr("Перечисление.ТипыТоваров.Собственный.ПорядковыйНомер()");

ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|ТекущийЭлемент = Справочник.Номенклатура.ТекущийЭлемент;
|Наименование = Справочник.Номенклатура.Наименование;
|ТипТовара = Справочник.Номенклатура.ТипТовара;
|ЕдиницаИзмерения = Справочник.Номенклатура.ЕдиницаИзмерения;
|Функция Счётчик = Счётчик();
|Группировка ТекущийЭлемент;
|Условие(ТипТовара.ПорядковыйНомер() = "+ТипТовара+");
|"//}}ЗАПРОС
;
Разместил:   Версии: | 7.x | 8.x | 8.2 УП |  Дата:   Прочитано: 12180
 +4 
Распечатать
Возможно, вас также заинтересует
1С Предприятие что это? 6
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который...
Cклонения по падежам 4
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) ...
Автоматическая установка ширины колонки табличного документа. 0
Процедура, которая " примерно" делает автоширину колонок (навроде, как если бы выделить все колонки и дважды щелкнуть мышкой по границе заголовка колонки). Привожу текст, работает неахти, но лучше чем ничего: Процедура...
Алгоритм шифрования RC4 0
Для решения некоторых задач, иногда требуется имееть возможность шифровать и дешифровывать, какие-то данные. Но при этом нет возможности использовать стороние внешнии компоненты. Предлагаем пример реализации...
Альтернативный перенос остатков между 7.7 и 8.1 (обработкой с ИТС ЗагрузкаДанныхИзТаблДокум) 0
Нашел альтернативный, практически моментальный способ переноса остатков между семерой и восьмерой (так и между восмерками). Не требуется никаких дополнительных усилий, программирования, писания обработок и т.д. и т.п....
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.