1
Создание подписи в документе из таблицы "Наши сотрудники"
Автор marketolog, 04 июля 2014 08:28
сотрудники подпись
Сообщений в теме: 9
#1
Отправлено 04 Июль 2014 - 08:28
Здравствуйте КБшники.
Столкнулся с такой проблемой: Необходимо автоматизировать отправку информационных писем, сформировал html документ экспортируемый в pdf, pdf прикладывается к письму. В письме и документе должна быть подпись отправителя формата:
ФИО, Должность, Почта, Сотовый телефон.
Эти данные должны браться из таблицы "Наши сотрудники". Важный момент, данные для подписи должны браться того сотрудника который нажал кнопку "Отправить" (из авторизации пользователя).
Пробовал создавать в таблице контрагенты поле связь, но данные не заполняются. Пришел к выводу, что необходимо делать так:
1) Внести в таблицу контрагент системное поле "Подпись"
2) Создать вычисление: this = логин авторизированного пользователя (нажавшего кнопку).
i = 1
fio = 0
tel = 0
dol = 0
mail = 0
Цикл
Сравнить this с логином сотрудника i из подтаблицы "Наши сотрудники"
если нет i = i + 1
повторить цикл
если да
fio = fio["наши сотрудники", сотрудник i]
tel = телефон["наши сотрудники", сотрудник i]
dol = должность["наши сотрудники", сотрудник i]
mail = почта["наши сотрудники", сотрудник i]
Подпись = fio , dol , "88002007781" , tel , mail , "www.norinse.ru"
3) Вставить в шаблоне ссылку из поля подпись
4) При обращении к шаблону вызывать вычисление, а потом выполнять формирование документа.
Возможно ли таким образом реализовать поставленную задачу, либо есть более простой способ?
P.S. К сожалению, я слабо знаю java, если кто то может помочь написать выше предложенный код, буду безмерно благодарен.
Столкнулся с такой проблемой: Необходимо автоматизировать отправку информационных писем, сформировал html документ экспортируемый в pdf, pdf прикладывается к письму. В письме и документе должна быть подпись отправителя формата:
ФИО, Должность, Почта, Сотовый телефон.
Эти данные должны браться из таблицы "Наши сотрудники". Важный момент, данные для подписи должны браться того сотрудника который нажал кнопку "Отправить" (из авторизации пользователя).
Пробовал создавать в таблице контрагенты поле связь, но данные не заполняются. Пришел к выводу, что необходимо делать так:
1) Внести в таблицу контрагент системное поле "Подпись"
2) Создать вычисление: this = логин авторизированного пользователя (нажавшего кнопку).
i = 1
fio = 0
tel = 0
dol = 0
mail = 0
Цикл
Сравнить this с логином сотрудника i из подтаблицы "Наши сотрудники"
если нет i = i + 1
повторить цикл
если да
fio = fio["наши сотрудники", сотрудник i]
tel = телефон["наши сотрудники", сотрудник i]
dol = должность["наши сотрудники", сотрудник i]
mail = почта["наши сотрудники", сотрудник i]
Подпись = fio , dol , "88002007781" , tel , mail , "www.norinse.ru"
3) Вставить в шаблоне ссылку из поля подпись
4) При обращении к шаблону вызывать вычисление, а потом выполнять формирование документа.
Возможно ли таким образом реализовать поставленную задачу, либо есть более простой способ?
P.S. К сожалению, я слабо знаю java, если кто то может помочь написать выше предложенный код, буду безмерно благодарен.
#2
Отправлено 04 Июль 2014 - 10:21
Во-первых, вычисления в КБ пишутся не на "java", а на PHP. Во-вторых, у нас есть документация по вычислениям.
Что касается кода, его (мы, по крайней мере) в готовом виде здесь обычно не публикуем, за исключением простейших примеров, т.к. это платная услуга, но можем подсказать по алгоритму. В данном случае ничего сложного нет: берете id текущего пользователя из системной переменной $user['id'] и обращаетесь запросом к таблице Сотрудники с условием "поле пользователь равно id текущего пользователя". Остальное смотрите в документации и в примерах на форуме. То же, что вы написали выше в качестве алгоритма, к реальности имеет очень далекое отношение. Например, никаких циклов там и близко не требуется.
Что касается кода, его (мы, по крайней мере) в готовом виде здесь обычно не публикуем, за исключением простейших примеров, т.к. это платная услуга, но можем подсказать по алгоритму. В данном случае ничего сложного нет: берете id текущего пользователя из системной переменной $user['id'] и обращаетесь запросом к таблице Сотрудники с условием "поле пользователь равно id текущего пользователя". Остальное смотрите в документации и в примерах на форуме. То же, что вы написали выше в качестве алгоритма, к реальности имеет очень далекое отношение. Например, никаких циклов там и близко не требуется.
#3
Отправлено 14 Июль 2014 - 11:36
Итак, изучил документацию КБ. Что то смута полная получилась, прошу помощи в решении задачи.
Как я понял:
Создаю в таблице "Компании" "Контрагенты" поле "Подпись" с типом "Связь", тип связи "Наши сотрудники" "ФИО".
Выводить также поле "Должность", "Телефон рабочий", "Контактный E-mail".
В результате вместо подписи появляется цифра "5".
На тему вычисления, прошу предложить хоть какой-то образец. Через массив делать подпись или как.
Наличие подставной подписи в документах обязательная часть любой ЦРМ претендующей на автоматизацию, почему это вообще реализуется через дополнительные расчеты?
Как я понял:
Создаю в таблице "Компании" "Контрагенты" поле "Подпись" с типом "Связь", тип связи "Наши сотрудники" "ФИО".
Выводить также поле "Должность", "Телефон рабочий", "Контактный E-mail".
В результате вместо подписи появляется цифра "5".
На тему вычисления, прошу предложить хоть какой-то образец. Через массив делать подпись или как.
Наличие подставной подписи в документах обязательная часть любой ЦРМ претендующей на автоматизацию, почему это вообще реализуется через дополнительные расчеты?
#4
Отправлено 14 Июль 2014 - 12:01
Цитата
В результате вместо подписи появляется цифра "5"
Где именно появляется? В таблице или шаблоне? Приведите код вашего вычисления, я проверю его на корректность.
Цитата
Наличие подставной подписи в документах обязательная часть любой ЦРМ претендующей на автоматизацию, почему это вообще реализуется через дополнительные расчеты?
Потому, что "Клиентская база" в своей основе - это не совсем CRM, скорее универсальная платформа для создания бизнес-приложений на таблицах. Вся CRM-функциональность реализуется непосредственно в конфигурации, в том числе путем вычислений. Как следствие, минусом является то что для большей части автоматизации требуется программирование.
#5
Отправлено 14 Июль 2014 - 12:45
На данном этапе еще не использовал вычисление.
Просто вставил в шаблон pdf взять информацию с поля "Подпись", а в таблице выбрал одного из пользователей.
Как я понимаю вычислением необходимо только заполнение этого поля настроить, а я его руками заполнил.
Можете ли направить, где я могу найти хотя бы подобное по функционалу вычисление. Ибо " берете id текущего пользователя из системной переменной $user['id'] и обращаетесь запросом к таблице Сотрудники с условием "поле пользователь равно id текущего пользователя". " уже вызывает сложности.
Просто вставил в шаблон pdf взять информацию с поля "Подпись", а в таблице выбрал одного из пользователей.
Как я понимаю вычислением необходимо только заполнение этого поля настроить, а я его руками заполнил.
Можете ли направить, где я могу найти хотя бы подобное по функционалу вычисление. Ибо " берете id текущего пользователя из системной переменной $user['id'] и обращаетесь запросом к таблице Сотрудники с условием "поле пользователь равно id текущего пользователя". " уже вызывает сложности.
#6
Отправлено 14 Июль 2014 - 13:02
Цитата
На данном этапе еще не использовал вычисление.
Просто вставил в шаблон pdf взять информацию с поля "Подпись", а в таблице выбрал одного из пользователей.
Просто вставил в шаблон pdf взять информацию с поля "Подпись", а в таблице выбрал одного из пользователей.
Т.е. в таблице все нормально отображается (ФИО выбранного сотрудника с доп. полями), а в шаблоне просто цифра 5? Тогда проблема скорее всего не в правильности ваших действий, возможно всплыл какой-то баг, т.к. такого быть явно не должно. Отправьте заявку в техподдержку с описанием проблемы, ее проверят и дадут на исправление специалистам, если она действительно имеет место.
Что касается вычисления, то как я уже сказал, там ничего особо сложного нет:
$sotr = data_table("Наши сотрудники", "`Пользователь`=".$user['id']); // обращаемся запросом к таблице сотрудников с условием "пользователь=текущий" и получаем доступ к записи текущего сотрудника $line['Подпись'] = $sotr['ID']; // т.к. Подпись - это поле связи, заносим в него ID записи полученного сотрудника
#7
Отправлено 14 Июль 2014 - 13:05
Цитата
Ибо " берете id текущего пользователя из системной переменной $user['id'] и обращаетесь запросом к таблице Сотрудники с условием "поле пользователь равно id текущего пользователя". " уже вызывает сложности.
Понимаю, но потому собственно и рекомендуется на данный момент самостоятельно писать вычисления только людям с практикой и знанием программирования, желательно профессиональной.
#8
Отправлено 14 Июль 2014 - 14:21
CbCoder (14 Июль 2014 - 13:05) писал:
Понимаю, но потому собственно и рекомендуется на данный момент самостоятельно писать вычисления только людям с практикой и знанием программирования, желательно профессиональной.
Есть навыки в программировании и HTML и паскалей, логика и алгоритмы представляется. Тут немного переплетается оригинальный php и персональные переменные КБ.
#9
Отправлено 15 Июль 2014 - 06:59
При работе кода выдает ошибку:
Настроил на "Отображение поля";
Настроил на "Отображение поля";
Цитата
Ошибка системы.
Error generated:
/home/norinse/public_html/include/functions1.php(449) : data_update()
/home/norinse/public_html/include/functions1.php(512) : form_event_recurs()
/home/norinse/public_html/fields.php(1700) : calc_line()
Ошибка SQL запроса:
UPDATE f_data42 SET Подпись='2' WHERE id=81
Unknown column 'Подпись' in 'field list'
Error generated:
/home/norinse/public_html/include/functions1.php(449) : data_update()
/home/norinse/public_html/include/functions1.php(512) : form_event_recurs()
/home/norinse/public_html/fields.php(1700) : calc_line()
Ошибка SQL запроса:
UPDATE f_data42 SET Подпись='2' WHERE id=81
Unknown column 'Подпись' in 'field list'
Сообщение отредактировал marketolog: 15 Июль 2014 - 07:01
#10
Отправлено 15 Июль 2014 - 08:11
Может поле "Подпись" у вас по другому как-то зовется? Суть ошибки в том что программа не находит поле с таким именем в таблице Контрагенты.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных