Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/187: Рейтинг темы: голосов - 187, средняя оценка - 4.86
8 / 8 / 0
Регистрация: 31.08.2012
Сообщений: 111

Вычисляемая или произвольная колонка в динамическом списке

04.09.2012, 17:11. Показов 40119. Ответов 102
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Никто не в курсе как добавить произвольное поле в динамический список формы справочника или документа в управляемом приложении?

В обычном приложении проблема решалась просто добавлением колонки в поле списка и в ПриВыводеСтроки()
нужный текст формировался с использованием данных строки
и вписывался в ОформлениеСтроки.Ячейки ... УстановитьТекст()
тут чтото не могу найти подобного механизма.
"Произвольный запрос" чтото не дает возможности произвольное поле воткнуть
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.09.2012, 17:11
Ответы с готовыми решениями:

Вычисляемая колонка. Форма списка справочника
Всем доброго дня! Меня зовут Юлия, я учусь программировать на 1С 8.2. Обращаюсь ко всем, кто более опытен в этой области. Предо мной...

Отбор в динамическом списке
Добрый день. Хочу сделать отбор в динамическом списке, нашел в пример в интернете: &НаСервере Процедура...

Отбор В Динамическом Списке
Подскажите, как настроить отбор в динамическом списке на форме элемента справочника, чтобы в списке выводились элементы подчиненного...

102
8 / 8 / 0
Регистрация: 31.08.2012
Сообщений: 111
06.09.2012, 13:07  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от duk337 Посмотреть сообщение
Есть ещё вариант: ПриАктивизацииСтроки(). И речевой синтезатор прикрутить, чтоб вслух

Добавлено через 10 минут
В общем, у меня в голове три варианта: неуправляемая форма, свой дин.список в виде ТЗ, и решить вопрос регламентно: вместо колонки предоставить сервис, якобы удобный, по кнопке типа "А кто у нас в районе Семипалатинска?", выводя при этом инфу по активной записи.
Кстати ПриАктивизации в этом случае и использовали в 8.0, когда не было расширения таб.поля

регламентное решение изначально было вычеркнуто иначе вопроса бы не было.

скорее всего опять негативно решится вопрос о переходе на УП

Добавлено через 12 часов 0 минут
Победил я эту дрянь. Всем спасибо.
0
 Аватар для duk337
2956 / 1768 / 83
Регистрация: 03.11.2011
Сообщений: 8,280
06.09.2012, 16:12
не поделишься, как?
0
8 / 8 / 0
Регистрация: 31.08.2012
Сообщений: 111
06.09.2012, 17:17  [ТС]
Цитата Сообщение от duk337 Посмотреть сообщение
не поделишься, как?
это будет нарушением правил форума
0
900 / 877 / 10
Регистрация: 15.03.2012
Сообщений: 2,680
06.09.2012, 19:27
Цитата Сообщение от alware Посмотреть сообщение
это будет нарушением правил форума
В личку пришли, конспиратор.
0
8 / 8 / 0
Регистрация: 31.08.2012
Сообщений: 111
06.09.2012, 20:00  [ТС]
Цитата Сообщение от Fenomen Посмотреть сообщение
В личку пришли, конспиратор.
может сразу нуралиеву прислать ?
0
900 / 877 / 10
Регистрация: 15.03.2012
Сообщений: 2,680
06.09.2012, 20:05
Цитата Сообщение от alware Посмотреть сообщение
может сразу нуралиеву прислать ?
Ты кому будешь отправлять Борису или Сергею? Адреса то знаешь? Или подсказать?

Кстати фамилии пишут с заглавной буквы.
0
8 / 8 / 0
Регистрация: 31.08.2012
Сообщений: 111
06.09.2012, 20:06  [ТС]
Цитата Сообщение от Fenomen Посмотреть сообщение
Кстати фамилии пишут с заглавной буквы.
Тебе рассказать сколько у тебя запятых пропущено в предыдущем посте?
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
06.09.2012, 20:14
Хватит оф-топить!

alware, нашел решение САМ, поделись с другими!!!
0
900 / 877 / 10
Регистрация: 15.03.2012
Сообщений: 2,680
06.09.2012, 20:26
Цитата Сообщение от Dethmontt Посмотреть сообщение
alware, нашел решение САМ
Спорный вопрос, он написал, что его нашел...
0
8 / 8 / 0
Регистрация: 31.08.2012
Сообщений: 111
06.09.2012, 22:51  [ТС]
Цитата Сообщение от Fenomen Посмотреть сообщение
Спорный вопрос, он написал, что его нашел...
Спорный вопрос сам не сам. Конечно сам кто мне поможет то? Одинэснеги, я так понимаю, только с русской грамматикой полезны.

