|   |   | 
| 
 | v7: "Безумные" хотелки | ☑ | ||
|---|---|---|---|---|
| 0
    
        tgu82 02.10.23✎ 15:01 | 
        Самописная конфа - одни справочники!!!
 Хочу в форму списка добавлять колонки при открытии с теми названиями которые введены в служебном справочнике причем чтобы колонки шли в том порядке в котором они описаны в служебном справочнике. Кроме того если это текстовые колонки то чтобы они автоматически записывали себе в "дополнительно" формулу - выполнение функции Вот я допустим понаделал 50 полей в справочнике строковых - поле1, поле2 и т.д. а вот их названия в показе и очередность чтобы шли через этот служебный справочник в котором - название справочника, идентификатор - (поле1, поле2....) название поля при визуализации, номер по порядку при визуализации в форме списка, формула-функция если нужно Формекс должен уметь такие вещи. Еще бы конечно чтобы в сам справочник в конфигураторе какими-то библиотеками можно было сделать автосоздание его структуры но это было бы вообще круто. | |||
| 1
    
        tgu82 02.10.23✎ 15:06 | 
        (0) Как вариант конечно можно было бы использовать xbase там можно все подобавлять гибко и потом визуализировать но с учетом сетевой работы неудобно     | |||
| 2
    
        tgu82 02.10.23✎ 15:13 | 
        (0) можно было еще наверное создать один такой справочник скажем с 50 полями (Поле1, Поле2 и т.д.) а потом просто его клонированием создать еще 7. Тоже вариант и не особенно долгий     | |||
| 3
    
        tgu82 02.10.23✎ 15:13 | 
        (0) Главное сделать для них гибкую визуализацию в форме списка     | |||
| 4
    
        tgu82 02.10.23✎ 15:15 | 
        (0) То что было в этой ветки я вроде одолел с вашей помощью
 (Финт с выводом текущей колонки с функцией на форме - как?) | |||
| 5
    
        Eiffil123 02.10.23✎ 15:16 | 
        попытка эмулировать конфигуратор в режиме 1С:Предприятия, но зачем?
 PS на 8.х такое реализовано в конфигурации бит.финанс для настройки заполнений движений документов. На 7.7 такое вряд-ли возможно | |||
| 6
    
        Djelf 02.10.23✎ 15:19 | 
        (0) Штатно? Это затруднительно.
 Через formex? Ну это почти штатно, но немного расширено. Переход на ТабличныйДокумент из 1с++, решает большинство таких проблем. | |||
| 7
    
        Харлампий Дымба 02.10.23✎ 15:21 | 
        Про формекс ничего не скажу - щас тебе расскажут.
 А вот касательно (2) - в первую колонку в формулу ставишь МояФункция(), в остальные - в формулу ставишь ЗначениеКолонки[2], ЗначениеКолонки[3] и т.д. В МояФункция() возвращаешь ЗначениеКолонки[1], заодно заполняя по своим формулам остальной массив ЗначениеКолонки. И не забывай всё занулять, если например, для группы ничего не должно выводится. Так вроде в какой-то типовой было сделано - гораздо быстрее, чем дергать ТекущийЭлемент для каждой колонки отдельно. | |||
| 8
    
        tgu82 02.10.23✎ 15:28 | 
        (7) Ты имеешь в виду массив ? ЗначениеКолонки[i]     | |||
| 9
    
        tgu82 02.10.23✎ 15:31 | 
        (7) Классная идея кстати, единственное что нужно сами текстовые колонки создавать автоматом и размещать автоматом     | |||
| 10
    
        uno-group 02.10.23✎ 15:36 | 
        Что мешает в форму списка кинуть ТЗ и добавлять колонки в нее как угодно. Тут наверное больше вопрос размера этого справочника. Одно дело когда это 100 элементов и совсем другое когда 1000 тыс.
 ИМХО пользователь не знает что хочет а ты ему потакаешь. Визуализацию можно сделать какую угодно, а как это будет реализовано на самом деле пользователя не касается. Были у меня справочники который юзер видел как 1, а на самом деле это было 4 разных справочника. Попробывал бы задачу подробнее описать | |||
