Перейти к содержимому


Публикации etpu

20 публикаций создано etpu (учитываются публикации только с 21-Апрель 23)


#11825 Показывать подтаблицу по условию

Отправлено от etpu в 13 Апрель 2012 - 14:55 in Как это сделать

Небольшая проблема со скрытием вкладок ПодТаблиц (внизу). При открытии страницы показывается только вкладка и она пустая. Необходимо нажать на другую вкладку или на эту чтобы отобразились записи под ней. Естественно так же и не видно кнопки Добавить запись.
Можно ли как то сделать чтобы вкладка отображалась сразу корректно?



#11741 Как забирать данные из несвязанных таблиц

Отправлено от etpu в 11 Апрель 2012 - 09:30 in Как это сделать

спасибо.



#11739 Показывать подтаблицу по условию

Отправлено от etpu в 11 Апрель 2012 - 09:25 in Как это сделать

Я правильно понимаю это та самая table=94 например?



#11735 Показывать подтаблицу по условию

Отправлено от etpu в 11 Апрель 2012 - 08:40 in Как это сделать

А как узнать ID подтаблицы?



#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 Как это сделать

При нажатии кнопки Добавить договор должна создаваться не одна запись, а 3 и более.

Что, в этом случае, нужно написать в вычислении чтобы сразу несколько строк из подТаблицы КОНФИГУРАЦИЯ (Контрагента) вносились в другую таблицу "КОНФИГУРАЦИЯ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 Как это сделать

Вот такие у меня таблицы.

Главная таблица "Договор" и в ней поле "Номер".
Подтаблица Приложения к договору и там поле связи "Номер договора".

Насколько я понимаю названия ведь не должны совпадать. и все равно по поводу строчка с принтом не понял. Вставил её в начало вычисления, но где посмотреть результат?

Прикрепленные изображения

  • Прикрепленное изображение: Снимок1.PNG
  • Прикрепленное изображение: Снимок2.PNG



#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 Как это сделать

Пробовал несколько сложнее с помощью COUNT()
Сейчас протестирую данный вариант. Спасибо!



#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) и отправлялись бы по электронной почте на контактный адрес контрагента.

Все вышеописанное, но кратко::
  • Создать новые поля в таблице Счет и Акт со значениями берущиеся из другой таблицы.
  • Создать из этих счетов и актов Печатные формы.
  • Отправить эти печатные формы по электронной почте.
В ручную все работает, но как сделать чтобы все на автомате?
Может быть есть какой то подобный пример как это можно организовать?