Имя: Пароль:
1C
1С v8
Можно ли из базы 1с 8.3 создать документ в 1с 7.7?
0 barsik123
 
05.10.16
14:53
Есть сильно доработанная комплексная 1с 7.7 SQL, в ней ведется  учет дисконтных карт, в базе хранится вся информация по накоплениям и остаткам на картах. Возникла задачка:есть база 1с 8.3 Розница, хотят чтобы можно было из нее видеть остатки по картам, а так же,чтобы можно было делать списание или накопление по картам. Получается,что нужно будет подключиться к 1с 7.7 получить остатки по регистрам, а также в 1с 7.7 базе создать документы по списанию или накоплению денег с карт.
1 Волшебник
 
модератор
05.10.16
14:55
Я не возражаю.
2 trooba
 
05.10.16
14:56
(0) Да
3 Aswed
 
05.10.16
14:57
(0) Создавай, не возражаю.
4 barsik123
 
05.10.16
15:01
Петросяны блин) Примерчик кода можно привести?
5 mehfk
 
05.10.16
15:03
Приводи.
6 Evgueni
 
05.10.16
15:04
COMConnector = Новый COMObject(ИмяCOMСоединителя());
7 trooba
 
05.10.16
15:04
(4) Похвастайся.
8 Это_mike
 
05.10.16
15:09
бессмертный анекдот "слышь, мужик, мы тут посовещались - братва не возражает!"©
9 wms
 
05.10.16
15:14
(4)лет 10 назад делал. уже потеряно все. лучше в 1С7.7 сделай в глобальном модуле процедуру создания дока и в параметры передавай все что нужно и вызывай ее из 1С8 как (6)
10 wms
 
05.10.16
15:17
функция ПодключениеПоОЛЕк1С77(КаталогБазы,Пользователь,пароль="",монопольно="",SQL=ложь,ЗапускБезЗаставки=истина) Экспорт
//монопольно="" - не монопольно
//монопольно="М" -   монопольно

  V7=Новый COMОбъект("V77"+?(SQL=ложь,"","S")+".Application");
  Результат=V7.Initialize(V7.RMTrade ,"/d" +КаталогБазы+" /n"+Пользователь+" /p"+Пароль
            + Монопольно ,?(ЗапускБезЗаставки = истина,"NO_SPLASH_SHOW",""));
  
Если не Результат  Тогда
   сообщить("Ошибка подключения к базе!",СтатусСообщения.Важное);
   Возврат "";
конецесли;
    
возврат V7;
конецфункции    

Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)
    V7=ПодключениеПоОЛЕк1С77(Путь,Пользователь);
    Если V7="" Тогда
        возврат;
    КонецЕсли;
    запр = V7.CreateObject("Запрос");
    Текст =
    "
    |ТекущийЭлемент = Справочник.Контрагенты.ТекущийЭлемент;
    |Группировка ТекущийЭлемент;
    |"
    ;
    ТЗ = V7.CreateObject("ТаблицаЗначений");
    запр.Выполнить(Текст);
    запр.Выгрузить(ТЗ,0,0);
    ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку() Цикл
        Сообщить("Код="+тз.ТекущийЭлемент.Код+" Наименование="+тз.ТекущийЭлемент.Наименование);
    КонецЦикла
КонецПроцедуры

Путь="D:\Alex\Базы77\ATCDemo\";
Пользователь="Федоров";