Решение простое как два байта. (но еще тестируется)

Добавлено через 2 часа 4 минуты
Всё протестировалось
все работает

Задача была подсунуть запросу динамического списка ТЗ чтобы она с ним соединилась и значения из нее появились в ТП.

Решение

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    таб = новый ТаблицаЗначений;
    таб.Колонки.Добавить("ТИдентификатор");
    таб.Колонки.Добавить("ТПредставление");
    ст = таб.Добавить();
    ст.ТИдентификатор = 1;
    ст.ТПредставление = "один";
    ст = таб.Добавить();
    ст.ТИдентификатор = 2;
    ст.ТПредставление = "два";
    ст = таб.Добавить();
    ст.ТИдентификатор = 3;
    ст.ТПредставление = "три";
    
    Для каждого ст из таб цикл
    
        лок = Список.УсловноеОформление.Элементы;
        локЭл = лок.Добавить();
        офЭл = локЭл.Поля.Элементы.Добавить();
        офЭл.Поле = Новый ПолеКомпоновкиДанных("colonochka");
        локЭл.Оформление.УстановитьЗначениеПараметра("Текст", ст.ТПредставление);
        локУсл = локЭл.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        локУсл.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("colonochka");
        локУсл.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        локУсл.ПравоеЗначение = ст.ТИдентификатор;
    
    КонецЦикла;
Думаю всем понятно.

Одинэсники могут приступать к анализу русской грамматики
0
06.09.2012, 23:00

Не по теме:

"В каждом заборе должна быть дырка" (летучее выражение Умки)

0
900 / 877 / 10
Регистрация: 15.03.2012
Сообщений: 2,680
07.09.2012, 00:53
И где же здесь:
Цитата Сообщение от alware Посмотреть сообщение
это будет нарушением правил форума
?

Ваше решение, может быть использовано только тогда когда Вы будете уверены, что в Вашей таблице будет небольшое количество строк.
0
8 / 8 / 0
Регистрация: 31.08.2012
Сообщений: 111
07.09.2012, 10:04  [ТС]
Цитата Сообщение от Fenomen Посмотреть сообщение
И где же здесь: ?
это было про первый вариант который я не озвучил


Цитата Сообщение от Fenomen Посмотреть сообщение
Ваше решение, может быть использовано только тогда когда Вы будете уверены, что в Вашей таблице будет небольшое количество строк.
Что значит небольшое? (Опять какието абстракции. А если большое? ГПРС не выдержит?)
Мне для решения задачи надо максимум 50 строк.
Тест отрабатывал нормально и с 3000.

Естественно динамического обновления такого объема не будет (а вот 50 безболезненно обновляются). Но крайности никого и не интересовали.

Добавлено через 1 час 52 минуты
Немножко модифицировав приведенное решение получаем полностью динамическое обновление данных в строке (ограничение только на массив соотвесвий)

Добавлено через 4 минуты
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    
    таб = новый Массив;
    таб.Добавить("1");
    таб.Добавить("2");
    таб.Добавить("3");
    таб.Добавить("4");
    
    Для каждого ст из таб цикл
    
        лок = Список.УсловноеОформление.Элементы;
        локЭл = лок.Добавить();
        офЭл = локЭл.Поля.Элементы.Добавить();
        офЭл.Поле = Новый ПолеКомпоновкиДанных("colonochka");
        локУсл = локЭл.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        локУсл.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("colonochka");
        локУсл.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        локУсл.ПравоеЗначение = ст;
        локЭл.Оформление.УстановитьЗначениеПараметра("Текст", segdll.roundLocation(локУсл.ПравоеЗначение,"cp1251"));
    КонецЦикла;
Необходимость в обновлении ТЗ (из предыдущего решения) отпадает
1
07.09.2012, 10:13

Не по теме:

Три раза "ку"
Наградить часиками и присвоить малиновые штаны!
Пример повесить каждому на стенке в качестве Да Цзы Бао, чтобы помнить о том, что в каждом заборе...

