CbCoder (03 Сентябрь 2014 - 11:37) писал:
- Форум CRM программы Клиентская база
- → Публикации nevmerzhitsky
Публикации nevmerzhitsky
24 публикаций создано nevmerzhitsky (учитываются публикации только с 18-Май 23)
#25969 Шаблон печати для таблицы
Отправлено от nevmerzhitsky в 03 Сентябрь 2014 - 12:07 in Как это сделать
#25921 Шаблон печати для таблицы
Отправлено от nevmerzhitsky в 27 Август 2014 - 13:50 in Как это сделать
Есть таблицы Кредитные договоры и Клиенты, у клиента может быть множество договоров. Есть шаблон для печати в Кредитных договорах, в котором нужно вывести в виде таблицы все договоры клиента, но редактор шаблона не предоставляет такой возможности.
Пытался сделать выборку нужных данных из таблиц через {php} в смарти прямо в теле шаблона (по примеру из http://www.smarty.ne...unction.php.tpl), но на это получил эксепшен "{php} is deprecated, set allow_php_tag = true to enable". Включить эту опцию для шаблона ваша система не позволяет. $php_handling у вас также не SMARTY_PHP_ALLOW. Зачем заблокирована вставка PHP-кода в шаблон, я понять не могу, если вы не даете возможность подготовить PHP-переменные перед выводом шаблона ... Но как в таком положении дел мне решить поставленную задачу?
#25973 Шаблон печати для таблицы
Отправлено от nevmerzhitsky в 03 Сентябрь 2014 - 13:17 in Как это сделать
<table border="0" style="border-collapse: collapse;"> <tbody> <tr> <td colspan="1"> {$contracts=data_table('Кредитные договоры', "`f6831`={$Клиент.ID} AND `status`=0", 'all')}{$i=1}</td> <td colspan="1"> {foreach from=$contracts name="Позиции акта" item=subtable}</td> </tr> <tr> <td style="border-style: solid; border-color: rgb(186, 186, 186);"> {$i++}. {$subtable['Номер кредитного договора']}</td> </tr> <tr> <td colspan="1"> {/foreach}</td> </tr> </tbody> </table>
#25922 Шаблон печати для таблицы
Отправлено от nevmerzhitsky в 27 Август 2014 - 14:14 in Как это сделать
{foreach from={data_table('Кредитные договоры', "`status`=0", 'all')} item=item key=key}</p> [key={$key}] [item={$item}] [id1={$item.id}] [id2={$item.ID}] [Номер кредитного договора={$item['Номер кредитного договора']}] {/foreach}
Но отображается в итоге странный текст "[key=0] [item=Array] [id1=A] [id2=A] [Номер кредитного договора=A]" (лишь одна итерация). Хотя результат выполнения данной функции на чистом PHP содержит 988 элементов:
array(988) { [0]=> array(47) { ["ID"]=> string(1) "6" ["Кто добавил"]=> string(3) "101" ["Время добавления"]=> string(19) "2014-05-08 22:59:00" ["Статус записи"]=> string(1) "0" ["Номер кредитного договора"]=> string(16) "213123-АВ-2313" } ... }
#25975 Форматирование даты Smarty (русская локализация)
Отправлено от nevmerzhitsky в 03 Сентябрь 2014 - 13:48 in Предложения по доработке
CbCoder (26 Август 2013 - 09:57) писал:
Подробнее здесь, к примеру.
#25858 Условное отображение кнопки Распечатать
Отправлено от nevmerzhitsky в 17 Август 2014 - 21:48 in Как это сделать
У меня бизнес-процесс предполагает, что на по данным одной таблицы может оказываться несколько разных юридических услуг. И то, какая именно услуга доступна пользователю КБ, зависит от некоторых условий. Доступ к записи таблицы у него уже есть, а вот к услуге может не быть - тогда нужно прятать шаблон для печати. Это возможно в КБ? Или придется разделять таблицу на несколько по числу услуг? При этом у этих таблиц будет одинаковая структура и семантика - это отвратительное решение. Может у кого есть другие идеи решения?
#25872 Условное отображение кнопки Распечатать
Отправлено от nevmerzhitsky в 20 Август 2014 - 03:01 in Как это сделать
#26702 Создание пользователя с помощью вычисления.
Отправлено от nevmerzhitsky в 10 Декабрь 2014 - 17:57 in Как это сделать
#26223 Событие пост-удаления
Отправлено от nevmerzhitsky в 24 Сентябрь 2014 - 14:48 in Как это сделать
CbCoder (24 Сентябрь 2014 - 08:40) писал:
if ($line['Статус записи'] = 2) { // ваш код при удалении в корзину }
Спасибо, такое решение подходит.
#26213 Событие пост-удаления
Отправлено от nevmerzhitsky в 24 Сентябрь 2014 - 04:18 in Как это сделать
#25434 Ручная фильтрация поля типа Связь
Отправлено от nevmerzhitsky в 27 Июль 2014 - 12:51 in Как это сделать
- Режимы оплаты счета
- Прайс-лист
- Счета
- Позиции счета (подтаблица Счета)
Услуга
Подготовка искового заявления
При выписке
шт.
5 000,00
Услуга
Подготовка искового заявления
В рассрочку
шт.
6 000,00
Счет содержит поле [Режим оплаты] для того, чтобы отфильтровать записи Прайс-листа по нему и убрать возможность добавлять в [Позиции счета] позиции Прайс-листа с другим режимом оплаты. Подтаблица [Позиции счета] содержит поле [Позиция прайс-листа], ссылающаяся на [Прайс-лист].ID.
Необходимо ограничить допустимые значения поля [Позиции счета].[Позиция прайс-листа] в зависимости от значения поля Счета.[Режим оплаты]. Возможно ли это сделать в вычислениях поля [Позиции счета].[Позиция прайс-листа]?
#25891 Режим эксперта для правил
Отправлено от nevmerzhitsky в 21 Август 2014 - 01:39 in Предложения по доработке
А хочется иметь возможность перейти в режим мастера и править PHP-код условий! Тогда появится возможность подключать сторонние файлы и делать проверку доступа сколь угодно глубокой. Этого очень не хватает в моей конфигурации! Могу привести пример задачи ограничения доступа, решение которой в текущей системе порождает множество кропотливой унылой работы, которая ещё и сыпется при малейшем изменении бизнес-требований и многое приходится переделывать.
Скрин дампа:
#25947 Произвольный SQL-запрос из Smarty-шаблона
Отправлено от nevmerzhitsky в 03 Сентябрь 2014 - 01:14 in Как это сделать
Есть таблицы Кредитные договоры и Клиенты, у клиента может быть множество договоров. Есть шаблон для печати в Кредитных договорах, в котором нужно вывести в виде таблицы все договоры клиента, но редактор шаблона не предоставляет такой возможности.
Пытался сделать выборку нужных данных из таблиц через {php} в смарти прямо в теле шаблона (по примеру из http://www.smarty.ne...unction.php.tpl), но на это получил эксепшен "{php} is deprecated, set allow_php_tag = true to enable". Включить эту опцию для шаблона ваша система не позволяет. $php_handling у вас также не SMARTY_PHP_ALLOW. Зачем заблокирована вставка PHP-кода в шаблон, я понять не могу, если вы не даете возможность подготовить PHP-переменные перед выводом шаблона ... Попытка вызвать php-функцию из шаблона также провалилась. Пробую сделать выборку прямо в foreach:
{foreach from={data_table('Кредитные договоры', "`status`=0", 'all')} item=item key=key}</p>
[key={$key}]
[item={$item}]
[id1={$item.id}]
[id2={$item.ID}]
[Номер кредитного договора={$item['Номер кредитного договора']}]
{/foreach}
Но отображается в итоге странный текст "[key=0] [item=Array] [id1=A] [id2=A] [Номер кредитного договора=A]" (лишь одна итерация). Хотя результат выполнения данной функции на чистом PHP содержит 988 элементов:
array(988) {
[0]=>
array(47) {
["ID"]=>
string(1) "6"
["Кто добавил"]=>
string(3) "101"
["Время добавления"]=>
string(19) "2014-05-08 22:59:00"
["Статус записи"]=>
string(1) "0"
["Номер кредитного договора"]=>
string(16) "213123-АВ-2313"
}
...
}
И как в таком положении дел мне решить поставленную задачу?
#25959 Произвольный SQL-запрос из Smarty-шаблона
Отправлено от nevmerzhitsky в 03 Сентябрь 2014 - 11:30 in Как это сделать
#25974 Произвольный SQL-запрос из Smarty-шаблона
Отправлено от nevmerzhitsky в 03 Сентябрь 2014 - 13:19 in Как это сделать
#26375 Показ/скрытие полей через JavaScript
Отправлено от nevmerzhitsky в 23 Октябрь 2014 - 03:49 in Как это сделать
wondertalik (26 Август 2014 - 12:17) писал:
Корявый код проверки обязательности в частности проверяет значение следующего скрытого поля формы:
<input type="hidden" id="main12091" value="1">
на value == 1 (значение id разумеется содержит идентификатор поля). То есть, по умолчанию для всех обязательных полей этот тег присутствует в теле страницы со значением 1, для необязательных этого тега нет вообще. Следовательно, если хотите убрать обязательность, то измените value этого тега на 0, а если сделать обязательным - добавьте этот тег с value=1 куда-нибудь в DOM.
Разработчики КБ, в теле страницы для каждого обязательного поля присутствует тег вида <input type='hidden' id="type_value12091" value='5'>, но в JS используется значение из all_fields[...]['type_field'], значит этот тег - мусор. А также в массиве all_fields элемент type_value всегда имеет значение '$one_field.type_value_js', что явно баг подстановки из PHP (да и зачем этот элемент нужен, если вы работаете с type_field).
#26237 Отмена добавления записи на уровне PHP
Отправлено от nevmerzhitsky в 26 Сентябрь 2014 - 03:18 in Как это сделать
Например, в таблице есть поля Начальник и Подчиненный и перед сохранением новой записи необходимо проверить, нет ли в существующих записях в цепочке начальников указанного в новой записи подчиненного. В общем, сделать проверку целостности подчинения Начальник-Подчиненный, чтобы не было петли. На JavaScript такой проверки не сделаешь, поэтому как можно отменить сохранение новой записи на уровне PHP?
#26965 Отличная программа, но техподдержка отстой!
Отправлено от nevmerzhitsky в 01 Февраль 2015 - 22:33 in Отзывы
У меня техподдержка оплачена до 15-го февраля, но воспользоваться я ей не могу из-за вашей кривой формы создания тикета. Вы считаете, что нормально брать деньги за услугу, которую вы не оказываете?
#27024 Ограничение доступа на редактирование шаблонов печати
Отправлено от nevmerzhitsky в 06 Февраль 2015 - 17:54 in Как это сделать
#26462 Доп. действие во всплывающем окне с загрузкой файлов
Отправлено от nevmerzhitsky в 11 Ноябрь 2014 - 21:51 in Как это сделать
$errors = array(); if (empty($_FILES['myfiles']['name']['cc_scan'][0])) { $errors[] = 'Добавьте файлы со сканами нового кредитного договора!'; } else { foreach ($_FILES['myfiles']['error']['cc_scan'] as $i => $fileError) { if ($fileError != 0) { $errors[] = sprintf('Техническая ошибка при загрузке файла №%d: %d. Обратитесь к администратору.', $i + 1, $fileError); } } } if (! empty($errors)) { throw new Exception($errors); } $fileNames = array(); foreach ($_FILES['myfiles']['name']['cc_scan'] as $i => $fileName) { $fileName = trim($fileName); $fileNames[] = $fileName; $data = file_get_contents($_FILES['myfiles']['tmp_name']['cc_scan'][$i]); save_data_file(12961, $line['ID'], $fileName, $data); } $data = array( 'Скан нового КД' => trim($line['Скан нового КД'] ."\r\n". implode("\r\n", $fileNames)), ); update_query($data, 'Кредитные договоры', "`ID`={$line['ID']}");
12961 это идентификатор поля "Скан нового КД".
HTML-код с формой загрузки файла:
<form method="post" enctype="multipart/form-data"> <input type="hidden" name="id" value="<?php echo $_REQUEST['id']; ?>"> <input type="hidden" name="line_id" value="<?php echo $line['ID']; ?>"> <input type="hidden" name="csrf" value="<?php echo $GLOBALS['csrf']; ?>"> <p><label> <span>Скан нового КД:</span> <input type="file" name="myfiles[cc_scan][]" size="20" multiple="multiple"> </label></p> <p><input type="submit" value="Сохранить"></p> </form>
#27229 Версия 2.0.4
Отправлено от nevmerzhitsky в 24 Февраль 2015 - 14:53 in Новые версии, новые возможности
#27270 Версия 2.0.4
Отправлено от nevmerzhitsky в 26 Февраль 2015 - 02:11 in Новые версии, новые возможности
CbCoder (24 Февраль 2015 - 14:57) писал:
от: Альбина <albina@basemaster.com>
дата: 12 февраля 2015 г., 10:30
Ответ по заявке № 9 509
Здравствуйте ! В версии 2.0.4 изменился принцип доступа к полям связи. Теперь если не стоят права на Экспорт у связанного поля, то оно будет недоступно для чтения в выпадающем списке.(скрин1)
То есть например для того чтобы список записей был доступным в поле «Город» таблицы «Отделения кредитных организаций» нужно у самого связанного поля на которое оно ведет проставить доступ на экспорт. У вас это поле «Наименование» таблицы «Населенные пункты»(скрин2)
Нужно перейти в настройки доступа таблицы «Населенные пункты» и проставить доступ на «Экспорт»(скрин3)
Тогда в выпадающем списке записи будут отображаться(скрин4).
Аналогичным образом нужно будет проделать для всех связанных полей у которых сейчас наблюдается проблема с отображением.
#27181 Версия 2.0.3
Отправлено от nevmerzhitsky в 20 Февраль 2015 - 22:21 in Новые версии, новые возможности
В последней версии (SAAS/2.0.4/15142/Premium) видимость вариантов значения выпадающего списка поля типа Связь стала зависеть от наличия доступа на Экспорт поля в целевой таблице. Почему-то разработчики КБ даже не удосужились в процедуре обновления данных автоматически прописать всем полям всех таблиц данный доступ, чтобы система работала как прежде. После двух часов обезьяньей работы я это сделал за них, и что в итоге? А в итоге в системе теперь следующий баг.
Алгоритм Экспорта (выделяем строки галочкой, кликаем кнопку Экспорт) учитывает только глобальный доступ к полю. В моей конфигурации у сотрудников нет такого доступа, всё сделано через правила, чтобы пользователи видели только записи, которые они создали сами. И в этих правилах галочка Экспорт стоит для каждого поля. Но эта галочка игнорируется алгоритмом экспорта. Чтобы данные выгрузились в файл экспорта, галочка должна стоять не в правиле, а в таблице непосредственно.
Однако! В первом абзаце объясняется, что доступ на Экспорт теперь управляет содержимым выпадающего списка. Поэтому, если я даю сотруднику доступ на Экспорт поля в таблице непосредственно, то он в выпадающем списке увидит ВСЕ записи целевой таблицы, а не только те, в которым он реально имеет доступ. Из-за этого мне приходится лишать своих клиентов функционала экспорта, потому что неприемлемо, чтобы они видели чужие данные. Когда будет исправлен данный баг?
P.S. Заявку в техподдержку я отправил.
P.P.S. Почему нет топика и не было никакого уведомления с описанием обновления 2.0.4?!!
#27042 Bugs.clientbase.ru
Отправлено от nevmerzhitsky в 11 Февраль 2015 - 19:27 in Разработчикам
- Форум CRM программы Клиентская база
- → Публикации nevmerzhitsky