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


Добавление определенного кол-ва строк в подтаблицу


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

#1 GoGPS

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

  • Пользователи
  • PipPipPip
  • 159 сообщений
  • Пол:Мужчина

Отправлено 12 Декабрь 2017 - 12:55

Здравствуйте,

Есть таблица, есть подтаблица. В подтаблицу добавляются пустые строки, кол-во бывает разное (5, 10, 50, 100 и так далее), пустые строки после добавления заполняются вручную.

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

Может где то на форуме эта тема поднималась?

#2 AntonKravchenko

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

  • Пользователи
  • PipPipPip
  • 152 сообщений
  • Пол:Мужчина
  • Город:Нижний Новгород

Отправлено 12 Декабрь 2017 - 13:37

сделайте доп.действие во всплывающем коне, в нём пропишите поле для ручного ввода кол-ва строк в подтаблице

#3 GoGPS

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

  • Пользователи
  • PipPipPip
  • 159 сообщений
  • Пол:Мужчина

Отправлено 12 Декабрь 2017 - 14:08

Спасибо.
Нет ли примеров кода на форуме или может кто то может помочь с вычислением?

#4 Tony999

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

  • Пользователи
  • PipPipPip
  • 412 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 13 Декабрь 2017 - 17:55

Создаем в основной таблице поле "Строк в подтаблице". Можно дать доступ ему только на добавление и поставить значение по умолчанию, например 5.

Далее создаем вычисление в основной таблице на сохранение и добавляем туда код. В данном примере использованы таблица "Счета" и подтаблица "Позиции счета".

// Добавление пустых строк в подтаблицу "Позиции счета"

$line_id = $line['ID']; // ID счета
$nbr_ptb = 74; // Указывем номер подтаблицы
$sv_ptb = 'f807'; // Указываем номер поля связи подтаблицы с таблицей "Счета".

$qty = $line['Строк в подтаблице']; // Кол-во строк, что будут добавлены

while ($qty) {
// Вставка строк. Можно и добавить в массив другие значение, как по умолчанию
data_insert($nbr_ptb,EVENTS_ENABLE,array($sv_ptb=>$line_id));
$qty--;
}

Умные сайты на заказ
https://info.crm-master.info

#5 AntonKravchenko

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

  • Пользователи
  • PipPipPip
  • 152 сообщений
  • Пол:Мужчина
  • Город:Нижний Новгород

Отправлено 13 Декабрь 2017 - 20:18

Тогда уж не на сохранение, а на изменение этого поля - ведь изменение любого поля вызовет запуск этого вычисления по условию "при сохранении". И по умолчанию поставить значение 0 в поле, и отлично.

#6 Tony999

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

  • Пользователи
  • PipPipPip
  • 412 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 13 Декабрь 2017 - 20:36

Просто добавить обнуление этого поля в самом конце вычисления. А еще ограничение надо, чтобы никто 1000 строк случайно не добавил.
Что ставить по умолчанию - дело администратора, или даже вычислять это поле можно.

// Добавление пустых строк в подтаблицу "Позиции счета"

$line_id = $line['ID']; // ID счета
$nbr_ptb = 74; // Указывем номер подтаблицы
$sv_ptb = 'f807'; // Указываем номер поля связи подтаблицы с таблицей "Счета".

$qty = $line['Строк в подтаблице']; // Кол-во строк, что будут добавлены
$limit = 100; // Максимальное возможное кол-во строк для добавления

while (min($qty,$limit)) {
// Вставка строк. Можно и добавить в массив другие значение, как по умолчанию
data_insert($nbr_ptb,EVENTS_ENABLE,array($sv_ptb=>$line_id));
$qty--; $limit--;
}
$line['Строк в подтаблице'] = 0; // Обнуление поля кол-ва строк

Сообщение отредактировал Tony999: 14 Декабрь 2017 - 06:54

Умные сайты на заказ
https://info.crm-master.info

#7 GoGPS

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

  • Пользователи
  • PipPipPip
  • 159 сообщений
  • Пол:Мужчина

Отправлено 13 Декабрь 2017 - 22:12

Спасибо большое. Попробую :)

#8 GoGPS

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

  • Пользователи
  • PipPipPip
  • 159 сообщений
  • Пол:Мужчина

Отправлено 14 Декабрь 2017 - 19:26

Все работает.
Ребята, спасибо огромное!





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

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