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


Дополнительные действия - добавление строк в другую таблицу


Сообщений в теме: 16

#1 keswa

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 27 Май 2014 - 13:45

Есть таблица, в которой строками являются текущие объекты для установки на данной неделе. По окончании недели мне нужно добавить эти строки в таблицу с финансовыми показателями.
Т.к. таблица с финансами создается каждый месяц другая (разные номера), мне нужно, чтобы при выполнении дополнительного действия система спрашивала в какую таблицу добавить. Как это можно выполнить?

И еще - если через дополнительные действия добавлять в другую таблицу строки связи, то подтянутся ли автоматически другие строки из этой же таблицы? или нужно будет их поправлять?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Май 2014 - 14:11

Цитата

Т.к. таблица с финансами создается каждый месяц другая (разные номера), мне нужно, чтобы при выполнении дополнительного действия система спрашивала в какую таблицу добавить. Как это можно выполнить?

К сожалению, такой возможности в табличном режиме на данный момент нет, доп. действие с всплывающим окном доступно только в режиме просмотра отдельной записи. Но, честно говоря, мне лично совершенно непонятно, зачем каждый месяц создается каждый раз другая таблица с финансами? В этом есть что ли какой-то сакральный смысл? Если требуются отдельные вкладки для каждого месяца, это прекрасно решается с помощью фильтров. Таким образом проблема с выбором таблицы будет решена. В самом крайнем случае, можно сделать так, чтобы доп.действие само искало нужную таблицу по названию, но гораздо рациональнее все же не множить кучу таблиц, а оставить одну.

#3 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Май 2014 - 14:13

Цитата

И еще - если через дополнительные действия добавлять в другую таблицу строки связи, то подтянутся ли автоматически другие строки из этой же таблицы? или нужно будет их поправлять?

Честно говоря, не совсем понял о чем вы. Раскройте вопрос.

#4 keswa

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 27 Май 2014 - 14:28

Просмотр сообщенияCbCoder (27 Май 2014 - 14:11) писал:

К сожалению, такой возможности в табличном режиме на данный момент нет, доп. действие с всплывающим окном доступно только в режиме просмотра отдельной записи. Но, честно говоря, мне лично совершенно непонятно, зачем каждый месяц создается каждый раз другая таблица с финансами? В этом есть что ли какой-то сакральный смысл? Если требуются отдельные вкладки для каждого месяца, это прекрасно решается с помощью фильтров. Таким образом проблема с выбором таблицы будет решена. В самом крайнем случае, можно сделать так, чтобы доп.действие само искало нужную таблицу по названию, но гораздо рациональнее все же не множить кучу таблиц, а оставить одну.
Финансы не просто таблица, а основная таблица с подчиненными. В подчиненные добавляются объекты, по ним известна цена и себестоимость, отдельные вкладки на оплату работников, расходники и т.д. В одну строку не влезть. )
Да и бригады разные. Интересно, сколько заработано каждой бригадой. Пробовали фильтры - не получается.

А если просто каждый месяц изменять в коде номер таблицы?
Да и просто интересно, сколько принес каждый месяц.

#5 keswa

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 27 Май 2014 - 14:30

Просмотр сообщенияCbCoder (27 Май 2014 - 14:13) писал:

Честно говоря, не совсем понял о чем вы. Раскройте вопрос.

В обычном виде я добавляю строку, основное поле - связь. Ввожу данные и система автоматически подтягивает остальные значения строк при сохранении.
Если не я, а дополнительные действия будут добавлять строки, связь будет срабатывать?

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Май 2014 - 14:53

Просмотр сообщенияkeswa (27 Май 2014 - 14:28) писал:

Финансы не просто таблица, а основная таблица с подчиненными. В подчиненные добавляются объекты, по ним известна цена и себестоимость, отдельные вкладки на оплату работников, расходники и т.д. В одну строку не влезть. )
А если просто каждый месяц изменять в коде номер таблицы?

Честно говоря все равно не очень понял, зачем копировать таблицу (как раз таки куча подчиненных только усиливает с этим гемор), но раз вы настаиваете что вам так удобнее, то да, можно и просто номер в коде менять. Думаю это не проблема делать раз в месяц на фоне копирования таблиц.

#7 keswa

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 27 Май 2014 - 15:10

Большое спасибо за ответ!
Может еще и с кодом поможете? Буду очень благодарен )

#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Май 2014 - 15:10

Просмотр сообщенияkeswa (27 Май 2014 - 14:30) писал:

В обычном виде я добавляю строку, основное поле - связь. Ввожу данные и система автоматически подтягивает остальные значения строк при сохранении.
Если не я, а дополнительные действия будут добавлять строки, связь будет срабатывать?

Т.е. я правильно понимаю, что речь идет о других полях, которые заполняются автоматически значениями из связанной строки после выбора значения в поле связи? Просто вначале вы написали почему-то про "другие строки". Если так, то эти поля у вас заполняются через соответствующие вычисления на событие изменение поля связи. Например, выбираю сотрудника через поле связи с таблицей Сотрудники, и в поле Должность этой же строки автоматически подтягивается значение поля Должность из выбранного сотрудника. Вы об этом? Просто как-то несколько сумбурно описано, и про вычисления ни слова.

#9 keswa

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 27 Май 2014 - 15:11

Просмотр сообщенияCbCoder (27 Май 2014 - 15:10) писал:

Т.е. я правильно понимаю, что речь идет о других полях, которые заполняются автоматически значениями из связанной строки после выбора значения в поле связи? Просто вначале вы написали почему-то про "другие строки". Если так, то эти поля у вас заполняются через соответствующие вычисления на событие изменение поля связи. Например, выбираю сотрудника через поле связи с таблицей Сотрудники, и в поле Должность этой же строки автоматически подтягивается значение поля Должность из выбранного сотрудника. Вы об этом? Просто как-то несколько сумбурно описано, и про вычисления ни слова.
Да, все верно.

#10 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Май 2014 - 15:23

Просмотр сообщенияkeswa (27 Май 2014 - 15:10) писал:

Может еще и с кодом поможете? Буду очень благодарен )

Готовый код не напишу, т.к. у нас это платная услуга, на форуме только помощь по возникающим вопросам, максимум - если код уж совсем тривиальный. Вам необходим будет сделать запрос на добавление, там ничего сложного нет, на форуме неоднократно описывалось.

#11 keswa

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 27 Май 2014 - 15:23

Спасибо. Попробую.
Хорошего дня!

#12 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Май 2014 - 15:26

Просмотр сообщенияkeswa (27 Май 2014 - 15:11) писал:

Да, все верно.

Тогда зависит от функции запроса на добавление. Если будете добавлять через insert_query - то да, вычисления сработают автоматически. Если через data_insert - то только если включен параметр "EVENTS_ENABLE". Если через прямой запрос к БД (не рекомендуется), то - нет. Более подробно ищите на форуме.

#13 keswa

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 27 Май 2014 - 15:50

$arr['Номер'] = $line['Номер'];
$arr['Номер договора'] = $line['Номер договора'];
$arr['Предоплата'] = $line['Сумма'];
$newid = insert_query($arr, "Предоплата");

Вот такое вычисление написал.
Строка в таблице копируется пустая.

#14 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Май 2014 - 16:05

Если имена полей правильно заданы, то пустой строки быть не может, те поля что вы указали, будут заполнены значениями текущей строки. Если конечно там есть эти значения.

#15 keswa

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 27 Май 2014 - 16:13

Поля такие же, единственно, что основное поле - Номер договора - это связь с таблицей клиенты.
Может его нужно както по-другому отмечать?

#16 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Май 2014 - 16:15

$arr['Номер договора'] = $line['Номер договора']['ID'];

Это касается всех полей связи.

#17 keswa

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 27 Май 2014 - 16:41

Просмотр сообщенияCbCoder (27 Май 2014 - 16:15) писал:

$arr['Номер договора'] = $line['Номер договора']['ID'];

Это касается всех полей связи.
Все, получилось. Спасибо!





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных