Малой кровью перевести строку в число в запросе

  1. 7 г. назад

    Подчиненный учудил - добавил реквизит курс строкой. Нужно побырому отчетик сваять, а там суммы в валюте и курс.
    Как проще всего?

    тут предлагали один алгоритм, но может есть что-то менее адское?

    Ответы: (5) (11)
  2. никак. продуктивнее обсуждать наказание падавана

  3. 14.06.2017 12:43:05 отредактировано Мимими

    Кроме отчётика рано или поздно придётся в реквизите порядок навести. Заставь подчинённого навести порядок

  4. Выгрузи в ексель-преобразуй в число и загрузи обратно

  5. дык сделай числом, делов то. 5 минут на реструктуризацию и привет

  6. (0) Менее адского нет, падавана на кол, реквизит переделать как надо :)

  7. Вообще правильно вчера в похожей ветке сказали, что вот мешало cast и convert всандалить в язык запросов 1С...

  8. Обновление по регламенту делается долго, нужно подписи собрать в тикетах. А ключевые люди в отпусках...
    Эх, ладно. Придется заниматься извращением

  9. Сделал так:

    Функция ПолучитьКурсыЧислом()
        
        Запрос = Новый Запрос;
        Запрос.Текст = 
            "ВЫБРАТЬ
            |	РасчетыСПровайдерамиОбороты.Курс КАК Курс,
            |	1234567.89 КАК КурсЧисло
            |ИЗ
            |	Документ.РасчетыСПровайдерами.Обороты КАК РасчетыСПровайдерамиОбороты
            |ГДЕ
            |	РасчетыСПровайдерамиОбороты.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
            |
            |СГРУППИРОВАТЬ ПО
            |	РасчетыСПровайдерамиОбороты.Курс";
        
        Запрос.УстановитьПараметр("Дата1", Дата1);
        Запрос.УстановитьПараметр("Дата2", Дата2);
        
        РезультатЗапроса = Запрос.Выполнить();
        
        РезультатФункции = РезультатЗапроса.Выгрузить();
        Для Каждого СтрокаРезультата Из РезультатФункции Цикл
            Если НЕ ПустаяСтрока(СтрокаРезультата.Курс) Тогда
                СтрокаРезультата.КурсЧисло = Число(СтрокаРезультата.Курс);
            Иначе
                СтрокаРезультата.КурсЧисло = 0;
            КонецЕсли;
        КонецЦикла;
        
        Возврат РезультатФункции;
        
    КонецФункции
    

    Потом в нужный запрос передаю эту таблицу, соединяю, получаю нужный курс. Просто, понятно и не сильно затратно

    Ответы: (10)
  10. Тесла, учись!

  11. 14.06.2017 13:26:16 отредактировано Маратыч

    (8) Стоит еще защиту от дурака поставить, Число() обрамить в Попытку. Вполне может найтись умник, который впихнет в курс левый символ.

  12. 1Сергей Подчиненный учудил - добавил реквизит курс строкой.

    На толковых денег нет?

    Ответы: (12) (13)
  13. (11) толковые тоже могут лажануть

  14. (11) не знаю как у вас, у нас толкового найти - тот ещё челендж. Приходят вчерашние студенты, которые одинеску даже на картинках не видели и просят пол ставки элитной проститутки...

  15. Вон, даже Тесла, поди меньше 300 000 тг не пойдёт

    Ответы: (15) (18)
  16. (14) Что за "даже тесла" я будущий мсмк по программированию

    Ответы: (16) (18)
  17. (15) на 250 пойдешь?

  18. или 1 млн + компенсация жилья

  19. 15.06.2017 02:15:59 отредактировано Шаман

    NewTesla (14) Что за "даже тесла" я будущий мсмк по программированию

    Который не может скд осилить. [smile=:D]

или зарегистрируйтесь чтобы ответить!