Добрый день, господа!

Хочу презентовать разработку, для конфигурирования Terrasoft 3.4.x (3.х.х нужно вручную подправить загруженные сервисы)
FieldMaker – утилита для создания новых полей.

Вы скажете, что их и так существует сотня, но у всех них есть свои недостатки
и после их использования приходилось еще многое менять руками…

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

В идеале, после ее использования вам вообще не придется править сервисы руками.

Инструкция по установке:
Накатить сервисы из архива на Вашу базу 3.4.х (для младших версий тоже можно, но нужно ковырять сервсы и смотреть, чтоб нормально загрузились)
Открыть в Администраторе сервис (скрипт) wnd_FieldMakerScript и нажать F9
Или запустить клиент с ключом ...\TSClient.exe -wnd=wnd_FieldMaker

Интерфейс интуитивно понятен, но все же рассмотрим работу с утилитой на примере добавления нового поля (Банк) в карточку Счета.
Достаточно сделать несколько простых шагов:

  1. Заполняем USI датасета – поле Dataset code = ds_Invoice
  2. Выбираем тип данных = Справочник
  3. Выбираем нужный справочник = ds_Bank (в этот момент программа сама заполняет поля Имя в БД и Заголовок)
  4. Заполняем USI связанных SelectQuery, Table, EditWindow, GridAreaWindow посредством нажатия интеллектуальной(!) кнопки – fill sq & tbl codes
  5. По желанию, проверяем правильно ли заполнились названия (клацаем закладки)
  6. ПЫЩЬ!

скрин

Приглашаю всех желающих для второго открытого Бета-тестирования.

Список изменений
v1.033

  • Если поле существует, спрашивается подтверждение о изменении поля(только кепшн)
  • Имя датасета/sq/tbl сохраняется в профиле
  • Добавлено автоматическое заполнения полей "Имя в БД" и "Заголовок" на основании параметров выбранного справочника

v1.035

  • Теперь при запуске "FM" через TSAdmin открывается новое окно, а не закешированое

v1.036

  • Добавлена возможность скрытия полей

v1.041

  • Добавить проверку на кнопку ПЫЩЬ: если такое поле хоть где-то найдено, то выдавать вопрос с подтверждением
  • Добавлены кнопочки, которые пока что открывают сайт с переводом Заголовка(рус-анг)

v1.1

  • Добавлена кнопка с автоматическим переводом!

====================================================

Список пожеланий

  • Делать название поля с большой буквы (невозможно так как каретка переходит в начало строки)
  • Сделать возможность выбора реестров куда добавлять поле в виде чекбоксов
  • Сделать возможность создавать простые справочники
  • Писать в заголовке окна, какая это БД. На всякий случай.
  • Сохранение или не сохранение в БД каждого поля регулировать галкой, а не вопросом.
  • На закладке таблицы добавить кнопку «Пересохранить таблицу в БД»
  • Делать бэкапы сервисов с возможностью отката.

Свои пожелания можете дописывать в этой теме.
Самые полезные будут включены в шапку и взяты в работу.

Нравится

Поделиться

25 комментариев

Хочу, чтобы после заполнения Заголовка и нажатии на пимпу имя поля в БД автоматически заполнялось. Для этого использовать какие-нибудь онлайновые сервисы перевода, которые предоставляют свой API.

"Snu-Smumrick" написал:

Хочу, чтобы после заполнения Заголовка и нажатии на пимпу имя поля в БД автоматически заполнялось. Для этого использовать какие-нибудь онлайновые сервисы перевода, которые предоставляют свой API.


Мне кажется это не будет востребовано по двум причинам:
1) "Машинный" перевод всегда хуже человеческого (особенно учитывая специфику того как иногда называют поля в карточках)
2) В Террасофте есть свои, исторически сложившиеся, "словари перевода"(правила именования), которые не всегда являются самым точным переводом.
Например: Контрагент = Account и т.п.

Считаю, что будет востребовано, т.к.:
1. Функция опциональна. Работает только при нажатии на пимпу. Хорошо знаешь английский - будь добр не жми пимпу;
2. Думаю, что в более, чем в 67% случаев даст адекватный результат. Сэкономит уйму времени;
3. Да, словарь Террасофт - это здорово. Предлагаю дополнить мою идею также и отдельным словарем для отдельного набора слов.

Мысль интересная, я тоже вчера задумался о некоем словаре, который к тому же можно сделать обучаемым (на основании уже ранее переведенных однокоренных слов).

Статистика про 67% более чем убедительная!
Идея принимается.

"Snu-Smumrick" написал:
Для этого использовать какие-нибудь онлайновые сервисы перевода, которые предоставляют свой API.

Ага, "наряд на покраску" -> "DressOnPokrasku".:smile:

Замечательная идея с опциональным автоматическим перевод. Ну пусть переведет когда-то не правильно, но это можно сразу увидеть и подправить, а не заполнять каждое поле отдельно.

