mirror of
https://github.com/devcode-it/openstamanager.git
synced 2024-12-22 21:28:08 +01:00
Correzione sezionali
This commit is contained in:
parent
33b7220ae4
commit
4c948e8102
@ -63,15 +63,6 @@ if (!empty($result_query) && $result_query != 'menu' && $result_query != 'custom
|
||||
$result_query = str_replace('2=2', '2=2 AND ('.implode(' AND ', $search_filters).') ', $result_query);
|
||||
}
|
||||
|
||||
// Filtro sezionali
|
||||
if (isset($_SESSION['entrata']['idsezionale']) && (($modules_info[$id_module]['name'] == 'Fatture di vendita') || ($modules_info[$id_module]['name'] == 'Laboratorio') || ($modules_info[$id_module]['name'] == 'Ticket'))) {
|
||||
$result_query = str_replace('1=1', " 1=1 AND idsezionale = '".$_SESSION['entrata']['idsezionale']."' ", $result_query);
|
||||
}
|
||||
|
||||
if (isset($_SESSION['uscita']['idsezionale']) && ($modules_info[$id_module]['name'] == 'Fatture di acquisto')) {
|
||||
$result_query = str_replace('1=1', " 1=1 AND idsezionale = '".$_SESSION['uscita']['idsezionale']."' ", $result_query);
|
||||
}
|
||||
|
||||
// Filtri derivanti dai permessi (eventuali)
|
||||
if (empty($id_plugin)) {
|
||||
$result_query = Modules::replaceAdditionals($id_module, $result_query);
|
||||
|
@ -1,21 +1,21 @@
|
||||
<form action="" method="post" role="form">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="op" value="update">
|
||||
<input type="hidden" name="id_record" value="<?php echo $id_record ?>">
|
||||
<input type="hidden" name="id_record" value="<?php echo $id_record; ?>">
|
||||
|
||||
<!-- DATI ARTICOLO -->
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">Sezionale</h3>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="pull-right">
|
||||
<button type="submit" class="btn btn-success"><i class="fa fa-check"></i> Salva modifiche</button>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "Nome", "name": "nome", "required": 1, "class": "", "value": "$nome$", "extra": "" ]}
|
||||
@ -25,12 +25,12 @@
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "Documenti", "name": "dir", "required": 1, "class": "", "values": "list=\"entrata\": \"Documenti di vendita\", \"uscita\": \"Documenti di acquisto\"", "value": "$dir$", "extra": "" ]}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "Magazzino", "name": "idautomezzo", "required": 0, "class": "", "values": "query=SELECT id, nome AS descrizione FROM dt_automezzi", "value": "$idautomezzo$", "extra": "" ]}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "textarea", "label": "Note", "name": "note", "required": 0, "class": "", "value": "$note$", "extra": "" ]}
|
||||
@ -39,13 +39,13 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
|
||||
<div class="alert alert-info" style="margin:0;">
|
||||
<p align="justify">
|
||||
Istruzioni per il campo Maschera:<br/>
|
||||
|
||||
|
||||
<font style='font-size:20px;'><b>####</b></font> Questi caratteri vengono sostituiti con il numero progressivo della fattura, vengono aggiunti zeri non significativi per raggiungere il numero desiderato di caratteri;<br/><br/>
|
||||
|
||||
|
||||
<font style='font-size:20px;'><b>YYYY</b></font> Questi caratteri vengono sosituiti con l'anno corrente a 4 cifre, è possibile specificare l'anno a 2 cifre con YY;<br/><br/>
|
||||
|
||||
È possibile aggiungere altri caratteri fissi, come lettere, trattini, eccetera, prima e/o dopo e/o tra le maschere #### e YYYY.<br/>
|
||||
@ -62,20 +62,20 @@
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
$fatture = $dbo->fetchArray("SELECT COUNT(*) AS tot_fatture FROM co_documenti WHERE idsezionale='$id_record' ");
|
||||
$tot_fatture = $fatture[0]['tot_fatture'];
|
||||
if( $tot_fatture>0 ){
|
||||
echo "<div class='alert alert-danger' style='margin:0px;'>Ci sono $tot_fatture fatture collegate a questo sezionale. Il comando elimina è stato disattivato, eliminare le fatture per attivare il comando \"Elimina sezionale\".</div>\n";
|
||||
} else {
|
||||
?>
|
||||
<?php
|
||||
$fatture = $dbo->fetchArray('SELECT COUNT(*) AS tot_fatture FROM co_documenti WHERE id_sezionale='.prepare($id_record));
|
||||
$tot_fatture = $fatture[0]['tot_fatture'];
|
||||
if ($tot_fatture > 0) {
|
||||
echo "<div class='alert alert-danger' style='margin:0px;'>Ci sono $tot_fatture fatture collegate a questo sezionale. Il comando elimina è stato disattivato, eliminare le fatture per attivare il comando \"Elimina sezionale\".</div>\n";
|
||||
} else {
|
||||
?>
|
||||
<form action="" method="post" role="form" id="form-delete">
|
||||
<input type="hidden" name="backto" value="record-list">
|
||||
<input type="hidden" name="op" value="delete">
|
||||
<input type="hidden" name="id_record" value="<?php echo $id_record ?>">
|
||||
<input type="hidden" name="id_record" value="<?php echo $id_record; ?>">
|
||||
<button type="button" class="btn-link" onclick="if( confirm('Eliminare questo Sezionale?') ){ $('#form-delete').submit(); }"><span class="text-danger"><i class="fa fa-trash-o"></i> Elimina sezionale</span></button>
|
||||
</form>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
|
16
src/App.php
16
src/App.php
@ -254,7 +254,7 @@ class App
|
||||
$query = str_replace('|select|', $select, $query);
|
||||
|
||||
return [
|
||||
'query' => $query,
|
||||
'query' => self::replacePlaceholder($query),
|
||||
'fields' => $fields,
|
||||
'search_inside' => $search_inside,
|
||||
'order_by' => $order_by,
|
||||
@ -284,7 +284,7 @@ class App
|
||||
$order_by = $fields;
|
||||
|
||||
return [
|
||||
'query' => $query,
|
||||
'query' => self::replacePlaceholder($query),
|
||||
'fields' => $fields,
|
||||
'search_inside' => $search_inside,
|
||||
'order_by' => $order_by,
|
||||
@ -315,12 +315,22 @@ class App
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
// Sostituzione degli identificatori
|
||||
$id = empty($custom) ? $user['idanagrafica'] : $custom;
|
||||
|
||||
$query = str_replace(['|idagente|', '|idtecnico|', '|idanagrafica|'], prepare($id), $query);
|
||||
|
||||
// Sostituzione delle date
|
||||
$query = str_replace(['|period_start|', '|period_end|'], [$_SESSION['period_start'], $_SESSION['period_end']], $query);
|
||||
|
||||
// Sostituzione dei sezionali
|
||||
$sezionali = [
|
||||
'|sezionale_uscita|' => $_SESSION['uscita']['id_sezionale'],
|
||||
'|sezionale_entrata|' => $_SESSION['entrata']['id_sezionale'],
|
||||
];
|
||||
foreach ($sezionali as $key => $value) {
|
||||
$query = str_replace($key, !empty($value) ? ' AND id_sezionale = '.prepare($value) : '', $query);
|
||||
}
|
||||
|
||||
return $query;
|
||||
}
|
||||
}
|
||||
|
@ -20,15 +20,14 @@ class Widgets
|
||||
{
|
||||
if (empty(self::$widgets[$id_module][$location])) {
|
||||
$dbo = Database::getConnection();
|
||||
|
||||
//se sono mobile mostro su controller_right anche quello che è su controller_top
|
||||
if ((isMobile())and($location=='controller_right')){
|
||||
$extra_where = " OR location = 'controller_top' ";
|
||||
}else{
|
||||
$extra_where = "";
|
||||
}
|
||||
|
||||
|
||||
|
||||
//se sono mobile mostro su controller_right anche quello che è su controller_top
|
||||
if ((isMobile()) && ($location == 'controller_right')) {
|
||||
$extra_where = " OR location = 'controller_top' ";
|
||||
} else {
|
||||
$extra_where = '';
|
||||
}
|
||||
|
||||
// ottengo da db gli id dei widget associati al modulo
|
||||
$results = $dbo->fetchArray('SELECT id, location, class FROM zz_widgets WHERE id_module='.prepare($id_module).' AND ( location='.prepare($location).' '.$extra_where.' ) AND enabled=1 ORDER BY `order` ASC');
|
||||
|
||||
@ -93,14 +92,8 @@ class Widgets
|
||||
}
|
||||
$query = str_replace('|period_start|', $_SESSION['period_start'], $query);
|
||||
$query = str_replace('|period_end|', $_SESSION['period_end'], $query);
|
||||
|
||||
|
||||
|
||||
if( isset($_SESSION[$dir]['idsezionale']) ):
|
||||
$query = str_replace( "|idsezionale|", " AND idsezionale='".$_SESSION[$dir]['idsezionale']."'", $query );
|
||||
else:
|
||||
$query = str_replace( "|idsezionale|", "", $query );
|
||||
endif;
|
||||
|
||||
$query = App::replacePlaceholder($query);
|
||||
|
||||
$dato = '';
|
||||
if ($query != '') {
|
||||
|
@ -19,7 +19,7 @@ CREATE TABLE IF NOT EXISTS `zz_prints` (
|
||||
`enabled` tinyint(1) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
FOREIGN KEY (`id_module`) REFERENCES `zz_modules`(`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB;
|
||||
);
|
||||
|
||||
-- Inserimento delle stampe di base
|
||||
INSERT INTO `zz_prints` (`id_module`, `name`, `directory`, `options`, `previous`, `enabled`, `default`) VALUES
|
||||
@ -85,7 +85,7 @@ CREATE TABLE IF NOT EXISTS `zz_smtp` (
|
||||
`main` tinyint(1) NOT NULL,
|
||||
`deleted` tinyint(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
);
|
||||
|
||||
--
|
||||
-- Struttura della tabella `zz_emails`
|
||||
@ -106,7 +106,7 @@ CREATE TABLE IF NOT EXISTS `zz_emails` (
|
||||
`deleted` tinyint(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
FOREIGN KEY (`id_module`) REFERENCES `zz_modules`(`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB;
|
||||
);
|
||||
|
||||
--
|
||||
-- Struttura della tabella `zz_email_smtp_user`
|
||||
@ -121,7 +121,7 @@ CREATE TABLE IF NOT EXISTS `zz_email_smtp_user` (
|
||||
FOREIGN KEY (`id_email`) REFERENCES `zz_emails`(`id`) ON DELETE CASCADE,
|
||||
FOREIGN KEY (`id_smtp`) REFERENCES `zz_smtp`(`id`) ON DELETE CASCADE,
|
||||
FOREIGN KEY (`id_user`) REFERENCES `zz_users`(`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB;
|
||||
);
|
||||
|
||||
--
|
||||
-- Struttura della tabella `zz_emails`
|
||||
@ -134,7 +134,7 @@ CREATE TABLE IF NOT EXISTS `zz_email_print` (
|
||||
PRIMARY KEY (`id`),
|
||||
FOREIGN KEY (`id_email`) REFERENCES `zz_emails`(`id`) ON DELETE CASCADE,
|
||||
FOREIGN KEY (`id_print`) REFERENCES `zz_prints`(`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB;
|
||||
);
|
||||
|
||||
-- Aggiunta dei moduli dedicati alla gestione delle email
|
||||
INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES (NULL, 'Account email', 'Account email', 'smtp', 'SELECT |select| FROM zz_smtp WHERE 1=1 AND deleted = 0 HAVING 2=2 ORDER BY `name`', 'fa fa-user-o', '2.3', '2.3', '10', NULL, 1, 1);
|
||||
@ -169,7 +169,7 @@ DELETE FROM `zz_settings` WHERE
|
||||
|
||||
-- SEZIONALI
|
||||
-- Modifico co_documenti per aggiungere riferimento al sezionale
|
||||
ALTER TABLE `co_documenti` ADD `idsezionale` INT( 11 ) NOT NULL ;
|
||||
ALTER TABLE `co_documenti` ADD `id_sezionale` int(11) NOT NULL ;
|
||||
|
||||
-- Creo tabella sezionali
|
||||
CREATE TABLE IF NOT EXISTS `co_sezionali` (
|
||||
@ -180,39 +180,38 @@ CREATE TABLE IF NOT EXISTS `co_sezionali` (
|
||||
`idautomezzo` int(11) NULL ,
|
||||
`note` text NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
|
||||
|
||||
);
|
||||
|
||||
-- Popolo con i sezionali di default
|
||||
INSERT INTO `co_sezionali` (`id`, `nome`, `maschera`, `dir`, idautomezzo, `note`) VALUES
|
||||
INSERT INTO `co_sezionali` (`id`, `nome`, `maschera`, `dir`, `idautomezzo`, `note`) VALUES
|
||||
(1, 'Standard vendite', '###YY', 'entrata', NULL, ''),
|
||||
(2, 'Standard acquisti', '####', 'uscita', NULL,'');
|
||||
|
||||
|
||||
-- Collego le fatture esistenti al sezionale di default
|
||||
UPDATE `co_documenti` SET idsezionale='1' WHERE `idtipodocumento` IN(SELECT `id` FROM `co_tipidocumento` WHERE `co_tipidocumento`.`dir`='entrata');
|
||||
UPDATE `co_documenti` SET idsezionale='2' WHERE `idtipodocumento` IN(SELECT `id` FROM `co_tipidocumento` WHERE `co_tipidocumento`.`dir`='uscita');
|
||||
|
||||
UPDATE `co_documenti` SET `id_sezionale`='1' WHERE `idtipodocumento` IN (SELECT `id` FROM `co_tipidocumento` WHERE `co_tipidocumento`.`dir`='entrata');
|
||||
UPDATE `co_documenti` SET `id_sezionale`='2' WHERE `idtipodocumento` IN (SELECT `id` FROM `co_tipidocumento` WHERE `co_tipidocumento`.`dir`='uscita');
|
||||
|
||||
-- Innesto modulo sezionali sotto "Contabilità"
|
||||
INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES
|
||||
(NULL, 'Sezionali', 'Sezionali', 'sezionali', '{ "main_query": [ { "type": "table", "fields": "Tipo documenti, Nome, Maschera, Magazzino, Note", "query": "SELECT `id`, `nome` AS `Nome`, `maschera` AS `Maschera`, (SELECT nome FROM dt_automezzi WHERE dt_automezzi.id = idautomezzo) AS Magazzino, IF(`dir`=''entrata'', ''Documenti di vendita'', ''Documenti di acquisto'') AS `Tipo documenti`, `note` AS `Note` FROM `co_sezionali` HAVING 2=2 ORDER BY `Tipo documenti`, `Nome`"} ]}', '', 'fa fa-database', '2.2', '2.2', 1, 12, 1, 1);
|
||||
|
||||
|
||||
-- Aggiungo impostazione predefinita
|
||||
INSERT INTO `zz_settings` (`idimpostazione`, `nome`, `valore`, `tipo`, `editable`, `sezione`) VALUES
|
||||
(NULL, 'Sezionale predefinito fatture di vendita', '1', 'query=SELECT id, CONCAT(nome, '': '', maschera) AS descrizione FROM co_sezionali WHERE dir=''entrata'' ORDER BY nome', 1, 'Fatturazione'),
|
||||
(NULL, 'Sezionale predefinito fatture di acquisto', '2', 'query=SELECT id, CONCAT(nome, '': '', maschera) AS descrizione FROM co_sezionali WHERE dir=''uscita'' ORDER BY nome', 1, 'Fatturazione');
|
||||
|
||||
-- Aggiorno widget Fatturato con i sezionali
|
||||
UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT(SUM((SELECT SUM(subtotale+iva-sconto) FROM co_righe_documenti WHERE iddocumento=co_documenti.id)+iva_rivalsainps+rivalsainps+bollo-ritenutaacconto), 2), ",", "#"), ".", ","), "#", "."), "€") AS dato FROM co_documenti WHERE idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir="entrata") |sezionale_entrata| AND data >= "|period_start|" AND data <= "|period_end|" AND 1=1' WHERE `zz_widgets`.`name` = 'Fatturato';
|
||||
|
||||
-- Aggiorno widget Fatturato con |idsezionale|
|
||||
UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT(SUM((SELECT SUM(subtotale+iva-sconto) FROM co_righe_documenti WHERE iddocumento=co_documenti.id)+iva_rivalsainps+rivalsainps+bollo-ritenutaacconto), 2), ",", "#"), ".", ","), "#", "."), "€") AS dato FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir="entrata") |idsezionale| AND data >= "|period_start|" AND data <= "|period_end|" AND 1=1' WHERE `zz_widgets`.`name` = 'Fatturato';
|
||||
-- Aggiorno widget Acquisti con i sezionali
|
||||
UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT((SELECT ABS(SUM(da_pagare))), 2), ",", "#"), ".", ","), "#", "."), "€") AS dato FROM (co_scadenziario INNER JOIN co_documenti ON co_scadenziario.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE dir=''uscita'' |sezionale_uscita| AND data_emissione >= "|period_start|" AND data_emissione <= "|period_end|"' WHERE `zz_widgets`.`name` = 'Acquisti';
|
||||
|
||||
-- Aggiorno widget Acquisti con |idsezionale|
|
||||
UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT((SELECT ABS(SUM(da_pagare))), 2), ",", "#"), ".", ","), "#", "."), "€") AS dato FROM (co_scadenziario INNER JOIN co_documenti ON co_scadenziario.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE dir=''uscita'' |idsezionale| AND data_emissione >= "|period_start|" AND data_emissione <= "|period_end|"' WHERE `zz_widgets`.`name` = 'Acquisti';
|
||||
-- Aggiorno widget Crediti da clienti con i sezionali
|
||||
UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT(SUM((SELECT SUM(subtotale+iva-sconto) FROM co_righe_documenti WHERE iddocumento=co_documenti.id)+iva_rivalsainps+rivalsainps+bollo-ritenutaacconto), 2), ",", "#"), ".", ","), "#", "."), "€") AS dato FROM co_documenti WHERE idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir="entrata") AND idstatodocumento = (SELECT id FROM co_statidocumento WHERE descrizione="Emessa") |sezionale_entrata| AND data >= "|period_start|" AND data <= "|period_end|" AND 1=1' WHERE `zz_widgets`.`name` = 'Crediti da clienti' ;
|
||||
|
||||
-- Aggiorno widget Crediti da clienti con |idsezionale|
|
||||
UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT(SUM((SELECT SUM(subtotale+iva-sconto) FROM co_righe_documenti WHERE iddocumento=co_documenti.id)+iva_rivalsainps+rivalsainps+bollo-ritenutaacconto), 2), ",", "#"), ".", ","), "#", "."), "€") AS dato FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir="entrata") AND idstatodocumento = (SELECT id FROM co_statidocumento WHERE descrizione="Emessa") |idsezionale| AND data >= "|period_start|" AND data <= "|period_end|" AND 1=1' WHERE `zz_widgets`.`name` = 'Crediti da clienti' ;
|
||||
-- Aggiorno i moduli Fattura con i sezionali
|
||||
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `co_documenti` INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id` WHERE 1=1 AND `dir` = ''uscita'' |sezionale_uscita| AND `data` >= ''|period_start|'' AND `data` <= ''|period_end|'' HAVING 2=2 ORDER BY `data` DESC, CAST(IF(numero_esterno='''', numero, numero_esterno) AS UNSIGNED) DESC' WHERE `name` = 'Fatture di acquisto';
|
||||
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `co_documenti` INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id` WHERE 1=1 AND `dir` = ''entrata'' |sezionale_entrata| AND `data` >= ''|period_start|'' AND `data` <= ''|period_end|'' HAVING 2=2 ORDER BY `data` DESC, CAST(numero_esterno AS UNSIGNED) DESC' WHERE `name` = 'Fatture di vendita';
|
||||
|
||||
-- Help text per widget Fatturato
|
||||
UPDATE `zz_widgets` SET `help` = 'Fatturato IVA inclusa.' WHERE `zz_widgets`.`name` = 'Fatturato';
|
||||
@ -235,7 +234,7 @@ CREATE TABLE IF NOT EXISTS `zz_fields` (
|
||||
PRIMARY KEY (`id`),
|
||||
FOREIGN KEY (`id_module`) REFERENCES `zz_modules`(`id`) ON DELETE CASCADE
|
||||
FOREIGN KEY (`id_plugin`) REFERENCES `zz_plugins`(`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB;
|
||||
);
|
||||
|
||||
--
|
||||
-- Struttura della tabella `zz_fields`
|
||||
@ -248,4 +247,4 @@ CREATE TABLE IF NOT EXISTS `zz_field_record` (
|
||||
`value` text NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
FOREIGN KEY (`id_field`) REFERENCES `zz_fields`(`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB;
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user