Возможно кто-то знает решение этой задачи, а так же есть идея как бы сделать что бы то что пользователь изменил но не сохранил до нажатия на кнопку перехода на другую стадию.
Проблема была скорее всего в области видимости, но не стал разбираться дальше. Подумал что так как это условие перехода, можно сказать проверка его обязательности, решил переделать не трогая save а использовать asyncValidate. С его помощью получилось как хотел. Код полный выложу не много позже, так как он совсем пока красивый, а если время будет то наверно сделаю видео с разъяснением почему решил сделать именно так и приложу ссылку, может в комментариях кто предложит как еще оптимизировать
Подскажите, как можно задать название модульного окна выбора из справочника (по умолчанию " Выбор: ..." + название таблицы). Хотелось бы указать не название таблицы а что-то более подходящее по обстоятельствах (как это сделано в кейсах)
Есть одна неочевидная фича. Если добавить в раздел справочники запись, указав в поле "Объект" ваш объект, а в "Названии" то что вы хотите видеть в справочных окнах, то после перезахода в систему заголовки всех справочников этого объекта поменяются)
Есть одна неочевидная фича. Если добавить в раздел справочники запись, указав в поле "Объект" ваш объект, а в "Названии" то что вы хотите видеть в справочных окнах, то после перезахода в систему заголовки всех справочников этого объекта поменяются)
Для любого объекта в системе можно создать справочное представление. В вашем примере с продажами - точно можно. Добавление справочника в раздел "справочники" - возможность открыть записи объекта в списочном представлении с возможностью редактирования и на сам раздел/объект никак не повлияет.
Александр, это поле — компонент ядра, в конфигурации он не дорабатывается. Можно сделать рядом два поля: одно для ввода только даты, без времени, а другое — справочное с выпадающим списком только рабочего времени. И программно сводить их значения в одно поле объекта с полной датой.
Или оставить обычное поле с датой и временем, но в обработчике корректировать неподходящие выбранные значения, как сейчас в карточке задачи убирают секунды в функции clearSeconds.
Была такая же идея по поводу ограничения расписания, добавил и Вашу о поле ввода времени.
Александр, это поле — компонент ядра, в конфигурации он не дорабатывается. Можно сделать рядом два поля: одно для ввода только даты, без времени, а другое — справочное с выпадающим списком только рабочего времени. И программно сводить их значения в одно поле объекта с полной датой.
Или оставить обычное поле с датой и временем, но в обработчике корректировать неподходящие выбранные значения, как сейчас в карточке задачи убирают секунды в функции clearSeconds.
Была такая же идея по поводу ограничения расписания, добавил и Вашу о поле ввода времени.
Если извне, то есть стандартный FileApiService, примеры работы с ним см. тут. Перед этим нужно ещё выполнить авторизацию.
Если же Вы хотите это делать это в серверной логике 7.Х, то нужно делать примерно то, что делается внутри этого сервиса, писать данные в поле Data записи о файле в таблице ...File от нужного раздела. См. пояснение в комментарии тут.
Да, возможно. Сделайте БП, запуск по записи. Читать родительскую запись, далее добавить запись в раздел и открыть страницу на редактирование только что созданной записи. У меня так реализовано добавление доп.соглашения к договору.
Можно развить дальше и сделать отдельную кнопку для запуска процесса.
Не понял. Один раз настроить в БП элемент добавить данные и все. Все 100+ полей будут копировать автоматически при создании новой записи. Если сложно настроить элемент добавить данные, то можно все сделать добавление данных скриптом в том же процессе. Можно через InsertSelect
Как вариант можно заместить логику нажатия по плюсу на детале.
И не открывать страницу в режиме добавления записи, а открывать страницу в режиме копирования записи, где источником данных будет текущая (родительская) запись, на которой и находится деталь.
А все колонки из родительской скопирует базовая логика системы:
В режиме копирования система сама копирует значения всех полей, которые на объекте отмечены признаком "Копировать".
InsertSelect не вызвет событийную модель, что не есть хорошо.
Если проблема только в этом, можно создавать Entity, наполнять её поля и затем вызывать Save. Или, как изначально предложили, средствами стандартных элементов БП для работы с данными.
По изначальному вопросу темы:
Вы хотите копировать из одноимённых полей одного объекта в другой?
А то, если просто создать копию записи, то в реестре есть кнопка копирования записи, при нажатии на неё создаётся новая запись с заполненными полями, у которых в объекте включена галка «Копировать данные при копировании записи».
то в реестре есть кнопка копирования записи, при нажатии на неё создаётся новая запись с заполненными полями, у которых в объекте включена галка «Копировать данные при копировании записи».
Да именно это мне нужно, каким образом я могу вызвать ее программно?
У объекта Entity есть метод .Clone() (или вызываемый им же конструктор Entity(Entity source)). Запускаем его, получаем новый объект в памяти. При необходимости заполняем текущими датой и пользователем стандартные 4 поля, затем те поля, значения которых в Вашей логике нужно поменять относительно образца. Все остальные поля, у которых в дизайнере есть галочка, скопировались автоматически. Id, естественно, будет уже новый.
Цикл из примера не нужен, ведь поля для отображения справочников нас сейчас не интересуют. И в конце запускаем у своего Entity метод .Save(), чтобы эта запись из памяти попала в базу. Кажется, ничего не упустил.
Но это всё на уровне C#-скрипта в процессе. Если надо в JS-логике, подобно кнопке копирования, нужно смотреть, как она устроена.
Не совсем понимаю, что Вы хотите сделать и почему бы не использовать ту самую кнопку копирования в любом разделе или аналогичное действие в детали.
Здравствуйте! По идее переводы должны перенестись вместе с ресурсами объекта. Если же не переносится, то переводы можно привязать к пакету в виде данных.
Переводы хранятся в таблице SysTranslation, привязка данных осуществляется в разделе конфигурация -https://prnt.sc/w18hsw
Здравствуйте! По идее переводы должны перенестись вместе с ресурсами объекта. Если же не переносится, то переводы можно привязать к пакету в виде данных.
Переводы хранятся в таблице SysTranslation, привязка данных осуществляется в разделе конфигурация -https://prnt.sc/w18hsw
Я хочу сделать несколько независимых друг от друга мультивалютных полей, метод который я нашел в академии отключает треугольник для смены валюты, мб у кого то есть метод без его(треугольника) удаления и что бы он корректно работал после этого?
На текущий момент могу сказать, что элементарно это сделать. Читаем тут. Треугольник выбора валюты у поля пропадает по причине неверно названных атрибутов у коллекцией и методов, которые заменяют onCurrencyMenuItemClick.
В методе prepareCurrencyMenu мы биндим к своей функции "Click: {"bindTo": "on" + column + "CurrencyMenuItemClick"}". У меня мультивалютные колонки называются "NavDamageSize" и "NavSumCurrency", название методов "onNavDamageSizeCurrencyMenuItemClick", "onNavSumCurrencyCurrencyMenuItemClick" (изначально были другими). Название атрибутов должно быть "NavDamageCurrencyButtonMenuList" и "NavReqSumCurrencyButtonMenuList". Это особенности моей реализации.
Проще говоря, внимательно следите за названием методов и атрибутов.
На текущий момент могу сказать, что элементарно это сделать. Читаем тут. Треугольник выбора валюты у поля пропадает по причине неверно названных атрибутов у коллекцией и методов, которые заменяют onCurrencyMenuItemClick.
В методе prepareCurrencyMenu мы биндим к своей функции "Click: {"bindTo": "on" + column + "CurrencyMenuItemClick"}". У меня мультивалютные колонки называются "NavDamageSize" и "NavSumCurrency", название методов "onNavDamageSizeCurrencyMenuItemClick", "onNavSumCurrencyCurrencyMenuItemClick" (изначально были другими). Название атрибутов должно быть "NavDamageCurrencyButtonMenuList" и "NavReqSumCurrencyButtonMenuList". Это особенности моей реализации.
Проще говоря, внимательно следите за названием методов и атрибутов.
проблему с треугольником решить не удалось, и пришлось с каждым валютным полем связать справочное поле, которое отвечает за переключение валюты, в принципе все корректно