Воспользовался на 3.3.2.х, немного поправил номер версии внутри xml-файлов. После срабатывания утилиты не пришлось редактировать измененные сервисы. Порадовал тонкий юмор в заголовках ("Пыщь") и сообщениях ("Готово!"). Действительно, утилита - шедевр! Работает отлично, детали продуманы, видна большая работа, сделано с душой. Благодарен автору и сообществу.

Автор, добавьте в архив текстовый файл с номером текущей версии.

Для надежности, текущая версия пакета сервисов указана в сервисе wnd_FieldMakerScript.xml (в самом начале)

//-----------------------------------------------------------------------------
// wnd_FieldMakerScript v1.041
//-----------------------------------------------------------------------------

Ее видно даже при открытии этого файла обычным блокнотом.

Yandex.Translate API v1 is no longer active. Please migrate to API v1.5.
http://api.yandex.ru/translate/

Хотел создать поле...
назвал его так же как поле в том же датасете из другой конфигурации. Пыщь не делал, а нажал сразу скрыть поле.
Взялся датасет из другой конфигурации (как?!?) и в нем скрылось то поле, а потом этот сервис сохранился в нужную конфигурацию.

Это как анекдот :biggrin:

Может, вы случайно залогинились не в ту базу, а в FieldMaker этого нигде не видно. Автору утилиты предлагаю сделать отображение названия базы в заголовке окна.

"Андросов Дмитрий" написал:Взялся датасет из другой конфигурации (как?!?) и в нем скрылось то поле, а потом этот сервис сохранился в нужную конфигурацию

в свойствах запуска (ярлык) стоит первая конфигурация (из которой датасет взялся) - залогинился во вторую (в которую датасет сохранился)

"Кривонос Максим" написал:Добрый....

Максим, утилита отличная! Только яндекс, АПИ поменял и перевод автоматом не вставляется :sad:

Ну и не совсем понимаю для чего столько трудов, ведь есть встроенный гораздо более функциональный Мастер создания/редактирования разделов wnd_CreateNewWorkspace, ну накосячивает он конечно иногда и после него надо смотреть чего он навставлял и подчищать за ним)!

"AlexLS" написал:накосячивает он конечно иногда и после него надо смотреть чего он навставлял и подчищать за ним)!

Вот по этой причине и была создана эта утилита =)
Можно перед "косяченьем" проверить что она будет вставлять и по ощущениям меньше косячит.

С Яндексом действительно трабла, было бы здорово если бы кто то пофиксил.

Добрый день.

Данная функциональность не была реализована в текущей версии программного продукта... Если наличие функциональности с учетом перевода от "Яндекс" для Вас критично, она может быть реализована индивидуально в рамках проектного решения.

"Кривонос Максим" написал:было бы здорово если бы кто то пофиксил

Максим, если вдруг у меня будет время поправить - сделаю!

"Олейник Дмитрий" написал:может быть реализована индивидуально в рамках проектного решения

Дмитрий, спасибо, но я таких решений сам уже порядком нареализовывал!

Друзья( При попытке выполнить скрипт wnd_FieldMakerScript произошла ошибка (во вложении)

Здравствуйте, Олеся!

Попробуйте:

1) Очистить кеш (%appdata%\Terrasoft\Ваша версия 3.4.X\Cache)
2) Повторно загрузить 4 сервиса (возможно, какой-то из сервисов не был загружен).
3) Повторить.

У меня на версии 3.4.1.101 XRM запустилось с 1-го раза.

Здравствуйте. Я только разбираюсь с Террасофтом. Не могу понять, как конкретно эти скрипты загрузить в систему. Захожу в админку и не наблюдаю там пункт "сервис". Можно по пунктам, как эти четыре файла загрузить.

Здравствуйте.
Контекстное меню "Загузить из файла"
меню "Загрузить из файла"

Сервисы как можно загрузить? 

Где можно взять скрипт wnd_FieldMakerScript , что для этого нужно?

Ваш комментарий был отправлен администраторам сайта и будет опубликован после проверки. Как долго вы его проверяете? 

 

Вот он. Нужно загрузить сервисы в систему. Перевод через Яндекс работать не будет, они поменяли API.

Показать все комментарии

Здравствуйте! Задача следующая: Карточка контрагента была дополнена полями. Теперь необходимо, чтобы в карточке задач, при создании задачи и выборе контрагента, автоматически заполнялись поля, которые заполнены у этого контрагента в его карточке контрагента. Карточка задач дополнена одноименными полями. Подскажите, пожалуйста, как это реализовать как можно подробнее.

Нравится

1 комментарий

Здравствуйте! Ваш вопрос был реализован в следующей задаче.
Карточка документов. При выборе контакта необходимо записывать значение поля «полное наименование должности» (JobTitle) в созданное поле описания (DescriptionField).
В срипт редактирования карточки для функции dlDataOnDatasetDataChange было дописана следующая обработка события выбора контакта.

case ('ContactID'):
if (!IsEmptyValue(DataField.Value)) {
var LookupDataset = DataField.LookupDataset;
var JobTitle = GetFieldValueFromDisabledField(LookupDataset, 'JobTitle');
Dataset.Values('DescriptionField')= JobTitle;
}
break;

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

Показать все комментарии