1С7 проблема при загрузке данных из Sql

Тема в разделе "1C и всё что с ней связано", создана пользователем KiR, 26 май 2008.

  1. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Делаю загружку в ТЗ из SQL. Получаю ошибку:
    ТЗТ.sum_total = Записи.Fields("sum_total").VALUE;
    {V:\СЧЕТА.ERT(271)}: Тип переменой не поддерживается

    в Записи.Fields("sum_total").VALUE храниться число с 4 знаками после запятой.
    пробовал все тоже самое на 8ке - все нормально работает. как быть с 7кой?
     
  2. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    ТЗТ.sum_total = Число(Записи.Fields("sum_total").VALUE); // ?
    Думаю, там не число, а что-то типа Null или variant какой, попробуй привести тип ручками.
     
  3. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Не совсем понял как ввести тип ручками. ТЗТ.sum_total = Число(Записи.Fields("sum_total").VALUE); - так тоже пробовал - результат такой же. Причем когда я отладчиком смотрю Записи.Fields("sum_total").VALUE - тож вываливает ошибку. а в восьмерке все кушает нормально.
     
  4. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    Восьмерка Null уже зает, в отличае от 7.7. А ошибка вываливается на какой то конкретной записи, или при обращении к любой записи этого столбца? Кинь может чутка больше кода и инфы про таблицу, которую читаешь
     
  5. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Код (Text):
    СтрокаСоединения="Provider=sqloledb;Data Source=serversql;UID=user;PWD=pass;Initial Catalog=db;";
    Соединение=СоздатьОбъект("ADODB.Connection");
    Соединение.Open(СтрокаСоединения);
    Записи=СоздатьОбъект("ADODB.RecordSet");
    Записи.ActiveConnection=Соединение;  
    Записи.Open("exec [dbo].[Count_for_1c] @in_date_db='30/04/08', @in_date_de='30/04/08'");
    ТЗТ=СоздатьОбъект("ТаблицаЗначений");
    ТЗТ.НоваяКолонка("doc_date_d");
    ТЗТ.НоваяКолонка("sum_total");
    ТЗТ.НоваяКолонка("payer_short_name");
    Пока Записи.EOF() = 0 Цикл     
    ТЗТ.НоваяСтрока();
    ТЗТ.doc_date_d = Записи.Fields("doc_date_d").VALUE;
    ТЗТ.sum_total = Число(Записи.Fields("sum_total").Value);//фОРМАТ(,"Ч15.2");
    ТЗТ.payer_short_name= Записи.Fields("payer_short_name").VALUE;
    Записи.MoveNext();
    КонецЦикла;
    Записи.Close();
    Ошибка при просмторе поля Записи.Fields("sum_total").Value в отладчике - ошибка в выражении
    Рубится сразу же на первой попавшейся записи в колонке. запись первая равна 88.50(если отслеживать через восьмерку или SQL Management Studio)
     
Загрузка...

Поделиться этой страницей