- Форум CRM программы Клиентская база
- → Публикации novomaster
Публикации novomaster
25 публикаций создано novomaster (учитываются публикации только с 03-Май 23)
#30648 Как автоматически отображать в отдельном поле таблицы текущую дату?
Отправлено от novomaster в 22 Февраль 2016 - 10:01 in Как это сделать
Ну то есть:
- вместо "Прошло 119 дней" должно отображаться "Прошло 3 месяца, 3 недели и 6 дней"?
Или хотя бы в недели + дни
#30647 Как автоматически отображать в отдельном поле таблицы текущую дату?
Отправлено от novomaster в 22 Февраль 2016 - 09:57 in Как это сделать
#30645 Как автоматически отображать в отдельном поле таблицы текущую дату?
Отправлено от novomaster в 22 Февраль 2016 - 00:02 in Как это сделать
У меня в поле "Прошло дней" считается не сколько дней прошло, а сколько ЛЕТ ))))
Блин, как же это изменить на дни???
#30644 Как автоматически отображать в отдельном поле таблицы текущую дату?
Отправлено от novomaster в 21 Февраль 2016 - 23:58 in Как это сделать
Однако, само вычисление работает неправильно.
Вот код:
$line['Прошло дней'] = $line['Текущая дата'] - $line['Дата начала производства'];
А вот, что высчиталось:
C:\Users\Андрей\YandexDisk\Скриншоты\Прошло%20дней.png
#30653 Как автоматически отображать в отдельном поле таблицы текущую дату?
Отправлено от novomaster в 22 Февраль 2016 - 14:10 in Как это сделать
CbCoder (22 Февраль 2016 - 13:54) писал:
"Прошло 8,14 недель"
"Прошло 0,57 недель"
и так далее.
То есть отображаются либо дни, либо недели.
Для отображения дней вот такой у меня код:
$line['Прошло дней'] = (strtotime($line['Текущая дата']) - strtotime($line['Дата начала производства'])) / 86400;А для отображения недель вот такой:
$line['Прошло недель'] = (strtotime($line['Текущая дата']) - strtotime($line['Дата начала производства'])) / 604800;В итоге у меня сейчас 2 колонки, в одной из которых указываются недели, а во второй - дни (скрин прикладываю).
Мне нужна одна колонка, в которой будет указываться "Прошло ... месяцев, ... недель и ... дней"
или хотя бы "Прошло ... недель и ... дней"
#30664 Как автоматически отображать в отдельном поле таблицы текущую дату?
Отправлено от novomaster в 22 Февраль 2016 - 15:29 in Как это сделать
CbCoder (22 Февраль 2016 - 15:01) писал:
Видимо, я дурак.
Ну вот установил я округление, например, получилось вместо "Прошло 8,14 недель" показывать будет "8 недель".
Результат-то не тот, который нужен. Нужно, чтобы показывало "Прошло 8 недель и 1 день". Округление этого не даёт.
Я понимаю, что для Вас это звучит смешно и глупо, а для меня - дилемма. Чтобы её мне решить, я так понимаю, надо засесть за изучение языка программирования. Но это, так сказать, единичный случай, когда мне понадобилось прописать код, и ради этого сидеть и штудировать книги, думаю, нецелесообразно. Поэтому и обращаюсь за помощью к специалистам на форуме.
#30674 Как автоматически отображать в отдельном поле таблицы текущую дату?
Отправлено от novomaster в 22 Февраль 2016 - 19:06 in Как это сделать
CbCoder (22 Февраль 2016 - 17:29) писал:
Ура! Супер! Всё получилось!
Дай Бог Вам здоровья! )))
#30670 Как автоматически отображать в отдельном поле таблицы текущую дату?
Отправлено от novomaster в 22 Февраль 2016 - 17:24 in Как это сделать
#30669 Как автоматически отображать в отдельном поле таблицы текущую дату?
Отправлено от novomaster в 22 Февраль 2016 - 17:10 in Как это сделать
CbCoder (22 Февраль 2016 - 16:36) писал:
$all_days = (strtotime($line['Текущая дата']) - strtotime($line['Дата начала производства'])) / 86400; $weeks = round($all_days/7); // число недель $days = $all_days % 7; // число дней как остаток $line['Всего прошло'] = "Прошло $weeks недель и $days дней";
Мне не трудно один раз написать простой код, просто не хотелось чтобы это превращалось в систему.
Спасибо огромное, Вы мне очень помогли!
Для Вас это просто, а для меня - тёмный лес. Не может же человек во всём разбираться. Ещё раз спасибо, надеюсь, таких как я незнаек очень мало ))
#30667 Как автоматически отображать в отдельном поле таблицы текущую дату?
Отправлено от novomaster в 22 Февраль 2016 - 16:26 in Как это сделать
CbCoder (22 Февраль 2016 - 15:45) писал:
Алгоритм я вам уже подсказал - 1) делите, округляете, получаете число недель, 2) берете остаток от деления - получаете число оставшихся дней, 3) соединяете все в одну строку
Подсказки: http://php.net/manua....arithmetic.php , http://php.net/manua...tors.string.php
Спасибо, значит придётся изучать.
Просто, прежде чем спрашивать здесь, я попытался что-то сделать сам, нашёл похожие формулы, переписал их под себя, то есть постарался сделать всё своими силами. Но конечный результат оказался не совсем тем, что я хотел, а решения самостоятельно уже не нашел. поэтому и выложил здесь свои получившиеся коды, чтобы знающие люди сразу увидели, где я ошибся и подсказали, что поменять/добавить в кодах. Я же не прошу с нуля писать за меня код, а попросил помочь его доработать.
Вы пишете, что можете подсказать по сложному алгоритму. но "сложность" - она у каждого своя. то, что сложно для меня - для Вас "орешки", а что сложно для Вас - для меня вообще космос
Спасибо, что попытались помочь, оставлю как есть - пусть в отдельной колонке указывается количество недель с дробями, а в другой - общее количество дней. Остальное - буду высчитывать в уме или на калькуляторе ))
#30641 Как автоматически отображать в отдельном поле таблицы текущую дату?
Отправлено от novomaster в 21 Февраль 2016 - 21:31 in Как это сделать
#30642 Как автоматически отображать в отдельном поле таблицы текущую дату?
Отправлено от novomaster в 21 Февраль 2016 - 23:46 in Как это сделать
$line['Текущая дата'] = date("Y-m-d 00:00:00");
А вот вычисление, сколько прошло дней не получается:
$line['Прошло дней'] = $line['Текущая дата'] - $line['Дата начала производства']
Выдаёт ошибку:
Ошибка в вычислении.
Производство.Текущая дата
Производство.Прошло дней :
1: $line['f5531'] = $line['f5521'] - $line['f5461']
syntax error, unexpected end of file
#30640 Как автоматически отображать в отдельном поле таблицы текущую дату?
Отправлено от novomaster в 21 Февраль 2016 - 21:30 in Как это сделать
$line['Текущая дата'] = {текущая дата}
Не работает, пишет ошибку:
Ошибка в вычислении.
Производство.Текущая дата :
1: $line['f5521'] = {текущая дата}
syntax error, unexpected '{'
#30639 Как автоматически отображать в отдельном поле таблицы текущую дату?
Отправлено от novomaster в 21 Февраль 2016 - 21:21 in Как это сделать
Там есть поля "Дата начала производства" и "Предполагаемая дата окончания производства".
Добавляю поле "Прошло дней...", хочу, чтобы там отображалось, сколько прошло дней с даты начала производства.
Для этого, я так думаю, мне нужно создать отдельное поле "Текущая дата", а потом вычисление для поля №Прошло дней" в таком виде:
$line['Прошло дней'] = $line['Текущая дата'] - $line['Дата начала производства'];
Вопрос: а как сделать, чтобы в поле "Текущая дата" отображалась именно текущая дата, изменяясь каждый день автоматически?
По форуму искал, но нашёл более сложные вопросы и ответы, пытался оттуда вычленить коды для текущей даты, но ничего не происходит, кроме "Ошибка в вычислении"
#29357 Как сделать работу базы быстрее?
Отправлено от novomaster в 08 Октябрь 2015 - 16:22 in Как это сделать
#31418 Изменение тарифного плана без предупреждения
Отправлено от novomaster в 06 Май 2016 - 19:41 in Покупка и лицензии
Timur (06 Май 2016 - 16:07) писал:
Мой менеджер в отпуске, а менеджер, который его заменяет на этот период, ответил, что изначальный срок действия возвращён не будет, автоматическое изменение ТП отключено также не будет. Более того, вместо того, чтобы решить проблему, этот менеджер сказал, что у меня большой коэффициент нагрузки на сервер и, если в течение нескольких дней нагрузка не снизится, то меня переведут на "рекомендуемый" тарифный план, стоимость которого составляет 8000 рублей в месяц (для сравнения - мой родной ТП "Тариф 1", который был оплачен на год по договору, стоит 5400 рублей в год).
В общем, отношение оставляет, мягко говоря, желать лучшего. Такого наглого рэкета я не видел с 90-х
#31394 Изменение тарифного плана без предупреждения
Отправлено от novomaster в 01 Май 2016 - 14:07 in Покупка и лицензии
Проблема состоит в том, что при превышении памяти в 1 Гб автоматически меняется тарифный план с "Тариф 1" на "Тариф 3" без какого-либо предупреждения.
При этом, когда очищаешь вручную память, затем возвращаешься на свой "Тариф 1", срок действия оплаченного на год тарифа уменьшается.
Об этом в Договоре нет ни слова, соответственно, происходит нарушение Договора со стороны ООО "Клиентская База".
В связи с этим имеется два вопроса к руководству ООО "Клиентская База":
1) Как вернуть изначальный срок действия?
2) Как отключить автоматическое изменение тарифного плана и, если такую важную функцию разработчики даже не предусмотрели, то есть предложение - прежде чем менять тарифный план, хотя бы предупреждайте и давайте сутки на очистку памяти.
Иначе возникает ощущение, что нас здесь попросту дурят, вытягивая дополнительные деньги.
#29596 Вычисление даты последнего контакта с контрагентом
Отправлено от novomaster в 07 Ноябрь 2015 - 17:16 in Как это сделать
if ($event['type']=='delete') $deleteCond = " AND id<>$ID";
$pre = data_select_field(62, "MIN(f724) as previousdate", "status=0 {$deleteCond} AND f723=",$line['Компания']['raw']," AND f1053<>'Нет'");
$res = sql_fetch_assoc($pre);
$line['Компания']['Дата последнего контакта'] = $res['previousdate'];
Вот. Не получилось. Никакой даты в поле "Дата последнего контакта" с таким вычислением не отображается...
#29595 Вычисление даты последнего контакта с контрагентом
Отправлено от novomaster в 07 Ноябрь 2015 - 16:50 in Как это сделать
Я не программист, поэтому обращаюсь к более продвинутым пользователям за помощью.
Суть задачи: создать в таблице с контрагентами поле "Дата последнего контакта с контрагентом" по аналогии стандартного поля "Дата следующего контакта".
Как я понимаю, поле "Дата следующего контакта" появляется автоматически при создании задачи в таблице "Работа с клиентами". то есть статус такой задачи в поле "Выполнено" должен быть равен "Нет", что означает - задача открыта.
Вычисление стандартного поля "Дата следующего контакта" выглядит довольно просто, прикладываю скриншот.
Код этого поля выглядит так:
1 | if ($event['type']=='delete') $deleteCond = " AND id<>$ID";
2 | $pre = data_select_field(62, "MIN(f724) as nextdate", "status=0 {$deleteCond} AND f723=",$line['Компания']['raw']," AND f1053<>'Да'");
3 | $res = sql_fetch_assoc($pre);
4 | $line['Компания']['Дата следующего контакта'] = $res['nextdate'];
Думаю создать аналогичное поле, но подкорректировать данный код под задачу отображения последней даты работы с клиентом со статусом в поле "Выполнено" = "Да".
Но я абсолютно не разбираюсь с кодами и не могу понять практически никакой логики в коде, указанном выше.
Помогите с кодом, если можете, заранее большое спасибо!
#29598 Вычисление даты последнего контакта с контрагентом
Отправлено от novomaster в 07 Ноябрь 2015 - 22:32 in Как это сделать
CbCoder (07 Ноябрь 2015 - 20:50) писал:
2. Не знаю, чем руководствовался автор оригинального вычисления, но я бы явно прописал f1053='Да', а не косвенное f1053<>'Нет' (т.е. "равно Да", а не "не равно Нет").
Спасибо, ход мыслей понятен, у меня получился такой код:
if ($event['type']=='delete') $deleteCond = " AND id<>$ID";
$pre = data_select_field(62, "MAX(f724) as previousdate", "status=0 {$deleteCond} AND f723=",$line['Компания']['raw']," AND f1053='Да'");
$res = sql_fetch_assoc($pre);
$line['Компания']['Дата последнего контакта'] = $res['previousdate'];
Работает только при добавлении новых записей в работе с клиентом. То есть предыдущие записи, которые были, почему-то не работают.
Например, по клиенту "ххх" были следующие записи:
1) 01.08.2015 г. - первый звонок - Выполнено = "Да"
2) 03.08.2015 г. - второй звонок - Выполнено = "Да"
3) 05.08.2015 г. - последний звонок - Выполнено = "Да"
4) 11.12.2015 г. - запланированный звонок - Выполнено = "Нет".
Так вот, в поле "Дата последнего контакта" должна быть дата 05.08.2015 г., а в поле "Дата следующего контакта" - 11.12.2015 г.
Если эти записи были до того, как я создал поле "Дата последнего контакта" и прописал код вычисления, то поле пустое (не подтягиваются предыдущие записи).
А если я делаю новую запись уже сейчас, после создания вычисления, то всё работает.
Чтобы появилась дата в нужном поле, мне приходится заходить в карточку каждого клиента, менять статус выполнения последней записи с "Да" на "Нет", сохранять, потом менять обратно, снова сохранять. После этого запись с датой в поле в таблице видна. Но это долго и неудобно, так как клиентов очень много. Как бы из этой ситуации выйти победителем, применив меньше телодвижений?
#29369 Чем отличается покупка лицензии от аренды интернет-версии "ONE"?
Отправлено от novomaster в 14 Октябрь 2015 - 09:35 in SAAS
#29521 Простое вычисление с условием
Отправлено от novomaster в 31 Октябрь 2015 - 18:55 in Как это сделать
CbCoder (31 Октябрь 2015 - 16:36) писал:
if ($line['Статус счёта']=="Внесена предоплата" or $line['Статус счёта']=="Оплачен") $line['Долг за клиентом'] = $line['Сумма счёта'] - $line['Оплаченная сумма']; else $line['Долг за клиентом'] = 0;
Спасибо большое! Работает )))
#29517 Простое вычисление с условием
Отправлено от novomaster в 31 Октябрь 2015 - 09:55 in Как это сделать
Я создал таблицу, где вношу все выставленные счета клиентам (файл "Таблица счетов").
В колонке "Долг за клиентом" путём простого вычисления $line['Долг за клиентом'] = $line['Сумма счёта'] - $line['Оплаченная сумма']; отображается сумма задолженности от клиента.
Но эта сумма считается в любом случае, а как сделать так, чтобы эта сумма ("Долг за клиентом") считалась только при условии, если в колонке "Статус счёта" будет стоять значение "Внесена предоплата" или "Оплачен"?
Скрины во вложении, спасибо!
#29387 Как выписать счёт из прайса?
Отправлено от novomaster в 18 Октябрь 2015 - 16:03 in Как это сделать
Сначала в прайсе выбираешь нужные товары и их количество, при необходимости добавляя нужные услуги, потом выбираешь контрагента к этому счёту и выписываешь счёт.
Как это реализовано здесь и реализовано ли вообще?
Просто у меня многотысячный прайс в разделе "Справочники"-"Прайс лист". Вот хотелось бы там отмечать галочками товары или вводя в отдельном поле напротив товара/услуги сразу количество, а после полного подбора уже добавлять в счёт нужного клиента из раздела "Компании"-"Контрагенты".
Спасибо всем откликнувшимся!
#29362 Как установить офлайн-версию системы на комп, с возможностью синхронизации её...
Отправлено от novomaster в 09 Октябрь 2015 - 15:49 in Как это сделать
- Форум CRM программы Клиентская база
- → Публикации novomaster