|
Колонка остатка в динамическом списке | ☑ | ||
---|---|---|---|---|
0
OnePrg
06.04.22
✎
18:57
|
До перехода на управляемые формы на форме списка документов была доработка - динамическая колонка в которой считалась сумма остатка товаров документа на позицию этого документа.
Как это реализовать в управляемых формах? Вставить в остаток в запрос динамического списка? Как? |
|||
1
lubitelxml
06.04.22
✎
19:00
|
Доработать запрос дин. списка, в котором прописать получение остатка
|
|||
2
Джинн
06.04.22
✎
20:09
|
(0) Идея очень хреновая по своей сути.
|
|||
3
Смотрящий
06.04.22
✎
20:16
|
(2) Этого ниможет быть, патаму что этого ниможет быть никада-а ...
|
|||
4
OnePrg
06.04.22
✎
20:33
|
(1) как в запросе списка получить остаток на момент времени каждого документа?
|
|||
5
Ёпрст
06.04.22
✎
20:49
|
(4) покажи, для начала, как ты его получал в ОФ, ну так, на..
|
|||
6
Ёпрст
06.04.22
✎
20:50
|
А так, можешь воткнуть ЭТО в ПриПолученииДанныхНаСервере.
|
|||
7
Ёпрст
06.04.22
✎
20:50
|
||||
8
Ёпрст
06.04.22
✎
20:50
|
ознакомься
|
|||
9
AlvlSpb
06.04.22
✎
21:17
|
Вот еще по теме хороший результат https://курсы-по-1с.рф/news/2017-12-26-many-values-in-one-cell/
|
|||
10
OnePrg
07.04.22
✎
21:35
|
Спасибо. В обоих ссылках используется ПриПолученииДанныхНаСервере, а эта штука, как я понял, работает при режиме определённом режиме совместимости. Не хотелось бы менять режим совместимости, чтобы не затронуть другие меъанизмы.
|
|||
11
OnePrg
07.04.22
✎
22:01
|
(5) сорян, втупил:
в неуправляемых формах я получал не остаток, а сумму из проводок документа, а это вытащить можно сейчас попробую |
|||
12
Ёпрст
07.04.22
✎
22:32
|
(10) у тя че, режим совместимости ниже чем 8.3.10.2168, начиная с которого это реализовано ?
|
|||
13
OnePrg
07.04.22
✎
22:48
|
(12) 8.3.4
|
|||
14
OnePrg
07.04.22
✎
22:49
|
колонку вывел
теперь вопрос как по ней итог вывести? как получить список ссылок в журнале? |
|||
15
Ёпрст
07.04.22
✎
22:51
|
(13) ё..
(14) можно, но все эти способы в Уф, через жпо. На нимфостарте кучка решений итога по колонке |
|||
16
Ёпрст
07.04.22
✎
22:53
|
набери в поиске итоги в дин списке..есть кучка вариантов
|
|||
17
vde69
07.04.22
✎
22:57
|
Да все просто, делаешь подписку на событие для всех документов и в ней в каждый элемент справочника пишешь актуальный остаток. А в динамическом списке просто выводишь в колонку.
или сделай им не динамический список а отчет "остатки товара" и будет им счастье.... ну а если серьезно - такое можно делать джойном с регистром остатков, только там нюанс со срезом последнего будет. Если хоть чуток промажешь мимо индесков будут жуткие тормоза. По этому выводить остатки в колонку не рекомендуют. Делать можно но будь готов, что будет ужасно тормозить... |
|||
18
Джинн
07.04.22
✎
23:11
|
(17) А потом нужно непременно поменять задним числом документ какой-либо. Без этого жизнь не будет веселой.
|
|||
19
OnePrg
08.04.22
✎
12:16
|
Подскажите как мне вытащить ссылки, что отображены в журнале.
СКД = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных(); а дальше? |
|||
20
OnePrg
08.04.22
✎
14:25
|
Получилось
&НаКлиенте Процедура ПриОткрытии(Отказ) НастройкиСписка = "...";//при первом вызове посчитаем ПодключитьОбработчикОжидания("ПроверкаИзменения",1); КонецПроцедуры &НаКлиенте Процедура ПроверкаИзменения() НастройкиСпискаТек = ""; Для Каждого ЭлементПользНастроек Из Список.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл //тут отборы и сортировка - отловим их НастройкиСпискаТек = НастройкиСпискаТек + СокрЛП(ЭлементПользНастроек) + СокрЛП(Элементы.Список.Период.ДатаНачала) + СокрЛП(Элементы.Список.Период.ДатаОкончания); КонецЦикла; //тут добавим в ловушку период списка (если это список документов) НастройкиСпискаТек = НастройкиСпискаТек + СокрЛП(Элементы.Список.Период.ДатаНачала) + СокрЛП(Элементы.Список.Период.ДатаОкончания); Если не НастройкиСписка = НастройкиСпискаТек Тогда //чей-то поменялось НастройкиСписка = НастройкиСпискаТек; СчитаемИтогиНаСервере(); КонецЕсли; КонецПроцедуры &НаСервере Процедура СчитаемИтогиНаСервере() //получаем схему компоновки списка СКД = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных(); НастройкаСКД = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных(); КомпоновщикМакетаКомпоновкиДанных = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновкиДанных = КомпоновщикМакетаКомпоновкиДанных.Выполнить(СКД, НастройкаСКД,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")) ; ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ИтогСуммаУч = ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных).Итог("СуммаУч"); КонецПроцедуры Пример брал тут https://v8book.ru/public/568012/ Всем спасибо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |