- Форум CRM программы Клиентская база
- → Публикации etpu
Публикации etpu
20 публикаций создано etpu (учитываются публикации только с 22-Май 23)
#11825 Показывать подтаблицу по условию
Отправлено от etpu в 13 Апрель 2012 - 14:55 in Как это сделать
Можно ли как то сделать чтобы вкладка отображалась сразу корректно?
#11741 Как забирать данные из несвязанных таблиц
Отправлено от etpu в 11 Апрель 2012 - 09:30 in Как это сделать
#11739 Показывать подтаблицу по условию
Отправлено от etpu в 11 Апрель 2012 - 09:25 in Как это сделать
#11735 Показывать подтаблицу по условию
Отправлено от etpu в 11 Апрель 2012 - 08:40 in Как это сделать
#11731 Показывать подтаблицу по условию
Отправлено от etpu в 11 Апрель 2012 - 07:32 in Как это сделать
Есть основная таблица "Договор" и 2 связанные с ней таблицы "Список оборудования" и "Список Услуг".
Необходимо, чтобы при выборе в поле "Тип договора" таблицы "Договор" внизу отображалась одна либо другая таблица.
Пример: если выбрали в поле "Тип договора" - "Услуги", то внизу появлялась вкладка с таблицей "Список услуг" куда мы добавляем услуги по этому договору.
Если выбираем в поле "Тип договора" - "Оборудование", то внизу вместо таблицы "Список услуг" появляется таблица "Список оборудования".
Можно ли так сделать? И как?
P.S. На данный момент в голову приходит только создание двух разных таблиц "Договор оборудование" и "Договор услуги". Но это совсем не дело. В последующем Типов договора станет куда больше.
P.P.S. Второй вариант это оставление нескольких вкладок внизу. Но тогда будет путаница что именно заполнять. Куда логичнее скрывать не нужные таблицы с помощью JavaScript, но одно дело скрыть поля в одной таблице, а совсем другое всю подтаблицу целиком.
#11722 Как забирать данные из несвязанных таблиц
Отправлено от etpu в 10 Апрель 2012 - 16:41 in Как это сделать
Но возник другой вопрос. Как связать 2 таблицы таким образом что при изменении значения в одной таблице (например количество) оно автоматически менялось и в другой. И не получится ли коллизий? Ведь когда изменяется значение во второй таблице срабатывает вычисление и оно меняет значение в первой и опять все по новой.
Как в этом случае сделать правильнее?
#11713 Как забирать данные из несвязанных таблиц
Отправлено от etpu в 10 Апрель 2012 - 12:29 in Как это сделать
Что, в этом случае, нужно написать в вычислении чтобы сразу несколько строк из подТаблицы КОНФИГУРАЦИЯ (Контрагента) вносились в другую таблицу "КОНФИГУРАЦИЯ2" которая так же является ПодТаблицей - "Договор".
$data['Количество'] = $line['Количество']; $data['Разовая цена (руб)'] = $line['Разовая цена (руб)']; insert_query($data,"Конфигурация2");
Данное вычисление работать не будет и это логично.
Может быть есть какой то код позволяющий сразу скопировать строки целиком в другую таблицу?
#11708 Как забирать данные из несвязанных таблиц
Отправлено от etpu в 10 Апрель 2012 - 10:25 in Как это сделать
Никак не могу придумать (не хватает технических познаний) систему по связи таблиц.
Главная проблема. Можно ли связать 2 таблицы с помощью ещё одной.
Есть главная Таблица "КОНТРАГЕНТЫ" и "ДОГОВОР"
Есть подтаблица "КОНФИГУРАЦИЯ" связанная в данный момент с контрагентами. Этаже таблица связана с другой таблицей "НАИМЕНОВАНИЯ УСЛУГ" в которой хранятся наименования услуг (список) с 2 ценами по умолчанию и с 2 расширенными наименованиями.
Вот так выглядит более подробно:
Таблица НАИМЕНОВАНИЯ УСЛУГ:
Общее название текст
Название единоверменной услуги текст
Цена по умолчанию (руб) число
Услуга Ежемесячная? список
Название ежемесячной улсуги текст
Цена по умолчанию Ежемесячная (руб) число
Таблица КОНФИГУРАЦИЯ:
Организация ID связь
Название связь
Количество число
Группа: Разовые
Разовая цена (руб) число
СУММА Разовая (руб) число
Группа: Ежемесячные
Ежемесячная цена (руб) число
СУММА Ежемесячная (руб) число
Таблица наименования услуг ни с кем не связана, таблица конфигурация подчиненная и связана с таблицей КОНТРАГЕНТЫ по полю Организация ID и с таблицей НАИМЕНОВАНИЯ УСЛУГ по полю Название - Общее название.
Пока все работает хорошо. Добавляем нового контрагента. Внизу появляется таблица КОНФИГУРАЦИЯ. Мы выбираем из списка Название услуги (связанное поле). Ставим количество и в 4 полях Цены и суммы автоматически заполняются данные из таблицы НАИМЕНОВАНИЯ УСЛУГ.
Проблема заключается в том что когда Нажимаем кнопку в контрагентах Добавить договор.
Заполняем договор, и хотим его распечатать в договоре должны быть автоматически прописаны все что мы заполняли в Контрагентах. По в печатной форме связи не указаны.
А нужно чтобы в договоре появлялось что то типа этого:
Единоразовые услуги:
Номер / Наименование / кол-во / цена / сумма
1. Наименование первой услуги 1 шт 10 000р 10 000р.
2. Наименование второй услуги 3 шт 5 000р. 15 000р
Ежемесячные услуги:
Номер / Наименование / кол-во / цена / сумма
1. Ежемесячная поддержка первой услуги 1 шт 1 000р 1 000р.
2. Ежемесячная поддержка второй услуги 3 шт 500р. 1 500р
На данный момент в голову приходит продублировать таблицу КОНФИГУРАЦИЯ и связать её с таблицей ДОГОВОР. и когда в каком то из 2х таблиц происходит изменение чтобы оно производилось и в соседней таблице.
В идеале хорошо бы использовать всего одну таблицу КОНФИГУРАЦИЯ и связать её сразу с двумя таблицами КОНТРАГЕНТЫ и ДОГОВОР. Но пока корректно этого сделать не получается. К тому же договор создается позже. Сперва заполняются поля контрагента, потом КОНФИГУРАЦИЯ и только потом добавляется договор и там приложения к договору. Первое приложение это как раз Единовременные услуги, второе приложение Ежемесячные.
Подскажите как в данной ситуации лучше решить данную проблему?
#11706 Автонумерация связанной таблицы
Отправлено от etpu в 10 Апрель 2012 - 09:25 in Как это сделать
if (!$line['Номер приложения']) // Если поле номер не заполнено... { // Выбираем максимальный номер из подтаблицы по полю связи. $sqlQuery = "SELECT MAX(`f1212`) AS `max_num` FROM `".DATA_TABLE."93` WHERE status=0 and `f1211`='".$line['Номер договора']['raw']."'"; $result = mysql_query($sqlQuery); $row = mysql_fetch_assoc($result); $line['Номер приложения'] = $row['max_num'] + 1;
А что такое ['raw'] и для чего оно нужно?
#11705 Автонумерация связанной таблицы
Отправлено от etpu в 10 Апрель 2012 - 09:20 in Как это сделать
Главная таблица "Договор" и в ней поле "Номер".
Подтаблица Приложения к договору и там поле связи "Номер договора".
Насколько я понимаю названия ведь не должны совпадать. и все равно по поводу строчка с принтом не понял. Вставил её в начало вычисления, но где посмотреть результат?
#11703 Автонумерация связанной таблицы
Отправлено от etpu в 10 Апрель 2012 - 09:09 in Как это сделать
Не совсем понятно куда вставить print_r($line);
#11701 Автонумерация связанной таблицы
Отправлено от etpu в 10 Апрель 2012 - 08:58 in Как это сделать
Я ведь правильно понимаю что в MAX(`f1212`) должно быть поле "Номер приложения" . Но тут вроде бы все правильно, ведь если я удалю
WHERE `f1211`='".$line['Договор']['raw']."'
То значение будет появляться правильное (26.... 27....28... и тд)
То есть по всей таблице.
Значит проблема как раз в коде указанном выше.
$sqlQuery = "SELECT MAX(`f1212`) AS `max_num` FROM `".DATA_TABLE."93` WHERE status=0 and `f1211`=1";
Прописываю так то в договоре под номером 1 все работает как надо.
А если прописываю так:
$sqlQuery = "SELECT MAX(`f1212`) AS `max_num` FROM `".DATA_TABLE."93` WHERE status=0 and `f1211`='".$line['Номер договора']."'";То все перестает работать и выдает только 1.
Update
Вычисление работает в подтаблице "Приложения к договору".
И что странно, когда я задал
$line['Номер приложения'] = $line['Договор']['Номер']; или $line['Номер приложения'] = $line['Номер договора'];в Поле "Номер приложения" ничего не добавлялось.
#11699 Автонумерация связанной таблицы
Отправлено от etpu в 10 Апрель 2012 - 08:04 in Как это сделать
#11697 Автонумерация связанной таблицы
Отправлено от etpu в 10 Апрель 2012 - 04:29 in Как это сделать
if (!$line['Номер приложения']) { $sqlQuery = "SELECT MAX(`f1212`) AS `max_num` FROM `".DATA_TABLE."93` WHERE `f1211`='".$line['Договор']['Номер']."'"; $result = mysql_query($sqlQuery); $row = mysql_fetch_assoc($result); $line['Номер приложения'] = $row['max_num'] + 1; }и так тоже:
if (!$line['Номер приложения']) // Если поле номер не заполнено... { // Выбираем максимальный номер из подтаблицы по полю связи. $sqlQuery = "SELECT MAX(`f1212`) AS `max_num` FROM `".DATA_TABLE."93` WHERE `f1211`='".$line['Номер договора']."'"; $result = mysql_query($sqlQuery); $row = mysql_fetch_assoc($result); $line['Номер приложения'] = $row['max_num'] + 1; }
где:
f1211 - Поле "Номер договора" (связанное с таблицей "Договор", по полю "Номер")
f1212 - поле "Номер приложения" (тип поля Номер, с пустым значением по умолчанию)
93 - таблица "Приложения к договору" (таблица связанная с договором (договор - номер) по полю "номер договора".
При добавлении новой строки "Номер приложения" всегда равен 1.
Update: max_num почему то всегда равен 0
#11696 Автонумерация связанной таблицы
Отправлено от etpu в 10 Апрель 2012 - 03:57 in Как это сделать
Сейчас протестирую данный вариант. Спасибо!
#11692 Автонумерация связанной таблицы
Отправлено от etpu в 09 Апрель 2012 - 17:43 in Как это сделать
В "Приложении договора" есть поле "Номер приложения" - тут должна быть автонумерация. И у каждого договора этот список должен начинатся с ссамого начала (с 1).
Сейчас авто нумерация работает по всей таблице "Приложения договора", а нужно только к той части которая связана с конкретным договором.
Пробовал через вычисления. Никак не получается заставить работать.
#11690 повторение строк в шаблоне rtf (аналог foreach)?
Отправлено от etpu в 09 Апрель 2012 - 16:32 in Как это сделать
Неоходимо формировать приложения к договору на основании трех таблиц включая несколько строк таблицы "позиции счета".
#11675 Автоматическое создание документов и их рассылка без участия человека
Отправлено от etpu в 09 Апрель 2012 - 13:29 in Как это сделать
#11671 Автоматическое создание документов и их рассылка без участия человека
Отправлено от etpu в 09 Апрель 2012 - 11:15 in Как это сделать
#11647 Автоматическое создание документов и их рассылка без участия человека
Отправлено от etpu в 08 Апрель 2012 - 06:54 in Как это сделать
Сам счет и акт заполнялся бы автоматически по данным из другой таблицы связанной с контрагентом. (название, кол-во, цена, сумма)
Далее счета все так же автоматически переводились в печатную форму (в формат pdf) и отправлялись бы по электронной почте на контактный адрес контрагента.
Все вышеописанное, но кратко::
- Создать новые поля в таблице Счет и Акт со значениями берущиеся из другой таблицы.
- Создать из этих счетов и актов Печатные формы.
- Отправить эти печатные формы по электронной почте.
Может быть есть какой то подобный пример как это можно организовать?
- Форум CRM программы Клиентская база
- → Публикации etpu