0
900 / 877 / 10
Регистрация: 15.03.2012
Сообщений: 2,680
07.09.2012, 10:45
Знаете есть хорошие программисты 1С, а есть обычные. Разница состоит в том, что обычные просто добиваются результата, а хорошие помимо достижения результата заботятся о:
1. Достоверности данных;
2. Оптимальности решения с точки зрения производительности;
3. Маштабируемости;
4. Защиты от неправильных действий пользователя;
5. Возможности пользователям пользоваться привычными механизмами.
Бываю случаи когда одним из пунктов приходится пренебрегать.


Рассмотрим, с точки зрения этих принципов Ваше решение:
1. Пользователь включил автообновление динамического списка. Появляются новые документы, отборов нет в условном оформлении, данные не выводятся. Да Вы скажите я сделаю обновление таблицы через обработчик ожидания. Но тем самым вы сделает лишний вызов сервера, причем контекстный - это уже к п.2.
2. Большое количество условного оформления затормаживает работу списка. Тормоза, могут начинаться где то от 150 элементов с разными отборами. Да Вы говорите, что у Вас столько не будет. Но Вы же сами говорили что данные получаются из вне, и здесь Вы не можете сказать какое количество данных к Вам придет. Вы создали потенциально узкое место.
3. Производительность вашего решения прямопропорцианально зависит от количества строк во внешнем источнике данных. Это не правильно.
4. Пользователь может отключить условное оформление и Выше решение перестает работать.
5. Пользователь может добавить свое условное оформление, а Вы его будете затирать накладывая свое.


Резюмируя тему: Вычисляемая или произвольная колонка в динамическом списке - можно утверждать следующее:
Это не возможно на данный момент и не будет возможно в дальнейшем учитывая назначение динамического списка.
Для решения такой задачи необходимо:
1. Если рассчитываемые данные можно получить из ИБ, то их нужно получать в запросе динамического списка.
2. Если данные являются внешними по отношению к ИБ, то следует:
Если это возможно, создать внешний источник данных и выбирать данные из него в запросе динамического списка.
Если создать внешний источник данных не представляется возможным, то необходим помещать требующиеся данные в ИБ, и опять же выбирать их в запросе списка. Для актуальности данных нужно обновлять их с помощью регламентного задания, с требующейся периодичностью.
0
8 / 8 / 0
Регистрация: 31.08.2012
Сообщений: 111
07.09.2012, 11:05  [ТС]
Цитата Сообщение от Fenomen Посмотреть сообщение
Знаете есть хорошие программисты 1С, а есть обычные.
Есть программисты 1с а есть просто программисты.

Пока вторые находят решение поставленной задачи.

Первые занимаются оформлением красивых и грамматически правильных текстов.

(Зачем мне мне масштабиремость? Условия же описаны.)

Добавлено через 15 минут
Цитата Сообщение от Fenomen Посмотреть сообщение
4. Защиты от неправильных действий пользователя;
5. Возможности пользователям пользоваться привычными механизмами.
Бываю случаи когда одним из пунктов приходится пренебрегать.


Рассмотрим, с точки зрения этих принципов Ваше решение:
1. Пользователь включил автообновление динамического списка. Появляются новые документы, отборов нет в условном оформлении, данные не выводятся. Да Вы скажите я сделаю обновление таблицы через обработчик ожидания. Но тем самым вы сделает лишний вызов сервера, причем контекстный - это уже к п.2.
2. Большое количество условного оформления затормаживает работу списка. Тормоза, могут начинаться где то от 150 элементов с разными отборами. Да Вы говорите, что у Вас столько не будет. Но Вы же сами говорили что данные получаются из вне, и здесь Вы не можете сказать какое количество данных к Вам придет. Вы создали потенциально узкое место.
3. Производительность вашего решения прямопропорцианально зависит от количества строк во внешнем источнике данных. Это не правильно.
4. Пользователь может отключить условное оформление и Выше решение перестает работать.
5. Пользователь может добавить свое условное оформление, а Вы его будете затирать накладывая свое.
Пользователь не может ничего отключить (в данном конкретном случае). А если дать ему такою возможность, то он как раз сам себя лишит привычных механизмов, чего в здравом уме делать не станет.

Или для вас привычные механизмы это дефолтная схема. А производственный регламент и должностная инструкция - ненужные проблемы и глупая прихоть клиентов?


Можетвы и предметную область масштабируете? Смасштабируйте мне какойнибудь прибыльный бизнес пожалуйста, а то знаете денег всегда мало
0
900 / 877 / 10
Регистрация: 15.03.2012
Сообщений: 2,680
07.09.2012, 11:17
Господа, я для себя тему закрыл (Надеюсь, что и для других).
Ни один адекватный специалист, к такому решению прибегать не будет. Для тех кто пришел сюда за ответом на вопрос - сам сможет взвесить все плюсы и минусы такого решения.
Я думаю дискуссия будет многим полезна.
0
8 / 8 / 0
Регистрация: 31.08.2012
Сообщений: 111
07.09.2012, 11:28  [ТС]
Цитата Сообщение от Fenomen Посмотреть сообщение
Господа, я для себя тему закрыл (Надеюсь, что и для других).
Ни один адекватный специалист, к такому решению прибегать не будет. Для тех кто пришел сюда за ответом на вопрос - сам сможет взвесить все плюсы и минусы такого решения.
Я думаю дискуссия будет многим полезна.
Прибегание к решению какраз и происходит после

Цитата Сообщение от Fenomen Посмотреть сообщение
звесить все плюсы и минусы
а для этого существует тестирование, а не прочтение текстов с проавильной версткой.

1с головного мозга - тяжелый диагноз, но многи адекватным специалистам с ним жить, и если не пытаться минимизировать симптоматику в виде зашкаливающего ЧСВ, то никакой ГПРС может не выдержать

А дискуссия ога полезная особенно финансово
0
 Аватар для duk337
2956 / 1768 / 83
Регистрация: 03.11.2011
Сообщений: 8,280
07.09.2012, 14:05
Цитата Сообщение от alware Посмотреть сообщение
1с головного мозга - тяжелый диагноз, но многи адекватным специалистам с ним жить, и если не пытаться минимизировать симптоматику в виде зашкаливающего ЧСВ, то никакой ГПРС может не выдержать
да не перерастёт 1сГМ в ФГМ
Цитата Сообщение от alware Посмотреть сообщение
А дискуссия ога полезная особенно финансово
беззаботному шушпанчику, аки трудолюбивой пчёлке любая капелька нормального функционирования мосга - нектар
0
8 / 8 / 0
Регистрация: 31.08.2012
Сообщений: 111
07.09.2012, 14:11  [ТС]
Не хочу ни кого обидеть, но некоторые сами себе противоречат

сначала пишут
Цитата Сообщение от Fenomen Посмотреть сообщение
1. Достоверности данных;
2. Оптимальности решения с точки зрения производительности;
3. Маштабируемости;
4. Защиты от неправильных действий пользователя;
5. Возможности пользователям пользоваться привычными механизмами.
Бываю случаи когда одним из пунктов приходится пренебрегать.
И хотя приведнное решение задачи ПОЛНОСТЬЮ соотвествует всем пунктам кроме 3. (очем кстати сказано в примечании в вышеприведенной цитате)

а именно
1. Достоверности данных;
2. Оптимальности решения с точки зрения производительности;
эти два пункиа при реализации через ВнешнийИсточникДанных либо чререз БД будут реализованы в меньшей степени

4. Защиты от неправильных действий пользователя; - это прописано другими средствами
5. Возможности пользователям пользоваться привычными механизмами. - это какраз и было изначальным условием

потом пишут

Цитата Сообщение от Fenomen Посмотреть сообщение
Ни один адекватный специалист, к такому решению прибегать не будет.
Это что? Хитрая игра в абсурд или проявление адекватности?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.09.2012, 14:11
Помогаю со студенческими работами здесь

Отбор в динамическом списке
Здравствуйте! Помогите, пожалуйста,с отбором в динамическом списке. есть два динамических списка "Список" и...

Запрос в динамическом списке
ВЫБРАТЬ ДокументалкТоварноТранспортнаяНакладнаяЕГАИС.Ссылка, ДокументалкТоварноТранспортнаяНакладнаяЕГАИС.ПометкаУдаления, ...

Отбор в динамическом списке
задача открыть форму списка со стандартным запросом динамического списка. пишу &НаКлиенте Процедура...

Сортировка в динамическом списке
Добрый день всем! В инете не нашел внятного ответа на мой вопрос, поэтому хотелось бы разобраться с этим. На скринах видна...

Отбор в динамическом списке
Имеется справочник "Граждане" создал для него "Форму элемента" из двух страниц на первой основная информация, а на второй странице вывел...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru