&НаСервере
Функция ПродажаНоменклатураПриИзмененииНаСервере(Товар)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
|ГДЕ
| ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура";
Запрос.УстановитьПараметр("Номенклатура", Товар);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Возврат ВыборкаДетальныеЗаписи.Цена;
КонецЦикла;
КонецФункции
&НаКлиенте
Процедура ПродажаНоменклатураПриИзменении(Элемент)
ТекущиеДанные = Элементы.Продажа.ТекущиеДанные;
Цена = ПродажаНоменклатураПриИзмененииНаСервере(ТекущиеДанные.Номенклатура);
ТекущиеДанные.Цена = Цена;
КонецПроцедуры
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie !== '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i].trim();
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) === (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
async function postData(url = '', data = {}) {
const response = await fetch(url,
{
method: "post",
headers: {
'Accept': 'application/json, text/plain, */*',
'Content-Type': 'application/json',
'X-CSRFToken': getCookie('csrftoken')
},
body: JSON.stringify(data),
})
return await response.json()
}
async function IdeaChangeStatus(t) {
console.log(t.innerText)
let response = await postData(t.dataset.url, {
'pk': t.dataset.pk,
'status': t.innerText
})
if (response.success) {
let el = _('idea-status')
let el_title = _('idea-status-title')
el_title.innerText = response.status
el.classList.remove(`text-${response.old_status_color}-700`)
el.classList.add(`text-${response.color}-700`)
}
}
@method_decorator(login_required, name='dispatch')
class ChangeStatus(View):
def post(self, request):
data = json.loads(request.body)
response = {}
obj = Idea.objects.get(pk=data.get('pk'))
response['old_status'] = obj.status.title
response['old_status_color'] = obj.status.tw_color
obj.status = IdeaStatus.objects.get(title=data.get('status'))
obj.save()
IdeaStatusHistory.objects.create(
idea=obj,
status=obj.status,
user=self.request.user
)
response['success'] = True
response['status'] = obj.status.title
response['color'] = obj.status.tw_color
return JsonResponse(response)
# все категории
cat = ChannelCategory.objects.all().prefetch_related("channel_set")
#фильтруем по тарифу и Берем значения имен каналов
cat.filter(channel__tariff__id=2).values("channel__name")
# получаем такой QS
# <QuerySet [{'channel__name': 'Первый канал'}, {'channel__name': 'Второй канал'}, {'channel__name': #'Ужастики'}, {'channel__name': 'Комедии'}]>