| 11
    
        Arbuz 02.10.23✎ 15:40 | 
        Насчёт автосоздания структуры - был такой класс РаширениеСправочников. Насколько я помню, позволял добавлять реквизиты справочника в рантайм, причём для каждого элемента свои. Фактически значения хранились в подчинённом справочнике.     | |||
| 12
    
        uno-group 02.10.23✎ 15:44 | 
        А так создаешь сразу кучу колонок с идентификатором Р1...50 и в формулу добавляешь Функция("Р1")
 Потом при открытии смотришь сколько колонок тебе нужно остальным видимость О. В Функции проверяешь что за поле и выводишь или реквизит или считаешь по формуле и выводишь значение. Примеров как вычислить значение из текстовых описаний полно. | |||
| 13
    
        tgu82 02.10.23✎ 16:02 | 
        (10) Да нет. Шеф много лет работает с 7.7 и неплохо ее знает. И я ему не потакаю а понимаю что он хочет. Мне вот посоветовали аналог Свойства и Виды свойств. Вот это очень интересный вариант мне кажется и потом визуализировать только.
 Тогда я могу создать каждый справочник по сути вообще с двумя полями код и наименование. а дальше как в типовой тис 7.7 | |||
| 14
    
        Eiffil123 02.10.23✎ 16:05 | 
        (13) а скоро с таким подходом вы придете к тому, что нужен вообще только 1 справочник     | |||
| 15
    
        uno-group 02.10.23✎ 16:07 | 
        (13) Ради чего все это? Зачем писать безумный конструктор когда добавить реквизит в справочник быстрее? Добавь таблицу реквизит значения и выводи туда дополнительную информацию по текущему элементу.     | |||
| 16
    
        uno-group 02.10.23✎ 16:09 | 
        Если потом захотят какие то отчеты с фильтрами по этим свойствам то вообще замучаетесь.
 Я допускаю что таких гибких полей может понадобиться 1-3, но если 50 то это что то в консерватории. | |||
| 17
    
        tgu82 02.10.23✎ 16:09 | 
        (15) Нет. Не быстрее. Там очень много полей и с очень замудренными названиями типа ЛЭП_6_10кв     | |||
| 18
    
        uno-group 02.10.23✎ 16:19 | 
        (17) создавай их программно какие проблемы.     | |||
| 19
    
        Kigo_Kigo 02.10.23✎ 16:21 | 
        По моему ТЗ на форме решает эту задачу на все 100% и не надо изобретать велосипед     | |||
| 20
    
        tgu82 02.10.23✎ 16:41 | 
        (19) Но поля-то в структурах справочников все равно вводить. А так ДА. Я частенько ТЗ на форме+Формекс использую     | |||
| 21
    
        uno-group 02.10.23✎ 16:56 | 
        (20) разобрал компауд файл добавил поля в текстовый файл собрал обратно. загрузил измененную конфигурацию     | |||
| 22
    
        tgu82 02.10.23✎ 18:18 | 
        (21) Наверное нет смысла. Не так сложна задача     | |||
| 23
    
        HawkEye 02.10.23✎ 20:30 | 
        (0) кинь на форму 150 колонок и играйся видимостью...     | |||
| 24
    
        tgu82 02.10.23✎ 20:51 | 
        у меня есть поле в служебном справочнике "Название колонки". Я ввожу его руками но поскольку высоту заголовка ТЗ на форме  я задал то как мне при вводе обычного текста указать "перевод строки" между слова то есть аналог "Разделитель строк" ???     | |||
| 25
    
        tgu82 02.10.23✎ 20:59 | 
        (24) Хотя можно же просто через Шаблон сделать     | |||
| 26
    
        tgu82 02.10.23✎ 21:07 | 
        Наименование заявителя проявителя и закрепителя - вот просто ввожу руками и надо вставить при вводе перевод строки и возврат каретки     | |||
| 27
    
        tgu82 02.10.23✎ 21:07 | 
        (26) После слова "проявителя"     | |||
| 28
    
        tgu82 02.10.23✎ 21:19 | 
        Вообще конечно Альф гений. Получить в ТЗ на форме и название колонок в несколько строк и значения данных в колонках в несколько строк - это Супер!!!     | |||
| 29
    
        Смотрящий 02.10.23✎ 21:46 | 
        (28) Дед. Называй его Дед.     | |||
