1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

1C8 и SQL Server 2000

Тема в разделе "Программирование", создана пользователем Saloght, 26.04.06.

  1. Saloght

    Saloght Новичок

    64
    0
    Проблема: В SQL Server 2000 с промышленных весов :tnp: идут данные(время/значение). Как эти данные получить в отчет 1С (внешняя обработка). Мож какая функция волшебная есть. Сам не нашел, да и времени толком нет искать, мож кто подскажет? :znaik:
     
  2. Mix

    Mix Активный участник

    7.766
    0
    Ком-сервер напиши, и через него. Ну или АДО, ОДыБыЦы.
     
  3. buffoon

    buffoon Активный участник

    6.379
    0
    а че мешает прямые запросы к SQL пользовать?
    а вобще для большинства торг оборудования есть дрова под 1Сы
     
  4. Mix

    Mix Активный участник

    7.766
    0
    В восьмерке? Уже есть?
    Я так понимаю что автору это пофиг. Бо у него с торг. оборудования мимо одноэса в базу данные идут.
     
  5. buffoon

    buffoon Активный участник

    6.379
    0
    в левый карман правой рукой лазить неудобно ИМХО...

    блин да и в семерке нормально работало все... ессно через ВК ;)
     
  6. Mix

    Mix Активный участник

    7.766
    0
    Таки не понял ответ. Т.е. уже под восьмерку написали прямые запросы?
     
  7. NoMAD525

    NoMAD525 Участник

    443
    0
    Кусок работающего кода на языке 1Сv8, без внешних компонент:

    АДОСоединение = Новый COMОбъект("ADODB.Connection");
    АДОСоединение.Provider = "sqloledb";
    АДОСоединение.Properties("Data Source").Value = "ServerDBName";
    АДОСоединение.Properties("Initial Catalog").Value = "DBName";
    АДОСоединение.Properties("User ID").Value = "sa";
    АДОСоединение.Properties("Password").Value = "PASSWORD";
    АДОСоединение.Open();

    АДОКоманда = Новый COMОбъект("ADODB.Command");
    АДОКоманда.ActiveConnection = АДОСоединение;
    АДОКоманда.CommandText = "SELECT user AS user
    |FROM users
    |ORDER BY user";​
    АДОКоманда.CommandType = ТипКомандыАДО("adCmdText");
    АДОКоманда.Prepared = 1;

    Состояние("Выполнение запроса...");
    АДОРекордСет = Новый COMОбъект("ADODB.RecordSet");
    АДОРекордСет = АДОКоманда.Execute();

    Если АДОРекордСет.EOF() <> 0 Тогда
    Сообщить("Нифига не прочиталось.");
    Возврат;​
    КонецЕСли;

    Состояние("Заполнение таблицы...");
    АДОРекордСет.MoveFirst();
    Пока АДОРекордСет.EOF() = 0 Цикл
    НоваяСтрока = ТЗ.Добавить();
    ЭлементыФормы.СписокПользователей.СписокВыбора.Добавить(АДОРекордСет.Fields.Item(0).Value);
    АДОРекордСет.MoveNext();
    ОбработкаПрерыванияПользователя();​
    КонецЦикла;
    ЭлементыФормы.СписокПользователей.Значение = "<Без фильтра>";
     
  8. Saloght

    Saloght Новичок

    64
    0


    Копить данные с весов в 1С нерационально с нашей точки зрения. Весы не одни, пишут каждую минуту. Восьмерка и так уже тяжелая, жалко ее однако.
     
  9. Saloght

    Saloght Новичок

    64
    0
    2 NoMAD525

    Спасибо, метод понял :)
     
  10. Saloght

    Saloght Новичок

    64
    0
    В общем всем спасибо :)
     
  11. Saloght

    Saloght Новичок

    64
    0


    А неплохо было бы..