Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 апр 2024, 07:13

СКД и высиляемое поле

Автор oss, 18 окт 2014, 08:05

0 Пользователей и 1 гость просматривают эту тему.

oss

Добрый день помогите разобраться с ситуацией.
ВЫБРАТЬ
   РеализацияТМЗОбороты.Организация,
   РеализацияТМЗОбороты.Склад,
   РеализацияТМЗОбороты.Номенклатура,
   РеализацияТМЗОбороты.КоличествоОборот,                                                       
   ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    &КоличествоДне как КоличествоДне1,
    РазностьДат(&НачалоПериода, &КонецПериода, День) как Разн,
   РеализацияТМЗОбороты.КоличествоОборот/КоличествоДне1-ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток как роро
   ИЗ                                                                                 
   РегистрНакопления.РеализацияТМЗ.Обороты КАК РеализацияТМЗОбороты
      ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты
      ПО РеализацияТМЗОбороты.Номенклатура = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
         И РеализацияТМЗОбороты.Склад = ТоварыНаСкладахОстаткиИОбороты.Склад
Выдает ошибку
http://prntscr.com/4x8igl

cska-fanat-kz

"как Разн,"

в тексте запятая есть, а на скрине - нет...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

oss

это попдправил, но проблема не решилась
Добавлено: 18 окт 2014, 10:10


http://prntscr.com/4x94se

cska-fanat-kz

Цитата: oss от 18 окт 2014, 09:41
это попдправил, но проблема не решилась
Добавлено: 18 окт 2014, 10:10


http://prntscr.com/4x94se

осталась, но изменилась!
то что вы задали имя полю, абсолютно не значит, что вы можете это имя использовать теперь в выражении к другому полю!
вместо
"КоличествоДне1"
надо
"&КоличествоДне"
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

oss

Блин ни в какую не хочет, я пробовал через вычисляемые поля, но значение параметров не доходит до выражения вычисляемого поля, подскажите куда копать.

Codokopatel

У вас параметр &КоличествоДне выступает как самостоятельное поле.
Такое не допустимо. Параметр это составная часть, или условия, или функции (например, как в вашем примере: РазностьДат(&НачалоПериода, &КонецПериода, День) как Разн. Здесь &НачалоПериода и &КонецПериода являются параметрами).
То есть строка: &КоличествоДне как КоличествоДне1 - ошибочна!
Исключите её и ошибка выдаваться не будет.

oss

C этим утверждение согласен, но как тогда мне получить следующее
На форме есть 3 реквизита - Начдата, кондата, коэф. В СКД есть 2 ресурса КоличествоОборот,КоличествоКонечныйОстаток.  Нужно в вычисляемом поле состряпать формулу мое поле=КоличествоОборот/КоличествоДней*коэф-КоличествоКонечныйОстаток где :
КоличествоДней = (НачалоДня(кондата)-НачалоДня(Начдата))/86400;
Начдата, кондата - передаю в параметры СКД через

  ПараметрНачДата = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0];
    ПараметрНачДата.Значение = НачПериода;
    ПараметрНачДата.Использование = Истина;
   
    ПараметрКонДата = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[1];
    ПараметрКонДата.Значение = КонПериода;
    ПараметрКонДата.Использование = Истина;
Это был первый вариант, но в вычисляемом поле постоянно лезла ошибка, поэтому решил получить поле через параметры в запросе.
кстати если сделать http://prntscr.com/4xjuz4 то все равно есть косяк
Добавлено: 19 окт 2014, 08:19


Добавил в вычисляемые поля новые значения http://prntscr.com/4xk884 http://prntscr.com/4xk8c4 , но получаю след результат http://prntscr.com/4xk8c4
Добавлено: 19 окт 2014, 08:20


http://prntscr.com/4xk8hd

cska-fanat-kz

Цитата: Codokopatel от 18 окт 2014, 20:56То есть строка: &КоличествоДне как КоличествоДне1 - ошибочна!
Исключите её и ошибка выдаваться не будет.

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

oss

на данный момент мне не понятно почему поля 1,2,3 показывают не те значения http://prntscr.com/4xkn7s, http://prntscr.com/4xknee , http://prntscr.com/4xknk9

cska-fanat-kz

разность между датой окончания и датой начала можно и в запросе вычислить.
не надо городить никакие параметры, вычисляемые поля и пр. :^454^:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск