Имя: Пароль:
1C
 
Получить число из строки в запросе.
,
0 Valerian5557
 
14.06.16
08:30
Привет всем, подскажите пожалуйста как это решить. С запросами немного хромаю. Реквизит "УсловиеВозврата" имеет тип "строка". Нужно добавить к текущей дате условие возврата.
ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    ТоварыНаСкладахОстатки.КоличествоОстаток КАК Количество,
    ТоварыНаСкладахОстатки.Склад КАК Склад,
    ТоварыНаСкладахОстатки.Номенклатура.УсловьяВозврата КАК УсловьяВозврата
ПОМЕСТИТЬ Вт
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&ТекущаяДата1, ХарактеристикаНоменклатуры.СрокГодности МЕЖДУ &ТекущаяДата1 И ДОБАВИТЬКДАТЕ(&ТекущаяДата1, МЕСЯЦ, Номенклатура.УсловиеВозврата)) КАК ТоварыНаСкладахОстатки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.Номенклатура КАК Номенклатура,
    ВТ.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    ВТ.Количество КАК Количество,
    ВТ.Склад КАК Склад
ИЗ
    Вт КАК ВТ,
    РегистрСведений.ПроверкаСроковГодности КАК ПроверкаСроковГодности
ГДЕ
    НЕ (ВТ.Номенклатура, ВТ.ХарактеристикаНоменклатуры, ВТ.Склад) В
                (ВЫБРАТЬ
                    ПроверкаСроковГодности.Номенклатура,
                    ПроверкаСроковГодности.ХарактеристикаНоменклатуры,
                    ПроверкаСроковГодности.Склад
                ИЗ
                    РегистрСведений.ПроверкаСроковГодности КАК ПроверкаСроковГодности)

СГРУППИРОВАТЬ ПО
    ВТ.Номенклатура,
    ВТ.ХарактеристикаНоменклатуры,
    ВТ.Количество,
    ВТ.Склад
1 PR
 
14.06.16
08:37
Никак
2 SashaNox
 
14.06.16
09:25
Каких значений бывает этот реквизит? Если их не много и они заранее известны, то можно через "Выбор когда" преобразовать
3 Serg_1960
 
14.06.16
09:34
(0) Определитесь: у Вас таки реквизит "УсловьяВозврата" или "УсловиеВозврата" :)
4 Valerian5557
 
14.06.16
09:50
да там 3 значение может быть, да,нет или число от 1 до 10.
5 Зая Бусечка
 
14.06.16
09:52
(4) Тогда просто Выбор Когда.
6 PR
 
14.06.16
09:54
(4) :)))
Да там три значения может быть, да, нет и число от минус триллиона до триллиона с пятью знаками после запятой.
7 Salimbek
 
14.06.16
10:19
(6) Улыбнуло )
8 HardBall
 
14.06.16
10:38
ТС оптимист однако. CAST как в SQL + коррелированные запросы
9 Valerian5557
 
14.06.16
15:04
Выдаёт ошибку когда пишу Выбор Тогда в виртуальной таблице
ВЫБОР
    КОГДА Номенклатура.УсловиеВозвратаДляАптек = 1 ТОГДА 1
    ИНАЧЕ 0
КОНЕЦ
Пишет про неверный параметр. У меня УсловиеВозвратаДляАптек имеет тип "Строка"
Вообще не как нельзя это обойти?
10 Зая Бусечка
 
14.06.16
15:04
КОГДА Номенклатура.УсловиеВозвратаДляАптек = "1" ТОГДА 1
11 Valerian5557
 
14.06.16
15:13
ВЫБОР
    КОГДА Номенклатура.УсловиеВозвратаДляАптек = "1" ТОГДА 1
    ИНАЧЕ 0
КОНЕЦ    ,
ХарактеристикаНоменклатуры.СрокГодности МЕЖДУ &ТекущаяДата1 И ДОБАВИТЬКДАТЕ(&ТекущаяДата1, МЕСЯЦ, Номенклатура.УсловьяВозврата)
Неверный параметр РегистрНакопления.ТоварыНаСкладах.Остатки,1
12 hhhh
 
14.06.16
15:17
(11) ну всё, с числом разобрались тогда? Всё ОК.
13 Valerian5557
 
14.06.16
15:20
нет.
14 hhhh
 
14.06.16
15:44
(13) что нет? это уже дальше у вас, совершенно другая ошибка.
15 DrZombi
 
гуру
14.06.16
15:46
(0) Старо, как мир. Переходи на прямые запросы, там это реализовано :)