8.х Преобразование значения к типу Число не может быть выполнено

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем VanGeR, 17 сен 2010.

  1. TopicStarter Overlay
    VanGeR
    Offline

    VanGeR

    Регистрация:
    17 сен 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    Помогите плиzzz разобраться есть прога для отправки запросов, но с 1С не выгружает позиции по товарам:


    Код:
    Процедура КнопкаВыполнитьНажатие(Элемент)
    Разд  = ";";
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |	ТоварыНаСкладахОстатки.Товар.Наименование КАК Наименование,
    |	ТоварыНаСкладахОстатки.ЦенаРозн,
    |	ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Количество
    |ИЗ
    |	РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыНаСкладахОстатки
    |
    |УПОРЯДОЧИТЬ ПО
    |	Наименование";
    
    Запрос.УстановитьПараметр("Склад", Отдел);
    
    Состояние("Запрос данных...");
    Выборка = Запрос.Выполнить().Выбрать();
    Состояние("Формирование файла...");
    
    Файл = Новый ТекстовыйДокумент;
    
    Пока Выборка.Следующий() Цикл
    СтрокаФ = ВЫборка.Наименование + Разд + 
    Формат(ВЫборка.ЦенаРозн, "ЧЦ=10; ЧДЦ=2; ЧРД=.; ЧГ=0") + Разд + 
    Формат(ТекущаяДата(), "ДФ=dd.MM.yy");
    
    Файл.ДобавитьСтроку(СтрокаФ);
    КонецЦикла;
    
    Файл.Записать(ПутьВЫгрузки + КодАптеки + ".prc", КодировкаТекста.OEM);
    
    КомандаСистемы(СтрокаЗапуска);
    КонецПроцедуры
    
    Процедура ПриОткрытии()
    ПодразделениеСсылка = ПараметрыСеанса.Подразделение;
    
    Для Каждого Строка из ПодразделениеСсылка.Справки Цикл
    Если Строка.Обработка = "3250900" Тогда
    КодАптеки     = СокрЛП(Строка.КодАптеки);
    Отдел         = ПодразделениеСсылка.ОсновнойСклад;
    ПутьВыгрузки  = СокрЛП(Строка.Директория);
    СтрокаЗапуска = СокрЛП(Строка.СтрокаЗапуска);
    Прервать;	
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры 
    
    Пишет ошибку: {Обработка.Справка3250900.Форма.Форма(26)}: Преобразование значения к типу Число не может быть выполнено
    СтрокаФ = ВЫборка.Наименование + Разд +

    Подскажите, что я делаю не так!!!
  2. sharik1c
    Offline

    sharik1c Опытный в 1С

    Регистрация:
    7 июл 2010
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Начать с кавычек
    СтрокаФ = "" + ВЫборка.Наименование + Разд +
  3. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Попробуйте заменить строку
    Код:
    "|    ТоварыНаСкладахОстатки.ЦенаРозн,"
    
    
    на
    Код:
    "|    ЕстьNULL(ТоварыНаСкладахОстатки.ЦенаРозн, 0) КАК ЦенаРозн,"
    
    
    З.Ы. хотя там NULL конечно по идее и не должно быть.
  4. TopicStarter Overlay
    VanGeR
    Offline

    VanGeR

    Регистрация:
    17 сен 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    Ребятки, есть еще какие нибудь варианты??? :angry:
  5. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    Ну тупо если так попробовать?
    Код:
    Строка(ВЫборка.Наименование) + Строка(Разд)
    
    
    
    Кстати в выборке может быть пустая ссылка, поэтому наименование = Null. Можно попробовать проверку на пустую ссылку. Я даже более чем уверен, что "ТоварыНаСкладахОстатки.Товар" это пустая ссылка
  6. TopicStarter Overlay
    VanGeR
    Offline

    VanGeR

    Регистрация:
    17 сен 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1

    Если прописать так, то появляется следующая ошибка:

    {Обработка.Справка3250900.Форма.Форма(26,8)}: Встроенная функция может быть использована только в выражении. (Строка)
    Строка<<?>>(ВЫборка.Наименование) + Строка(Разд)
  7. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    Попробуйте в запросе условие добавить на пустую ссылку товара
  8. TopicStarter Overlay
    VanGeR
    Offline

    VanGeR

    Регистрация:
    17 сен 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    Напишите пожалуйста как будет выглядеть код!!!
  9. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    Текст запроса примерно так
    Код:
    "ВЫБРАТЬ
    |	ВЫБОР КОГДА ТоварыНаСкладахОстатки.Товар = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА "" 
    |	ИНАЧЕ ТоварыНаСкладахОстатки.Товар.Наименование 
    |	КОНЕЦ КАК Наименование,
    |	ТоварыНаСкладахОстатки.ЦенаРозн,
    |	ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Количество
    |ИЗ
    |	РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыНаСкладахОстатки
    |
    |УПОРЯДОЧИТЬ ПО
    |	Наименование";
    
    
  10. TopicStarter Overlay
    VanGeR
    Offline

    VanGeR

    Регистрация:
    17 сен 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    Нужно было просто поставить кавычки, мне писали сверху, но из-за своей невнимательности все пропустил, код такой:

    Код:
    СтрокаФ = "" + ВЫборка.Наименование + Разд +
    
    Всем ОГРОМНОЕ СПАСИБО!!!
  11. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    Похоже я был не прав насчет пустой ссылки, если мне память не изменяет, то при попытке получить наименование у пустой ссылки, то она ругается по другому

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