Имя: Пароль:
1C
 
Как в форму списка добавить вычисляемую колонку по которой будет отбор?
,
0 Shur1cIT
 
07.07.15
16:24
УПП 1.3 документ "ЗаявкаНаРасходованиеСредств" необходимо вывести колонку состояние Подготовлен,Утвержден,Оплачен. данные о состоянии храниться в РС ,ПриНачалеВывода я запихаю процедуру вывода. а вот как отбор потом делать?
1 Shur1cIT
 
07.07.15
16:45
подскажите? у меня только один вариант,менять реквизит в документе при изменении статуса документа, и соответственно вытаскивать его на форму списка, но это не правильно и гиморно так как состояние может меняться из разных мест программы притом возможно и при открытой форме документа
2 palpetrovich
 
07.07.15
16:48
примерно такую хрень делал... в общем попробуй сделать по аналогии с:
Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    
    Если НЕ ПроверятьРеализациюВЗаказе Тогда
        Возврат;
    КонецЕсли;
    
    ТЗЗаказов.Очистить();
    Для Каждого ЭлементОформления Из ОформленияСтрок Цикл
        Если ЭлементОформления.ДанныеСтроки.Ссылка.Проведен  Тогда
            НоваяСтрока = ТЗЗаказов.Добавить();
            НоваяСтрока.Ссылка = ЭлементОформления.ДанныеСтроки.Ссылка;
        КонецЕсли;
    КонецЦикла;  
    Если ТЗЗаказов.Количество()=0  Тогда
        Возврат;
    КонецЕсли;
    Запрос = Новый Запрос("
    |ВЫБРАТЬ
    |    ТЗЗаказов.Ссылка
    |ПОМЕСТИТЬ ВТЗаказов
    |ИЗ &ТЗЗаказов КАК ТЗЗаказов
    |;
    |ВЫБРАТЬ
    |    ВТЗаказов.Ссылка,
    |    ЕСТЬNULL(СУММА(ЗаказыПокупателейОстатки.СуммаВзаиморасчетовОстаток), 0) КАК СуммаПоЗаказуОстаток,
    |    ЕСТЬNULL(СУММА(РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток), 0) КАК СуммаВзаиморасчетовОстаток
    |ИЗ ВТЗаказов КАК ВТЗаказов
    |ЛЕВОЕ СОЕДИНЕНИЕ
    |    РегистрНакопления.ЗаказыПокупателей.Остатки(&Дата,) КАК ЗаказыПокупателейОстатки
    |ПО
    |    ЗаказыПокупателейОстатки.ЗаказПокупателя = ВТЗаказов.Ссылка
    |ЛЕВОЕ СОЕДИНЕНИЕ
    |    РегистрНакопления.РасчетыСКонтрагентами.Остатки(&Дата,) КАК РасчетыСКонтрагентамиОстатки
    |ПО
    |    РасчетыСКонтрагентамиОстатки.Сделка = ВТЗаказов.Ссылка
    |СГРУППИРОВАТЬ ПО
    |    ВТЗаказов.Ссылка");
    Запрос.УстановитьПараметр("ТЗЗаказов", ТЗЗаказов);
    Запрос.УстановитьПараметр("Дата", КонецДня(ТекущаяДата()));
    Результат = Запрос.Выполнить();
    Если Результат.Пустой()Тогда
        Возврат;
    КонецЕсли;
    Выборка = Результат.Выбрать();
    Для Каждого ЭлементОформления Из ОформленияСтрок Цикл
        Выборка.Сбросить();
        ТекущийЗаказ = ЭлементОформления.ДанныеСтроки.Ссылка;
        Если Выборка.НайтиСледующий(ТекущийЗаказ, "Ссылка") Тогда
            Если (Выборка.СуммаПоЗаказуОстаток <= 0) И (Выборка.СуммаВзаиморасчетовОстаток <= 0) Тогда
                ЭлементОформления.ЦветФона = WebЦвета.НейтральноЗеленый;
            ИначеЕсли (Выборка.СуммаВзаиморасчетовОстаток <> ТекущийЗаказ.СуммаДокумента)
                  ИЛИ (Выборка.СуммаПоЗаказуОстаток <> ТекущийЗаказ.СуммаДокумента) Тогда
                ЭлементОформления.ЦветФона = WebЦвета.БледноЗолотистый;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры
3 DmitrO
 
07.07.15
16:55
(2)Отбор, Карл, как поставить отбор в форме списка по вычисляемому полю в обычной форме.

(0)надо просто написать управляемую форму списка, там такой отбор запросто.
4 bolobol
 
07.07.15
16:56
(2) А что здесь вообще?
5 Strogg
 
07.07.15
16:57
(0) кнопкой. Флажком.
6 bolobol
 
07.07.15
16:58
(0) Короче, отбор можно делать только по реквизитам объекта. Ссылка - один из реквизитов.
7 Shur1cIT
 
07.07.15
17:01
(6) чтобы иметь ссылку состояния надо её туда помещать, а как её туда помещать непонятно...например как я туда её помещу есть форма открыта свернута? (3) в управляемом понятно "произвольный запрос и настройка списка" это понятно, мне обычные нужны
8 bolobol
 
07.07.15
17:03
(7) Вообще не понял, чего ты понаписал... Особо доставило "есть форма открыта свернута" со знаком вопроса...
9 DmitrO
 
07.07.15
17:04
(7)почему тебе нужна именно обычная форма?
10 bolobol
 
07.07.15
17:05
(9) Патамушта других там нет
11 Shur1cIT
 
07.07.15
17:05
(8) как реквизит в документе менять програмно не из самого документа (по которому отбор нужен) если он открыт
12 DmitrO
 
07.07.15
17:06
(10)и что? а вот эта форма будет управляемая, и что в этом плохого?
13 Shur1cIT
 
07.07.15
17:06
(9) это УПП можно конечно запилить под эту задачу управляемые, но не хотелось бы
14 Lexey_
 
07.07.15
17:07
(13) тогда делай отбор по ссылке с видом сравнения ВСписке, список получай запросом
15 DmitrO
 
07.07.15
17:08
(13)блиать.. я где-то говорил что надо все УПП 1.3. переписать под управляемые формы?
ТОЛЬКО ЭТА ФОРМА БУДЕТ УПРАВЛЯЕМАЯ, это же так просто! :)
16 bolobol
 
07.07.15
17:09
(12) И ни один пользователь её открыть не сможет. Да и вообще - тут не вы вопросы задаёте.
(11) - А это зачем? Кагбэ, даже, невозможно. Либо у открывшего этот документ при начале изменения или записи вылезет сообщение о неактуальности версии объекта.
17 bolobol
 
07.07.15
17:10
(15) И только с этой формой будут пользователи работать, да, отличный вариант! ))))
18 DmitrO
 
07.07.15
17:10
(10)по какой причине он не сможет ее открыть? Во всех типовых уже давно разрешили использовать управляемые формы в обычном приложении.
19 Timon1405
 
07.07.15
17:10
(16) оО, почему не сможет открыть? на нее что нужны специальные права?
20 DmitrO
 
07.07.15
17:11
(18)->(16)
21 bolobol
 
07.07.15
17:18
(18) Скриншот сей возможности предъявить сможете?
22 DmitrO
 
07.07.15
17:19
(21)Какой скриншот? Что управляемые формы работают в обычном приложении? :)
23 bolobol
 
07.07.15
17:20
Да, открытую управляемую форму в обычном приложении
24 palpetrovich
 
07.07.15
17:24
(3) да, про Отбор я как-то не дочитал :
25 DmitrO
 
07.07.15
17:32
26 Mirnin
 
07.07.15
17:34
Тот же УПД попробуй распечатать и, сюрприз, откроется ФормаПечатиУправляемая.
27 Maniac
 
07.07.15
17:36
Хахаха.. Балбесы. не могут решить элементарные задачи.
28 Maniac
 
07.07.15
17:37
Смотрим скришот и удивляемся.

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

Монитор управления.

http://subsystems.ru/upload/iblock/cba/subsys_uprplat_ut10_6.png
29 palpetrovich
 
07.07.15
17:40
(28) ты просто нереально крут ;)
30 bootini
 
07.07.15
17:41
Тоже обработку делал типа (28), как в списке отбирать хз.
31 Serg_1960
 
07.07.15
17:43
Хмм... наверное кто-то (небуду пальцем показывать) забыл про свойство конфигурации "Использовать управляемые формы в обычном приложении"(использовать управляемые формы в толстом клиенте в обычном режиме)?
32 DmitrO
 