| 30
    
        Злопчинский 02.10.23✎ 22:35 | 
        (7) "Так вроде в какой-то типовой было сделано" - так сделано в типовой ТиС в форме подбора номенклатуры, где в колонке использовалась переменная рассчитанная в функции из предыдущей колонки.     | |||
| 31
    
        Злопчинский 02.10.23✎ 22:44 | 
        Если штатно - тупо ТЗ на форму. И играться колонками и отображением как заблогарассудится.
 . при этом надо понимать - будут ли реквизиты справочника чисто информационно/описательными или индексируемыми? . и нахрена 50..100 реквизитов? Описывать некие характеристики? Ну так карточка с основными реквизитами и к ней как в ТиС "Свойство, значение свойсчва" и описывай произвольный набор характеристик для каждого элемента отдельно. Можно пойти дальше - сдедать "шаблоны характеристик" для классов номенклатуры, с заранее описанными "характеристиками" - чтобы для гвоздя - жмак! характеристика "покрытие, длина, вес", для гайки "жмак! " свой набор харатектристик. . Отчеты правда собирать геморно, ибо это все превращается по сути в метаконструктор (второй конфигуратор) и в коде появятся костыли типа "Если Свойство="Ширина" ТогдаТоТо... | |||
| 32
    
        Злопчинский 02.10.23✎ 22:45 | 
        С постановокой задачи в (0) - труба. Ибо наверное тяжкое наследие царского режима...     | |||
| 33
    
        uno-group 03.10.23✎ 08:54 | 
        (24) А точно стоит это через ТЗ делать? ИМХО в таких случаях штатная таблица в режиме ввода данных офигительно работает. Ширину строк, колонок авто перевод строк и т.п. можно менять в динамическом режим + еще куча плюшек и без всяких дополнительных ВК.     | |||
| 34
    
        tgu82 03.10.23✎ 09:00 | 
        (33) Согласен но все-таки с задачей будут работать несколько пользователей (сетевая).     | |||
| 35
    
        АгентБезопасной Нацио 03.10.23✎ 09:07 | 
        открой уже для себя 1с++ и ТабличноеПоле. Там легко решается как эта задача в постановке в (0), так и практически без переделок в постановке (13), с механизмом свойств.     | |||
| 36
    
        tgu82 03.10.23✎ 09:11 | 
        (35) Спасибо. Да. Давно пора открыть :)     | |||
| 37
    
        АгентБезопасной Нацио 03.10.23✎ 09:25 | 
        (36) по-хорошему, пора уже закрывать - это актуально было лет 15 назад. сейчас актуальны самонеуправлеяемы формы, клиент-сервер и вот это всё.
 Единственный плюс, что может научишься работать с нормальными запросами, что теоретически поможет в теоретическом переползании на снеговика (да и ТП в 1с++ тоже чем-то напоминает оное) | |||
| 38
    
        tgu82 03.10.23✎ 09:38 | 
        (37) Я индексированной таблицей пользовался - понравилось. Только давно это было     | |||
| 39
    
        tgu82 05.10.23✎ 09:45 | 
        Казалось бы все просто но не работает:
 Процедура ПриНачалеРедактированияСтроки() Если Форма.ПолучитьАтрибут(Форма.ТекущаяКолонка()).Заголовок()="ТипКолонки" Тогда ВыбТип=""; Форма.УстановитьАтрибут(Форма.ТекущаяКолонка(),"ку-ку-ку"); УстановитьАтрибут(Форма.ТекущаяКолонка(),ВыбТип); КонецЕсли; КонецПроцедуры | |||
| 40
    
        tgu82 05.10.23✎ 09:46 | 
        Процедура ПриНачалеРедактированияСтроки()
 Если Форма.ПолучитьАтрибут(Форма.ТекущаяКолонка()).Заголовок()="ТипКолонки" Тогда ВыбТип=""; Форма.УстановитьАтрибут(Форма.ТекущаяКолонка(),"ку-ку-ку"); КонецЕсли; | |||
| 41
    
        tgu82 05.10.23✎ 09:47 | 
        Пробовал УстановитьАтрибут(Форма.ТекущаяКолонка(),"ку-ку-ку"); - без Форма. Результат тот же     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |