Вопрос

Новичок Создание нового раздела в документах

Необходимо реализовать ввод нового документа в Terrasoft XRM, как я понял есть 2 способа через мастер и через режим администрирования, но я не могу найти описание не к одному способу, кто может поделиться опытом создания нового раздела.

Нравится

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

Здравствуйте, Николай!
Через Администратор можно создать раздел, про этот способ написано подробно здесь: http://www.community.terrasoft.ua/developer/advice/4576

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

А вот как именно пользоваться мастером... В принципе, там все закладки/кнопки соответствуют своему назначению, т.е. понять, что к чему, можно.

Если Вы совсем новичок -- то Вам не мешает посмотреть вебинар http://www.training.terrasoft.ua/resources/webinar/749, хотя, возможно, Вы его уже смотрели..

Т.е. пробуйте делать, если что-то не будет получаться -- задавайте вопросы "по факту": что именно не получается, где, при каких действиях и т.п.

удачи Вам в разработке!

Спасибо большое буду пытаться

При создании в мастере новой переменной с типом данных справочник при выборе источника необходимо создать новый источник, а кнопки добавить, изменить не активные.

"Кашун Николай Сергеевич" написал:При создании в мастере новой переменной с типом данных справочник при выборе источника необходимо создать новый источник, а кнопки добавить, изменить не активные.

Николай, если Вам нужен НОВЫЙ справочник, т.е. поле со ссылкой на справочник, которого еще нету -- то его предварительно нужно создать (через Клиент. файл -- Справочники. нажать кнопку в реестре Добавить -- Создать новый справочник), а уже потом создавать соответствующее поле.

кстати, после создания раздела новые поля Вы можете добавлять через Пользовательские поля (Файл -- Сервис -- Пользовательские поля)

через Клиент. файл -- Справочники. нажать кнопку в реестре Добавить -- Создать новый справочник тоже нет возможности для ввода источника данных кнопки добавить и редактировать не активные,
Файл -- Сервис -- Пользовательские поля - вообще такого нет

Николай, там в контекстом меню есть кнопки "Создать новый справочник" и "Зарегистрировать существующий". Вам нужно выбрать "Создать новый - и всё получится. :)

"Кашун Николай Сергеевич" написал:Файл -- Сервис -- Пользовательские поля

извините, немного промахнулась:
Файл -- Настройка -- Пользотельские поля

Есть таблица tbl_sibdom в ней есть поле summad(сумма договора) она вводиться в ручную но надо что бы она дробилась после ввода на summ1(первый платеж50%),summ2(второй платеж50%) и запаолняла автоматом эти поля, как это реализовать и как создать скрипт до этого скрипты в terrasoft не разу не создавал

Здравствуйте.

Вам нужно открыть Террасофт Администратор, открыть сервис карточки редактирования, который заполняет таблицу tbl_sibdom, и перейти на вкладку "невизуальные". Там есть компонент с названием dlData, для него нужно определить событие OnDatasetDatachange двойным кликом. В этот момент Вас перебросит в скрипт, в функцию-обработчик события. В ней по аналогии с уже имеющимся кодом (если он был), необходимо проверить, что изменилось именно требуемое нами поле:

if(DataField.Name == 'summad')
{
 
}

а в теле условия прописать логику дробления:

if(DataField.Name == 'summad')
{
     var summad = DataField.Value;
     edtsumm1edit.DataField.Value = summad / 2;
     edtsumm2edit.DataField.Value = summad / 2;
}

где edtsumm1edit(edtsumm2edit) - названия контролов на карточке редактирования с полями summ1, summ2.

я сделал как Вы написали но не чего не работает
function dlDataOnDatasetDataChange(DataField) {
if(DataField.Name == 'summdog')
{
var summdog = DataField.Value;
edtsumm1edit.DataField.Value = summdog / 2;
edtsumm2edit.DataField.Value = summdog / 2;
}
}

Николай, здравствуйте.

Возникают ли какие либо ошибки?
Контролы Вы назвали именно edtsumm1edit и edtsumm2edit?

Николай, попробуйте вместо edtsumm1edit.DataField.Value написать edtsumm1edit.Value. у простых контролов (не ДатаКонтролов) нету свойства Датафилд, есть просто Валуе (SDK).

Контролы Вы назвали именно edtsumm1edit и edtsumm2edit?- Да
Не работает не edtsumm1edit.DataField.Value не edtsumm1edit.Value ошибок не выдает не каких

Необходимо сформировать печать договора при нажатии кнопки "печать" при вводе договора необходимые данные вывелись в word в определенное место.

Николай, для этого существует раздел "Отчеты".

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

Во вложении инструкция.

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

"Кашун Николай Сергеевич" написал:заказчик хочет что бы отчет выходил при вводе договора при нажатии кнопки печать

http://www.community.terrasoft.ua/forum/topic/8423.
"Кашун Николай Сергеевич" написал:одна проблема как можно вытащить по ссылке(интернет) рисунок в ворд.

не совсем понятна задача... у Вас есть ссылка и Вы хотите "запихнуть" ее содержимое в Ворд при формировании отчета? или Вы что-то другое имеете ввиду?

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

скрипт по добавление в ворд
function WordReplaceMark(Selection, strFrom, strTo){
Selection.Find.Execute(strFrom, false, false, false, false, false, true, 0,
false, strTo, 2);
}

function ButtonOnClick(Control) {
var WordRecord = new Object(); //создаём объект Word
var FileName = 'd:\\oktell\\reptest.doc';
var WordObject = GetWordObject();
WordObject.Documents.Add(FileName);
var Selection = WordObject.Selection;
Selection.WholeStory();
// Проставляем город, в котором формируется документ
var City = 'г. Харьков';
WordReplaceMark(Selection, '<>', City);
// из таблицы
WordReplaceMark(Selection,'<>',FisFIO);
WordObject.Documents.Item(1).SaveAs(WordRecord.FileName);
WordObject.Documents.Item(1).Close(true);
WordObject.Quit(true);
}
выдает ошибку "Исключение: Предполагается наличие объекта

Подскажите по ошибке при нажатии "ОК" после ввода данных выходит ошибка

Здравствуйте.

Что это за карточка? Что Вы в ней меняли?

Попробуйте перерегистрирвоать библиотеки и очистить кеш, по адресу:

%appdata%/Terrasoft/3.4.0/Cache

Карточка договора по заданию заказчика менял добавил кнопку с скриптом
function ButtonOnClick1(Control) {
var Dataset = dlData.Dataset;
if (Dataset.State==dstInsert){ //dstInsert -- датасет в режиме "вставки", то есть запись новая
Dataset.Post(); //сохраняем данные. но тут могуть быть нюансы (больше прописано на кнопке "ок"
Dataset.Edit(); //снова переводим датасет в режим редактирования

Кеш очистил, а библиотеку не могу перерегистрировать

Николай, так по нажатию на добавленную кнопку происходит ошибка?
Странный у Вас код, какова его логическая нагрузка? Кнопка "сохранить" без закрытия карточки?

PS: бекап базы данных не можете предоставить для анализа причин ошибки?
PSS: А библиотеки можно перерегистрировать, если переименовать папку с Террасофтом, и запустить клиентское приложение.

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

все сделал но ошибка осталась

куда Вам скинуть бэкап?

Николай, прошу написать на support@terrasoft.ru. В письме, пожалуйста, продублируйте ошибку (можно со скриншотами) которая возникает, а также добавьте ссылку на бекап БД. Саму БД можете залить куда Вам удобнее - на ftp, на файлообменник (вроде Яндекс.Диск).

Вывод в ворд. переменная city выводиться, а вот из таблицы переменная fisfio не определяеться может надо как то по другому написать?
function edtadrsovOnClick(Control) {
//TODO

var FisAddressReg = Control.IsChecked;
edtFisAddressLive.DataField.Value =FisAddressReg;
}
// Функция выполняет замену текста strFrom на текст strTo
function WordReplaceMark(Selection, strFrom, strTo){
Selection.Find.Execute(strFrom, false, false, false, false, false, true, 0,
false, strTo, 2);
}

function ButtonOnClick1(Control) {
var FileName = 'd:\\oktell\\reptest.doc';
var Word = new ActiveXObject('Word.Application');
Word.Documents.Open(FileName);
var Selection = new Object();
Selection = Word.Selection;

// Проставляем город, в котором формируется документ
var City = 'г. Харьков';

WordReplaceMark(Selection,'<>',City);

WordReplaceMark(Selection,'<>',fisfio);

Word.Visible = true;
}

Николай, здравствуйте.

Очевидно, где-то допустили ошибку в коде. А почему Вы не пользуетесь стандартным функционала отчетов Word, который у Вас уже есть в коробке, настроен, протестирован и отлажен?
Инструкцию по его использованию я прикреплял выше.

ошибку в ворде дает (ворд 2010) и я не понял как его запустить с кнопки

Николай, версия террасофт у Вас какая? А битность пакета MS Office - x64 или x32?
Дело в том, что Террасофт ниже версии 3.4.1 поддерживает интеграцию только с 32-битным пакетом офиса от Майкрософт.

Рекомендую Вам написать на support@terrasoft.ru с просьбой удаленного подключения к Вашему рабочему месту для базового обучения работы с функционалом формирования отчетов Word.

с Этим вопросом я разобрался все получилось, вот еще одну задачу поставили нужно есть адрес картинки надо её открыть в ворде?

Николай, добрый день.

Не совсем понял задачу с Вашего сообщения, но возможно поможет это?

http://www.community.terrasoft.ru/forum/topic/7981

поясняю, есть ссылка в инете например http://sibir-dom.ru/imagesdoma/D1-1.jpg этот рисунок надо вставить определенное место в word

Николай, к сожалению вставлять в отчет можно только лишь данные из системы (читай БД). В Вашем случае, возможно подойдет вставка этой картинки в определенное место в самом шаблоне отчета, если эта картинка постоянна?
Если нет - тогда необходимые картинки добавляйте на деталь "Файлы" для каждой записи, а в отчет выводите по этому способу:
http://www.community.terrasoft.ru/blogs/2952

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