07.07.15
17:45
(31)кто-то просто про него и не знал.
33 bolobol
 
07.07.15
17:48
(25) Не пойму, как такое совершили, но у меня на последнем ЗУП 2.5 с "разрешением" упр форм, на последней 8.2 платформе - внешняя обработка не открывается!!
34 Timon1405
 
07.07.15
17:48
(33) ключевое слово "внешняя"
35 bolobol
 
07.07.15
18:24
(34) Шляпа какая-то...
36 bolobol
 
07.07.15
18:27
(25) О, да! Оно работает!! Буду иметь в виду, спасибо!!!
37 bolobol
 
07.07.15
18:31
(28) Что-то в это, похоже, нечто нетиповое. Поделка чья-та наколенная. ТС, в принципе, это и хочет повторить.
38 ILM
 
гуру
07.07.15
18:44
У объекта документ есть "ссылка". У формы списка документов есть свойство отбор. Значит задача в (0)  состоит из нескольких этапов:
1. Получить список ссылок документов у которых нужный статус.
2. Выгрузить полученный список в массив.
3. Настроить отбор используя полученный массив.
P.S. Лучший способ использовать событие поля списка "ПриПолученииДанных".
39 DmitrO
 
07.07.15
18:49
(38)у вас в интересах в профиле написано "логика и здравый смысл", а вы пишете такие посты.
Нонсенс!
40 ILM
 
гуру
07.07.15
18:55
(39) "Вы хотите об этом поговорить?"
Некоторым, нужно просто разжевать подробнее. А у вас вообще в профиле пусто))
41 DmitrO
 
07.07.15
19:01
(40) да, не о чем тут говорить. А по теме я уже все сказал.
42 Одинесю
 
07.07.15
19:40
(10) Есть в УПП управляемые формы, дело в другом - пользователи или инфаркт получат или будут просить во всех объектах управляемые.
43 Maniac
 
08.07.15
00:03
Итак, по подобию (28)

1) Создаем форму - можно во внешней обработке.

2) Создаем реквизит обработки ПостроительОтчета

3) На форме размещаем ТаблицуЗначений с любым количеством колонок, которые хотим выводить.
Это может быть что угодно что мы потом наполним данными.

4) Пишем запрос под построитель отчета.
Почему именно построитель - дополнительно на форме мы сможем разместить от построителя любые натсройки - например отборы по запросу.
Заложить любые переменные и так далее.

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

5) Все красиво оформлляем - можем какие то отрисовки сделать, красивый интерфейс. Большую кнопку что угодно.

6) мождем сделать чтобы данные наполнялись автоматически или по кнопке.

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

ИТОГ: имеем очень удобную таблицу-отчет, которая может содержать все что душе угодно.

Встроенные плюсы однозначны - в ТЗ на морде автоматически без всякого программирования можно совершать любые сортировки, отборы и так далее - итоги иметь в подвале и прочее.

Заказчик обалдееет от счастья. Программисту 90 лвл обеспечен.
44 Maniac
 
08.07.15
00:05
С автора магарыч за готовое тех задание и решение вопроса безо всяких демонических списков.
45 Shur1cIT
 
08.07.15
09:19
если ничего не менять кардинально выход один, создать реквизит у объекта (документа), вынести его в форму списка и будет отбор, Проблема остаётся в следующим, как в этот реквизит состояние писать? во всех местах где пишется состояние в регистр. а универсальный механизм есть так как как я писал выше, у кого то может быть открыт документ, возможно у этого же самого пользователя тогда реквизит не измениться? в рег. задачи совать тоже не хотелось бы грузить систему из за какого-то реквизита.
46 bootini
 
08.07.15
10:06
(45) Если реквизит у документа создавать, тогда регистр сведений не имеет смысла. Рег.сведений со статусами и делают, чтобы менять статус документа без перезаписи дока.

Делай обработку вместо формы списка, например как в (43), и пусть пользователи в обработке с этими доками работают.
Многие так делают, там не только отбор, но и несколько ТП можно сделать, где доки с разными статусами отображаются или содержимое документа при активации показывать в отдельном поле или в виде надписей, пакетную обработку по отбору замутить и т.д.

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