diff --git a/db/db.sql b/db/db.sql index 8470e56d7..76c97d398 100644 --- a/db/db.sql +++ b/db/db.sql @@ -1576,15 +1576,19 @@ INSERT INTO saltypes (st_id, salcode, salname, salshortname, disabled) VALUES(7, INSERT INTO saltypes (st_id, salcode, salname, salshortname, disabled) VALUES(8, 300, 'ЕСВ', 'ЕСВ', 0); -INSERT INTO options (optname, optvalue) VALUES('api', 'YTozOntzOjM6ImV4cCI7czowOiIiO3M6Mzoia2V5IjtzOjQ6InRlc3QiO3M6NToiYXR5cGUiO3M6MToiMSI7fQ=='); -INSERT INTO options (optname, optvalue) VALUES('common', 'YTozOTp7czo5OiJxdHlkaWdpdHMiO3M6MToiMCI7czo4OiJhbWRpZ2l0cyI7czoxOiIwIjtzOjEwOiJkYXRlZm9ybWF0IjtzOjU6ImQubS5ZIjtzOjExOiJwYXJ0aW9udHlwZSI7czoxOiIxIjtzOjY6InBob25lbCI7czoyOiIxMCI7czo2OiJwcmljZTEiO3M6MTg6ItCg0L7Qt9C00YDRltCx0L3QsCI7czo2OiJwcmljZTIiO3M6MTI6ItCe0L/RgtC+0LLQsCI7czo2OiJwcmljZTMiO3M6MDoiIjtzOjY6InByaWNlNCI7czowOiIiO3M6NjoicHJpY2U1IjtzOjA6IiI7czo4OiJkZWZwcmljZSI7czowOiIiO3M6ODoic2hvcG5hbWUiO3M6MDoiIjtzOjg6InRzX2JyZWFrIjtzOjI6IjYwIjtzOjg6InRzX3N0YXJ0IjtzOjU6IjA5OjAwIjtzOjY6InRzX2VuZCI7czo1OiIxODowMCI7czoxMToiY2hlY2tzbG9nYW4iO3M6MDoiIjtzOjExOiJhdXRvYXJ0aWNsZSI7aToxO3M6MTA6InVzZXNudW1iZXIiO3M6MToiMCI7czoxMDoidXNlc2Nhbm5lciI7aTowO3M6MTY6InVzZW1vYmlsZXNjYW5uZXIiO2k6MDtzOjk6InVzZWltYWdlcyI7aTowO3M6MTQ6InByaW50b3V0cXJjb2RlIjtpOjA7czoxNDoibm9jaGVja2FydGljbGUiO2k6MDtzOjE1OiJzaG93YWN0aXZldXNlcnMiO2k6MDtzOjg6InNob3djaGF0IjtpOjA7czoxMDoidXNlY2F0dHJlZSI7aTowO3M6OToidXNlYnJhbmNoIjtpOjA7czoxMDoibm9hbGxvd2ZpeiI7aTowO3M6MTA6ImFsbG93bWludXMiO2k6MDtzOjY6InVzZXZhbCI7aTowO3M6NjoiY2FwY2hhIjtpOjA7czo5OiJudW1iZXJ0dG4iO2k6MDtzOjk6InBheXR5cGVpbiI7czoxOiIwIjtzOjEwOiJwYXl0eXBlb3V0IjtzOjE6IjAiO3M6MTI6ImFsbG93bWludXNtZiI7aTowO3M6NzoiY2FzaGllciI7czowOiIiO3M6MTA6ImFjdHVhbGRhdGUiO2k6MTcwNDA2MDAwMDtzOjE0OiJzcHJlYWRkZWxpdmVyeSI7aTowO3M6MTE6ImJheWRlbGl2ZXJ5IjtpOjA7fQ=='); -INSERT INTO options (optname, optvalue) VALUES('discount', 'YToxODp7czo4OiJmaXJzdGJheSI7czoyOiIxMSI7czo2OiJib251czEiO3M6MzoiMS4xIjtzOjY6ImxldmVsMiI7czowOiIiO3M6NjoiYm9udXMyIjtzOjM6IjEuNCI7czo2OiJzdW1tYTEiO3M6MzoiMTAwIjtzOjY6InN1bW1hMiI7czo0OiIxMDAwIjtzOjY6ImJvbnVzMyI7czoxOiIzIjtzOjY6InN1bW1hMyI7czo0OiIzMDAwIjtzOjY6ImJvbnVzNCI7czoxOiI0IjtzOjY6InN1bW1hNCI7czo0OiI0MDAwIjtzOjU6ImRpc2MxIjtzOjE6IjEiO3M6MTA6ImRpc2NzdW1tYTEiO3M6MToiMCI7czo1OiJkaXNjMiI7czoxOiIzIjtzOjEwOiJkaXNjc3VtbWEyIjtzOjE6IjAiO3M6NToiZGlzYzMiO3M6MToiNyI7czoxMDoiZGlzY3N1bW1hMyI7czoxOiIwIjtzOjU6ImRpc2M0IjtzOjA6IiI7czoxMDoiZGlzY3N1bW1hNCI7czowOiIiO30='); -INSERT INTO options (optname, optvalue) VALUES('food', 'YToxNTp7czo4OiJ3b3JrdHlwZSI7czoxOiIyIjtzOjk6InByaWNldHlwZSI7czo2OiJwcmljZTEiO3M6ODoiZGVsaXZlcnkiO2k6MTtzOjY6InRhYmxlcyI7aToxO3M6NDoicGFjayI7aToxO3M6NDoibWVudSI7aToxO3M6NDoibmFtZSI7czo2OiJkZGRkZGQiO3M6NToicGhvbmUiO3M6ODoiNTU1NTU1NTUiO3M6NjoidGltZXBuIjtzOjI6IjExIjtzOjY6InRpbWVzYSI7czowOiIiO3M6NjoidGltZXN1IjtzOjA6IiI7czoxMjoiZm9vZGJhc2VtZW51IjtzOjE6IjAiO3M6MTY6ImZvb2RiYXNlbWVudW5hbWUiO3M6MDoiIjtzOjk6ImZvb2RtZW51MiI7czoxOiIwIjtzOjEyOiJmb29kbWVudW5hbWUiO3M6MDoiIjt9'); -INSERT INTO options (optname, optvalue) VALUES('printer', 'YTo3OntzOjg6InBtYXhuYW1lIjtzOjE6IjciO3M6OToicHJpY2V0eXBlIjtzOjY6InByaWNlMSI7czoxMToiYmFyY29kZXR5cGUiO3M6NDoiQzEyOCI7czo2OiJwcHJpY2UiO2k6MTtzOjU6InBjb2RlIjtpOjE7czo4OiJwYmFyY29kZSI7aToxO3M6NzoicHFyY29kZSI7aTowO30='); -INSERT INTO options (optname, optvalue) VALUES('salary', 'YTo1OntzOjEzOiJjb2RlYmFzZWluY29tIjtzOjM6IjEwNSI7czoxMDoiY29kZXJlc3VsdCI7czozOiI5MDAiO3M6NDoiY2FsYyI7czoyMTk6InYyMDAgPSB2MTA1DQovL9C'); -INSERT INTO options (optname, optvalue) VALUES('shop', 'YToyMDp7czo3OiJkZWZjdXN0IjtzOjE6IjEiO3M6MTE6ImRlZmN1c3RuYW1lIjtzOjI5OiLQm9C10L7QvdC40LQg0JzQsNGA0YLRi9C90Y7QuiI7czo5OiJkZWZicmFuY2giO047czo5OiJvcmRlcnR5cGUiO3M6MToiMCI7czoxMjoiZGVmcHJpY2V0eXBlIjtzOjY6InByaWNlMSI7czo1OiJlbWFpbCI7czowOiIiO3M6ODoic2hvcG5hbWUiO3M6MTc6ItCd0LDRiCDQvNCw0LPQsNC3IjtzOjEyOiJjdXJyZW5jeW5hbWUiO3M6Njoi0YDRg9CxIjtzOjg6InVzZWxvZ2luIjtpOjA7czo5OiJ1c2VmaWx0ZXIiO2k6MDtzOjEzOiJjcmVhdGVuZXdjdXN0IjtpOjA7czoxMToidXNlZmVlZGJhY2siO2k6MDtzOjExOiJ1c2VtYWlucGFnZSI7aTowO3M6NzoiYWJvdXR1cyI7czoxNjoiUEhBK1BHSnlQand2Y0Q0PSI7czo3OiJjb250YWN0IjtzOjA6IiI7czo4OiJkZWxpdmVyeSI7czowOiIiO3M6NDoibmV3cyI7czowOiIiO3M6NToicGFnZXMiO2E6Mjp7czo0OiJuZXdzIjtPOjEyOiJBcHBcRGF0YUl0ZW0iOjI6e3M6MjoiaWQiO047czo5OiIAKgBmaWVsZHMiO2E6NDp7czo0OiJsaW5rIjtzOjQ6Im5ld3MiO3M6NToidGl0bGUiO3M6MTE6Imtra3JycnJycnJyIjtzOjU6Im9yZGVyIjtzOjE6IjIiO3M6NDoidGV4dCI7czoyNDoiUEhBK1pXVmxaV1ZsWldWbFBDOXdQZz09Ijt9fXM6ODoiYWJvdXRfdXMiO086MTI6IkFwcFxEYXRhSXRlbSI6Mjp7czoyOiJpZCI7TjtzOjk6IgAqAGZpZWxkcyI7YTo0OntzOjQ6ImxpbmsiO3M6ODoiYWJvdXRfdXMiO3M6NToidGl0bGUiO3M6OToi0J4g0L3QsNGBIjtzOjU6Im9yZGVyIjtzOjE6IjMiO3M6NDoidGV4dCI7czozMjoiUEhBK1BHSSswSjRnMEwzUXNOR0JQQzlpUGp3dmNEND0iO319fXM6NToicGhvbmUiO3M6MDoiIjtzOjEwOiJzYWxlc291cmNlIjtzOjE6IjAiO30='); -INSERT INTO options (optname, optvalue) VALUES('val', 'YToyOntzOjc6InZhbGxpc3QiO2E6MTp7aToxNjQyNjc1OTU1O086MTI6IkFwcFxEYXRhSXRlbSI6Mjp7czoyOiJpZCI7aToxNjQyNjc1OTU1O3M6OToiACoAZmllbGRzIjthOjM6e3M6NDoiY29kZSI7czozOiJVU0QiO3M6NDoibmFtZSI7czoxMDoi0JTQvtC70LDRgCI7czo0OiJyYXRlIjtzOjI6IjYwIjt9fX1zOjg6InZhbHByaWNlIjtpOjE7fQ=='); -INSERT INTO options (optname, optvalue) VALUES('version', '6.12.0'); +INSERT INTO `options` (`optname`, `optvalue`) VALUES('api', 'YTozOntzOjM6ImV4cCI7czowOiIiO3M6Mzoia2V5IjtzOjQ6InRlc3QiO3M6NToiYXR5cGUiO3M6MToiMSI7fQ=='); +INSERT INTO `options` (`optname`, `optvalue`) VALUES('common', 'YTo0Mjp7czo5OiJxdHlkaWdpdHMiO3M6MToiMCI7czo4OiJhbWRpZ2l0cyI7czoxOiIwIjtzOjEwOiJkYXRlZm9ybWF0IjtzOjU6ImQubS5ZIjtzOjExOiJwYXJ0aW9udHlwZSI7czoxOiIxIjtzOjY6InBob25lbCI7czoyOiIxMCI7czo2OiJwcmljZTEiO3M6MTg6ItCg0L7Qt9C00YDRltCx0L3QsCI7czo2OiJwcmljZTIiO3M6MTI6ItCe0L/RgtC+0LLQsCI7czo2OiJwcmljZTMiO3M6MDoiIjtzOjY6InByaWNlNCI7czowOiIiO3M6NjoicHJpY2U1IjtzOjA6IiI7czo4OiJkZWZwcmljZSI7czowOiIiO3M6ODoic2hvcG5hbWUiO3M6MDoiIjtzOjg6InRzX2JyZWFrIjtzOjI6IjYwIjtzOjg6InRzX3N0YXJ0IjtzOjU6IjA5OjAwIjtzOjY6InRzX2VuZCI7czo1OiIxODowMCI7czoxMToiY2hlY2tzbG9nYW4iO3M6MDoiIjtzOjExOiJhdXRvYXJ0aWNsZSI7aToxO3M6MTA6InVzZXNudW1iZXIiO3M6MToiMCI7czoxMDoidXNlc2Nhbm5lciI7aTowO3M6MTY6InVzZW1vYmlsZXNjYW5uZXIiO2k6MDtzOjk6InVzZWltYWdlcyI7aTowO3M6MTQ6InByaW50b3V0cXJjb2RlIjtpOjA7czoxNDoibm9jaGVja2FydGljbGUiO2k6MDtzOjE1OiJzaG93YWN0aXZldXNlcnMiO2k6MDtzOjg6InNob3djaGF0IjtpOjA7czoxMDoidXNlY2F0dHJlZSI7aTowO3M6OToidXNlYnJhbmNoIjtpOjA7czoxMDoibm9hbGxvd2ZpeiI7aTowO3M6MTA6ImFsbG93bWludXMiO2k6MDtzOjY6InVzZXZhbCI7aTowO3M6NjoiY2FwY2hhIjtpOjA7czo5OiJudW1iZXJ0dG4iO2k6MDtzOjk6InBheXR5cGVpbiI7czoxOiIwIjtzOjEwOiJwYXl0eXBlb3V0IjtzOjE6IjAiO3M6MTI6ImFsbG93bWludXNtZiI7aTowO3M6NzoiY2FzaGllciI7czowOiIiO3M6MTA6ImFjdHVhbGRhdGUiO2k6MTcwNDA2MDAwMDtzOjE0OiJzcHJlYWRkZWxpdmVyeSI7aTowO3M6MTE6ImJheWRlbGl2ZXJ5IjtpOjA7czo4OiJub3VwZGF0ZSI7aTowO3M6NzoiY2hlY2tpcCI7aTowO3M6NjoiaXBsaXN0IjtzOjA6IiI7fQ=='); +INSERT INTO `options` (`optname`, `optvalue`) VALUES('discount', 'YToxODp7czo4OiJmaXJzdGJheSI7czoyOiIxMSI7czo2OiJib251czEiO3M6MzoiMS4xIjtzOjY6ImxldmVsMiI7czowOiIiO3M6NjoiYm9udXMyIjtzOjM6IjEuNCI7czo2OiJzdW1tYTEiO3M6MzoiMTAwIjtzOjY6InN1bW1hMiI7czo0OiIxMDAwIjtzOjY6ImJvbnVzMyI7czoxOiIzIjtzOjY6InN1bW1hMyI7czo0OiIzMDAwIjtzOjY6ImJvbnVzNCI7czoxOiI0IjtzOjY6InN1bW1hNCI7czo0OiI0MDAwIjtzOjU6ImRpc2MxIjtzOjE6IjEiO3M6MTA6ImRpc2NzdW1tYTEiO3M6MToiMCI7czo1OiJkaXNjMiI7czoxOiIzIjtzOjEwOiJkaXNjc3VtbWEyIjtzOjE6IjAiO3M6NToiZGlzYzMiO3M6MToiNyI7czoxMDoiZGlzY3N1bW1hMyI7czoxOiIwIjtzOjU6ImRpc2M0IjtzOjA6IiI7czoxMDoiZGlzY3N1bW1hNCI7czowOiIiO30='); +INSERT INTO `options` (`optname`, `optvalue`) VALUES('food', 'YToxNTp7czo4OiJ3b3JrdHlwZSI7czoxOiIyIjtzOjk6InByaWNldHlwZSI7czo2OiJwcmljZTEiO3M6ODoiZGVsaXZlcnkiO2k6MTtzOjY6InRhYmxlcyI7aToxO3M6NDoicGFjayI7aToxO3M6NDoibWVudSI7aToxO3M6NDoibmFtZSI7czo2OiJkZGRkZGQiO3M6NToicGhvbmUiO3M6ODoiNTU1NTU1NTUiO3M6NjoidGltZXBuIjtzOjI6IjExIjtzOjY6InRpbWVzYSI7czowOiIiO3M6NjoidGltZXN1IjtzOjA6IiI7czoxMjoiZm9vZGJhc2VtZW51IjtzOjE6IjAiO3M6MTY6ImZvb2RiYXNlbWVudW5hbWUiO3M6MDoiIjtzOjk6ImZvb2RtZW51MiI7czoxOiIwIjtzOjEyOiJmb29kbWVudW5hbWUiO3M6MDoiIjt9'); +INSERT INTO `options` (`optname`, `optvalue`) VALUES('modules', 'YToxMjp7czo3OiJvY3N0b3JlIjtpOjA7czo0OiJzaG9wIjtpOjA7czoxMDoid29vY29tZXJjZSI7aTowO3M6MjoibnAiO2k6MDtzOjY6InByb211YSI7aTowO3M6ODoiaG9yb3Nob3AiO2k6MDtzOjQ6InZkb2MiO2k6MDtzOjU6Imlzc3VlIjtpOjA7czo0OiJub3RlIjtpOjA7czozOiJwcG8iO2k6MDtzOjg6ImNoZWNrYm94IjtpOjA7czo2OiJ2a2Fzc2EiO2k6MDt9'); +INSERT INTO `options` (`optname`, `optvalue`) VALUES('printer', 'YTo3OntzOjg6InBtYXhuYW1lIjtzOjE6IjciO3M6OToicHJpY2V0eXBlIjtzOjY6InByaWNlMSI7czoxMToiYmFyY29kZXR5cGUiO3M6NDoiQzEyOCI7czo2OiJwcHJpY2UiO2k6MTtzOjU6InBjb2RlIjtpOjE7czo4OiJwYmFyY29kZSI7aToxO3M6NzoicHFyY29kZSI7aTowO30='); +INSERT INTO `options` (`optname`, `optvalue`) VALUES('salary', 'YTo1OntzOjEzOiJjb2RlYmFzZWluY29tIjtzOjM6IjEwNSI7czoxMDoiY29kZXJlc3VsdCI7czozOiI5MDAiO3M6NDoiY2FsYyI7czoyMTk6InYyMDAgPSB2MTA1DQovL9C'); +INSERT INTO `options` (`optname`, `optvalue`) VALUES('shop', 'YToyMDp7czo3OiJkZWZjdXN0IjtzOjE6IjEiO3M6MTE6ImRlZmN1c3RuYW1lIjtzOjI5OiLQm9C10L7QvdC40LQg0JzQsNGA0YLRi9C90Y7QuiI7czo5OiJkZWZicmFuY2giO047czo5OiJvcmRlcnR5cGUiO3M6MToiMCI7czoxMjoiZGVmcHJpY2V0eXBlIjtzOjY6InByaWNlMSI7czo1OiJlbWFpbCI7czowOiIiO3M6ODoic2hvcG5hbWUiO3M6MTc6ItCd0LDRiCDQvNCw0LPQsNC3IjtzOjEyOiJjdXJyZW5jeW5hbWUiO3M6Njoi0YDRg9CxIjtzOjg6InVzZWxvZ2luIjtpOjA7czo5OiJ1c2VmaWx0ZXIiO2k6MDtzOjEzOiJjcmVhdGVuZXdjdXN0IjtpOjA7czoxMToidXNlZmVlZGJhY2siO2k6MDtzOjExOiJ1c2VtYWlucGFnZSI7aTowO3M6NzoiYWJvdXR1cyI7czoxNjoiUEhBK1BHSnlQand2Y0Q0PSI7czo3OiJjb250YWN0IjtzOjA6IiI7czo4OiJkZWxpdmVyeSI7czowOiIiO3M6NDoibmV3cyI7czowOiIiO3M6NToicGFnZXMiO2E6Mjp7czo0OiJuZXdzIjtPOjEyOiJBcHBcRGF0YUl0ZW0iOjI6e3M6MjoiaWQiO047czo5OiIAKgBmaWVsZHMiO2E6NDp7czo0OiJsaW5rIjtzOjQ6Im5ld3MiO3M6NToidGl0bGUiO3M6MTE6Imtra3JycnJycnJyIjtzOjU6Im9yZGVyIjtzOjE6IjIiO3M6NDoidGV4dCI7czoyNDoiUEhBK1pXVmxaV1ZsWldWbFBDOXdQZz09Ijt9fXM6ODoiYWJvdXRfdXMiO086MTI6IkFwcFxEYXRhSXRlbSI6Mjp7czoyOiJpZCI7TjtzOjk6IgAqAGZpZWxkcyI7YTo0OntzOjQ6ImxpbmsiO3M6ODoiYWJvdXRfdXMiO3M6NToidGl0bGUiO3M6OToi0J4g0L3QsNGBIjtzOjU6Im9yZGVyIjtzOjE6IjMiO3M6NDoidGV4dCI7czozMjoiUEhBK1BHSSswSjRnMEwzUXNOR0JQQzlpUGp3dmNEND0iO319fXM6NToicGhvbmUiO3M6MDoiIjtzOjEwOiJzYWxlc291cmNlIjtzOjE6IjAiO30='); +INSERT INTO `options` (`optname`, `optvalue`) VALUES('sms', 'YToxMTp7czoxMjoic21zY2x1YnRva2VuIjtzOjA6IiI7czoxMjoic21zY2x1YmxvZ2luIjtzOjA6IiI7czoxMToic21zY2x1YnBhc3MiO3M6MDoiIjtzOjk6InNtc2NsdWJhbiI7czowOiIiO3M6MTA6InNtc2NsdWJ2YW4iO3M6MDoiIjtzOjEyOiJzbXNzZW15dG9rZW4iO3M6MDoiIjtzOjEyOiJzbXNzZW15ZGV2aWQiO3M6MDoiIjtzOjExOiJmbHlzbXNsb2dpbiI7czowOiIiO3M6MTA6ImZseXNtc3Bhc3MiO3M6MDoiIjtzOjg6ImZseXNtc2FuIjtzOjA6IiI7czo3OiJzbXN0eXBlIjtzOjE6IjAiO30='); +INSERT INTO `options` (`optname`, `optvalue`) VALUES('val', 'YToyOntzOjc6InZhbGxpc3QiO2E6MTp7aToxNjQyNjc1OTU1O086MTI6IkFwcFxEYXRhSXRlbSI6Mjp7czoyOiJpZCI7aToxNjQyNjc1OTU1O3M6OToiACoAZmllbGRzIjthOjM6e3M6NDoiY29kZSI7czozOiJVU0QiO3M6NDoibmFtZSI7czoxMDoi0JTQvtC70LDRgCI7czo0OiJyYXRlIjtzOjI6IjYwIjt9fX1zOjg6InZhbHByaWNlIjtpOjE7fQ=='); +INSERT INTO `options` (`optname`, `optvalue`) VALUES('version', '6.12.0'); + + diff --git a/www/app/entity/category.php b/www/app/entity/category.php index 62aae6dc3..763be912a 100644 --- a/www/app/entity/category.php +++ b/www/app/entity/category.php @@ -22,7 +22,7 @@ protected function init() { protected function afterLoad() { - \App\Helper::log($this->detail); + $xml = @simplexml_load_string($this->detail); $this->price1 = (string)($xml->price1[0]); diff --git a/www/app/entity/doc/order.php b/www/app/entity/doc/order.php index b94a5149b..11c09e944 100644 --- a/www/app/entity/doc/order.php +++ b/www/app/entity/doc/order.php @@ -239,7 +239,6 @@ public function reserve() { } } - } //отмена резерва public function unreserve() { @@ -301,5 +300,34 @@ public function DoBalans() { } } - + /** + * список неотправленных позиций + * + */ + public function getNotSendedItem() { + $notsendqty=[]; + $sendqty=[]; + $notsend=0; + $docs= Document::find("state >=5 and meta_name in ('GoodsIssue','TTN') and parent_id=". $this->document_id); + foreach($docs as $d) { + foreach($d->unpackDetails('detaildata') as $item){ + if(!isset($sendqty[$item->item_id]) ) $sendqty[$item->item_id]=0; + + $sendqty[$item->item_id] += $item->quantity; + } + } + foreach($this->unpackDetails('detaildata') as $item){ + if(($sendqty[$item->item_id] ?? 0) ==0) { + $notsend=$item->quantity; + } else { + $notsend=$item->quantity - $sendqty[$item->item_id]; + } + if($notsend > 0) { + $notsendqty[$item->item_id] = $notsend; + } + + } + + return $notsendqty; + } } diff --git a/www/app/entity/doc/ordercust.php b/www/app/entity/doc/ordercust.php index 537b78518..a54534f81 100644 --- a/www/app/entity/doc/ordercust.php +++ b/www/app/entity/doc/ordercust.php @@ -59,4 +59,35 @@ public function getRelationBased() { return $list; } + + /** + * список неоприходованых позиций + * + */ + public function getNotReceivedItems() :array{ + $notrecqty=[]; + $recqty=[]; + $notrec=0; + $docs= Document::find("state >=5 and meta_name in ('GoodsReceipt') and parent_id=". $this->document_id); + foreach($docs as $d) { + foreach($d->unpackDetails('detaildata') as $item){ + if(!isset($recqty[$item->item_id]) ) $recqty[$item->item_id]=0; + + $recqty[$item->item_id] += $item->quantity; + } + } + foreach($this->unpackDetails('detaildata') as $item){ + if(($recqty[$item->item_id] ?? 0) ==0) { + $notrec=$item->quantity; + } else { + $notrec=$item->quantity - $recqty[$item->item_id]; + } + if($notrec > 0) { + $notrecqty[$item->item_id]= $notrec; + } + + } + + return $notrecqty; + } } diff --git a/www/app/entity/doc/ttn.php b/www/app/entity/doc/ttn.php index 65a3779c7..13e04481a 100644 --- a/www/app/entity/doc/ttn.php +++ b/www/app/entity/doc/ttn.php @@ -275,25 +275,7 @@ public function onState($state, $oldstate) { } } - $common = \App\System::getOptions("common"); - - if ($this->parent_id > 0) { - $order = Document::load($this->parent_id); - - $list = $order->getChildren('TTN'); - - if (count($list) == 1 && $common['numberttn'] <> 1) { //только эта ТТН - if ($state == Document::STATE_DELIVERED && ($order->state == Document::STATE_INSHIPMENT || $order->state == Document::STATE_READYTOSHIP || $order->state == Document::STATE_INPROCESS)) { - $order->updateStatus(Document::STATE_DELIVERED); - } - if ($state == Document::STATE_INSHIPMENT && ($order->state == Document::STATE_INPROCESS || $order->state == Document::STATE_READYTOSHIP)) { - $order->updateStatus(Document::STATE_INSHIPMENT); - } - if ($state == Document::STATE_READYTOSHIP && $order->state == Document::STATE_INPROCESS) { - $order->updateStatus(Document::STATE_READYTOSHIP); - } - } - } + } public function getRelationBased() { diff --git a/www/app/entity/entry.php b/www/app/entity/entry.php index 36fb54784..3928cc37c 100644 --- a/www/app/entity/entry.php +++ b/www/app/entity/entry.php @@ -78,7 +78,7 @@ public static function getQuantity($date = 0, $stock = 0, $customer = 0, $emp = $conn = \ZDB\DB::getConnect(); $where = " 1=1"; if ($date > 0) { - $where = $where . " date(document_date) <= " . $conn->DBDate($date); + $where = $where . " document_date <= " . $conn->DBDate($date); } if ($emp > 0) { @@ -109,7 +109,7 @@ public static function getAmount($date = 0, $stock = 0, $customer = 0, $emp = 0) $conn = \ZDB\DB::getConnect(); $where = " 1=1"; if ($date > 0) { - $where = $where . " and date(document_date) <= " . $conn->DBDate($date); + $where = $where . " and document_date <= " . $conn->DBDate($date); } if ($emp > 0) { diff --git a/www/app/entity/stock.php b/www/app/entity/stock.php index 4b0a4624a..5f696706c 100644 --- a/www/app/entity/stock.php +++ b/www/app/entity/stock.php @@ -118,7 +118,7 @@ public static function getQuantity($stock_id, $date = null) { $stock = Stock::load($stock_id); if ($date > 0) { $conn = \ZDB\DB::getConnect(); - $where = " stock_id = {$stock_id} and date(document_date) <= " . $conn->DBDate($date); + $where = " stock_id = {$stock_id} and document_date <= " . $conn->DBDate($date); $sql = " select coalesce(sum(quantity),0) AS quantity from entrylist_view where " . $where; return $conn->GetOne($sql); } else { diff --git a/www/app/entity/subscribe.php b/www/app/entity/subscribe.php index dc18ca43f..2a2c686e5 100644 --- a/www/app/entity/subscribe.php +++ b/www/app/entity/subscribe.php @@ -296,7 +296,7 @@ private function sendmsg($text, $options=[]){ $ret = self::sendSMS($options['phone'], $text); } if (strlen($options['email']) > 0 && $this->msg_type == self::MSG_EMAIL) { - + // отправляем в очередь если включен планировщик if(System::useCron()) { $task = new \App\Entity\CronTask(); $task->tasktype=\App\Entity\CronTask::TYPE_SUBSEMAIL; diff --git a/www/app/modules/note/entity/topic.php b/www/app/modules/note/entity/topic.php index f65ed1b8d..2537bc3b5 100644 --- a/www/app/modules/note/entity/topic.php +++ b/www/app/modules/note/entity/topic.php @@ -17,27 +17,40 @@ protected function init() { protected function beforeSave() { parent::beforeSave(); - //упаковываем данные в detail + + /* $this->content = ""; $this->detail = base64_encode($this->detail) ; $this->content .= "{$this->detail}"; $this->content .= "1"; $this->content .= "{$this->updatedon}"; $this->content .= ""; - - return true; + */ + + $content=[] ; + $content['detail'] =$this->detail ; + $content['updatedon'] =$this->updatedon ; + $this->content = serialize($content) ; + } protected function afterLoad() { - //распаковываем данные из detail - $xml = @simplexml_load_string($this->content); - - $this->detail = (string)($xml->detail[0]); - $this->isbasa64 = (int)($xml->isbasa64[0]); - if($this->isbasa64==1) { - $this->detail = base64_decode($this->detail) ; + + if(strpos($this->content,'') ===0 ) { + $xml = @simplexml_load_string($this->content); + + $this->detail = (string)($xml->detail[0]); + $this->isbasa64 = (int)($xml->isbasa64[0]); + if($this->isbasa64==1) { + $this->detail = base64_decode($this->detail) ; + } + $this->updatedon = (int)($xml->updatedon[0]); + } else { + $content = unserialize($this->content) ; + $this->updatedon = $content['updatedon'] ; + $this->detail = $content['detail'] ; } - $this->updatedon = (int)($xml->updatedon[0]); + parent::afterLoad(); } diff --git a/www/app/modules/ocstore/orders.php b/www/app/modules/ocstore/orders.php index 864cf8a3a..1aee00aef 100644 --- a/www/app/modules/ocstore/orders.php +++ b/www/app/modules/ocstore/orders.php @@ -92,7 +92,7 @@ public function filterOnSubmit($sender) { foreach ($data['orders'] as $ocorder) { - $cnt = $conn->getOne("select count(*) from documents_view where (meta_name='Order' or meta_name='TTN') and content like '%{$ocorder['order_id']}%'") ; + $cnt = $conn->getOne("select count(*) from documents_view where (meta_name='Order' or meta_name='TTN') and content like '%{$ocorder['order_id']}%' and (CURRENT_DATE - INTERVAL 1 MONTH) < document_date ") ; if (intval($cnt) > 0) { //уже импортирован continue; diff --git a/www/app/modules/shop/pages/admin/dashboard.php b/www/app/modules/shop/pages/admin/dashboard.php index 7400ad6da..9e75edc5d 100644 --- a/www/app/modules/shop/pages/admin/dashboard.php +++ b/www/app/modules/shop/pages/admin/dashboard.php @@ -85,8 +85,8 @@ public function updateGraph() { $this->_tvars['ord'] = json_encode($ord); $sql = " content LIKE '%1%' " ; - $sql .= " and date(document_date) <= " . $conn->DBDAte(time()); - $sql .= " and date(document_date) > " . $conn->DBDAte(strtotime("- 30 day", time())); + $sql .= " and (document_date) <= " . $conn->DBDAte(time()); + $sql .= " and (document_date) > " . $conn->DBDAte(strtotime("- 30 day", time())); $items = array(); $cats = array(); @@ -151,7 +151,7 @@ public function updateGraph() { $sql = " state in (9,10,20) and content LIKE '%1%' - and date(document_date) <= {$to} and date(document_date) > {$from} " ; + and (document_date) <= {$to} and (document_date) > {$from} " ; $docs = \App\Entity\Doc\Document::find($sql); diff --git a/www/app/modules/wc/items.php b/www/app/modules/wc/items.php index 5d00e4efc..340854785 100644 --- a/www/app/modules/wc/items.php +++ b/www/app/modules/wc/items.php @@ -174,9 +174,7 @@ public function onUpdateQty($sender) { return; } $c = count($data); - - \App\Helper::log($page*$c); - + if ($c == 0) { break; } diff --git a/www/app/modules/wc/orders.php b/www/app/modules/wc/orders.php index deb2af6ce..5ab18a97e 100644 --- a/www/app/modules/wc/orders.php +++ b/www/app/modules/wc/orders.php @@ -217,7 +217,7 @@ public function onImport($sender) { public function onRefresh($sender) { - $this->_eorders = Document::find("meta_name='Order' and content like '%0%' and state <> " . Document::STATE_NEW); + $this->_eorders = Document::find("meta_name='Order' and content like '%0%' and (CURRENT_DATE - INTERVAL 1 MONTH) < document_date and state <> " . Document::STATE_NEW); $this->updateform->orderslist->Reload(); } diff --git a/www/app/pages/doc/goodsissue.php b/www/app/pages/doc/goodsissue.php index 8d938977c..079b6cecb 100644 --- a/www/app/pages/doc/goodsissue.php +++ b/www/app/pages/doc/goodsissue.php @@ -190,22 +190,8 @@ public function __construct($docid = 0, $basedocid = 0) { $notfound = array(); $order = $basedoc->cast(); - //проверяем что уже есть отправка - $list = $order->getChildren('TTN'); - - if (count($list) > 0 && $common['numberttn'] <> 1) { - - $this->setError('У замовлення вже є відправки'); - App::Redirect("\\App\\Pages\\Register\\GIList"); - return; - } - $list = $order->getChildren('GoodsIssue'); - - if (count($list) > 0 && $common['numberttn'] <> 1) { - - $this->setError('У замовлення вже є відправки'); - App::Redirect("\\App\\Pages\\Register\\GIList"); - return; + if($order->getNotSendedItem() > 0){ + $this->setWarn('Позиції по цьому замовленню вже відправлені') ; } $this->docform->total->setText(H::fa($order->amount)); diff --git a/www/app/pages/doc/goodsreceipt.php b/www/app/pages/doc/goodsreceipt.php index 216186827..57c87f6d1 100644 --- a/www/app/pages/doc/goodsreceipt.php +++ b/www/app/pages/doc/goodsreceipt.php @@ -215,10 +215,24 @@ public function __construct($docid = 0, $basedocid = 0) { $this->docform->customer->setText($basedoc->customer_name); $this->docform->val->setValue(0); $this->docform->rate->setText(1); + $this->docform->basedoc->setText($basedoc->document_number); $order = $basedoc->cast(); - $this->docform->basedoc->setText($order->document_number); - $this->_itemlist = $basedoc->unpackDetails('detaildata'); + $nr=$order->getNotReceivedItems(); + if(count($nr)==0) { + $this->setWarn('Всі позиції вже доставлені') ; + } + $this->_itemlist = []; + + foreach($order->unpackDetails('detaildata') as $item){ + if($nr[$item->item_id] ??0 > 0 ) { + $item->quantity = $nr[$item->item_id] ; + $this->_itemlist[] = $item; + + } + + } + $this->CalcTotal(); $this->CalcPay(); } @@ -691,10 +705,7 @@ public function savedocOnClick($sender) { } $file = $this->docform->scan->getFile(); - if ($file['size'] > 10000000) { - $this->setError("Файл більше 10 МБ!"); - return; - } + if ($this->_doc->payed == 0) { $this->_doc->headerdata['payment'] = 0; @@ -733,16 +744,18 @@ public function savedocOnClick($sender) { } if ($this->_doc->parent_id > 0) { //закрываем заказ - if ($this->_doc->payamount > 0 && $this->_doc->payamount > $this->_doc->payed) { - - } else { $order = Document::load($this->_doc->parent_id); - if ($order->meta_name =="OrderCust" && $order->state == Document::STATE_INPROCESS) { - $order->updateStatus(Document::STATE_CLOSED); - - $this->setSuccess("Заявка {$order->document_number} закрита"); - } - } + + if ($order->meta_name =="OrderCust"){ + $order = $order->cast(); + $nr=$order->getNotReceivedItems(); + if(count($nr)==0){ // все доставлено + if($order->state == Document::STATE_INPROCESS || $order->state == Document::STATE_INSHIPMENT ) { + $order->updateStatus(Document::STATE_DELIVERED); + } + } + } + } //обновляем курс diff --git a/www/app/pages/doc/ttn.php b/www/app/pages/doc/ttn.php index 775bac194..36c2435df 100644 --- a/www/app/pages/doc/ttn.php +++ b/www/app/pages/doc/ttn.php @@ -190,26 +190,12 @@ public function __construct($docid = 0, $basedocid = 0) { $notfound = array(); $order = $basedoc->cast(); - //проверяем что уже есть отправка - $list = $order->getChildren('TTN'); - - if (count($list) > 0 && $common['numberttn'] <> 1) { - - $this->setError('У замовлення вже є відправки'); - App::Redirect("\\App\\Pages\\Register\\GIList"); - return; - } - $list = $order->getChildren('GoodsIssue'); - - if (count($list) > 0 && $common['numberttn'] <> 1) { - - $this->setError('У замовлення вже є відправки'); - App::Redirect("\\App\\Pages\\Register\\GIList"); - return; + if($order->getNotSendedItem() > 0){ + $this->setWarn('Позиції по цьому замовленню вже відправлені') ; } + $this->docform->total->setText($order->amount); - if($order->headerdata['store']>0) { $this->docform->store->setValue($order->headerdata['store']); diff --git a/www/app/pages/options.php b/www/app/pages/options.php index 1a7274b3e..20eec489e 100644 --- a/www/app/pages/options.php +++ b/www/app/pages/options.php @@ -120,11 +120,7 @@ public function __construct() { $this->business->add(new CheckBox('useval')); $this->business->add(new CheckBox('printoutqrcode')); - - - $this->business->add(new CheckBox('numberttn')); - - + $this->business->add(new CheckBox('spreaddelivery')); $this->business->add(new CheckBox('baydelivery')); @@ -150,7 +146,7 @@ public function __construct() { $this->business->usesnumber->setValue($common['usesnumber']??0); - $this->business->numberttn->setChecked($common['numberttn']); + $this->business->spreaddelivery->setChecked($common['spreaddelivery']); $this->business->baydelivery->setChecked($common['baydelivery']); @@ -411,8 +407,6 @@ public function saveBusinessOnClick($sender) { $common['spreaddelivery'] = $this->business->spreaddelivery->isChecked() ? 1 : 0; $common['baydelivery'] = $this->business->baydelivery->isChecked() ? 1 : 0; - $common['numberttn'] = $this->business->numberttn->isChecked() ? 1 : 0; - System::setOptions("common", $common); diff --git a/www/app/pages/register/grlist.php b/www/app/pages/register/grlist.php index 015dd2ba4..fb5a7f6be 100644 --- a/www/app/pages/register/grlist.php +++ b/www/app/pages/register/grlist.php @@ -41,7 +41,7 @@ public function __construct() { $this->filter->add(new TextInput('searchnumber')); $this->filter->add(new TextInput('searchtext')); - $this->filter->add(new DropDownChoice('status', array(0 => 'Відкриті', 1 => 'Не проведені', 2 => 'Не сплачені', 3 => 'Всі'), 0)); + $this->filter->add(new DropDownChoice('status', array(0 => 'Відкриті', 1 => 'Не сплачені', 2 => 'Всі'), 0)); $this->filter->add(new DropDownChoice('searchcomp', Firm::findArray('firm_name', 'disabled<>1', 'firm_name'), 0)); $this->filter->add(new DropDownChoice('fstore', \App\Entity\Store::getList(), 0)); $this->filter->add(new AutocompleteTextInput('searchcust'))->onText($this, 'OnAutoCustomer'); @@ -243,16 +243,13 @@ private function getWhere() { $status = $this->page->filter->status->getValue(); if ($status == 0) { - $where .= " and ( (payamount > 0 and payamount > payed) or (state <>" . Document::STATE_EXECUTED . ")) "; + $where .= " and state >3 and state not in(14,5,9 ) "; } - + if ($status == 1) { - $where .= " and state <>" . Document::STATE_EXECUTED; + $where .= " and state=". Document::STATE_WP; } if ($status == 2) { - $where .= " and (payamount > 0 and payamount > payed)"; - } - if ($status == 3) { } diff --git a/www/app/pages/register/officelist.php b/www/app/pages/register/officelist.php index eb6d852a7..3ed63893d 100644 --- a/www/app/pages/register/officelist.php +++ b/www/app/pages/register/officelist.php @@ -531,10 +531,10 @@ private function getWhere() { $to = $filterform->to->getDate(); if ($from > 0) { - $where .= " and date(document_date) >= " . $conn->DBDate($from); + $where .= " and document_date >= " . $conn->DBDate($from); } if ($to > 0) { - $where .= " and date(document_date) <= " . $conn->DBDate($to); + $where .= " and document_date <= " . $conn->DBDate($to); } diff --git a/www/app/pages/register/orderlist.php b/www/app/pages/register/orderlist.php index f942ce41f..3b23d9fcb 100644 --- a/www/app/pages/register/orderlist.php +++ b/www/app/pages/register/orderlist.php @@ -521,19 +521,13 @@ public function updateStatusButtons() { $this->statuspan->resform->setVisible(false); } - if (count($list) > 0 && $common['numberttn'] <> 1) { - $this->statuspan->statusform->bttn->setVisible(false); - } + $list = $this->_doc->getChildren('GoodsIssue'); if(count($list)>0) { $this->statuspan->resform->setVisible(false); } - - if (count($list) > 0 && $common['numberttn'] <> 1) { - $this->statuspan->statusform->bgi->setVisible(false); - } - + if ($this->_doc->hasPayments()) { $this->statuspan->statusform->bpos->setVisible(false); @@ -957,7 +951,7 @@ private function getWhere() { $conn = \ZDB\DB::getConnect(); $filter=$this->page->listpanel->filter; - $where = " meta_name = 'Order' "; + $where = " meta_name = 'Order' and (CURRENT_DATE - INTERVAL 1 MONTH) < document_date "; $salesource =$filter->salesource->getValue(); if ($salesource > 0) { diff --git a/www/app/pages/register/paylist.php b/www/app/pages/register/paylist.php index 8ff4c48e1..6535ad4a4 100644 --- a/www/app/pages/register/paylist.php +++ b/www/app/pages/register/paylist.php @@ -45,7 +45,8 @@ public function __construct() { $this->add(new Form('filter'))->onSubmit($this, 'filterOnSubmit'); $this->filter->add(new DropDownChoice('fmfund', \App\Entity\MoneyFund::getList(), 0)); $this->filter->add(new DropDownChoice('fuser', \App\Entity\User::findArray('username', 'disabled<>1', 'username'), 0)); - $this->filter->add(new Date('from', time())); + $this->filter->add(new DropDownChoice('fsort', [], 0)); + $this->filter->add(new Date('from', strtotime('-1 week'))); $this->filter->add(new Date('to', time())); $this->filter->add(new AutocompleteTextInput('fcustomer'))->onText($this, 'OnAutoCustomer'); @@ -503,9 +504,18 @@ public function getItemCount() { } public function getItems($start=-1, $count=-1, $sortfield = null, $asc = null) { + $sort = $this->page->filter->fsort->getValue(); + $order =" pl_id desc "; + if($sort==1) { + $order =" p.amount desc "; + } + if($sort==2) { + $order =" (0-p.amount) desc "; + } + $conn = \ZDB\DB::getConnect(); - $sql = "select p.*,d.customer_name,d.meta_id,d.document_date from documents_view d join paylist_view p on d.document_id = p.document_id where " . $this->getWhere() . " order by pl_id desc "; + $sql = "select p.*,d.customer_name,d.meta_id,d.document_date from documents_view d join paylist_view p on d.document_id = p.document_id where " . $this->getWhere() . " order by " . $order; if ($count > 0) { $limit =" limit {$start},{$count}"; diff --git a/www/app/pages/register/stocklist.php b/www/app/pages/register/stocklist.php index 0c1873317..93c6a519c 100644 --- a/www/app/pages/register/stocklist.php +++ b/www/app/pages/register/stocklist.php @@ -12,6 +12,7 @@ use Zippy\Html\Form\AutocompleteTextInput; use Zippy\Html\Form\Date; use Zippy\Html\Form\DropDownChoice; +use Zippy\Html\Form\TextInput; use Zippy\Html\Form\Form; use Zippy\Html\Label; use Zippy\Html\Link\ClickLink; @@ -39,7 +40,9 @@ public function __construct() { $this->filter->add(new Date('to', time() + (1 * 24 * 3600))); $this->filter->add(new DropDownChoice('fstore', Store::getList(), H::getDefStore())); $this->filter->add(new AutocompleteTextInput('fitem'))->onText($this, 'OnAutoItem'); - + $this->filter->fitem->onChange($this, "onItem"); + $this->filter->add(new TextInput('fsnumber'))->setVisible(false); + $doclist = $this->add(new DataView('doclist', new StockListDataSource($this), $this, 'doclistOnRow')); $this->add(new Paginator('pag', $doclist)); @@ -83,7 +86,19 @@ public function OnAutoItem($sender) { } return $r; } + public function onItem($sender) { + $this->filter->fsnumber->setVisible(false); + + $item = Item::load($sender->getKey()); + if ($item != null) { + if ($item->useserial == 1) { + $this->filter->fsnumber->setVisible(true); + + } + + } + } //просмотр public function showOnClick($sender) { @@ -117,9 +132,12 @@ private function getWhere() { $store_id = $this->page->filter->fstore->getValue(); $item_id = $this->page->filter->fitem->getKey(); + $snumber = $this->page->filter->fsnumber->getText(); $where = " s.item_id = {$item_id} and date(d.document_date) >= " . $conn->DBDate($this->page->filter->from->getDate()) . " and date(d.document_date) <= " . $conn->DBDate($this->page->filter->to->getDate()); - + if (strlen($snumber) > 0) { + $where .= " and s.snumber=" . $conn->qstr($snumber); + } if ($store_id > 0) { $where .= " and s.store_id=" . $store_id; } diff --git a/www/app/pages/report/balance.php b/www/app/pages/report/balance.php index 4fadb8fd2..1f85a85f3 100644 --- a/www/app/pages/report/balance.php +++ b/www/app/pages/report/balance.php @@ -70,7 +70,7 @@ private function generateReport() { } $stview ="SELECT SUM( (SELECT COALESCE(SUM(quantity), 0) FROM entrylist_view - WHERE entrylist_view.stock_id = store_stock_view.stock_id and date(document_date) < {$dbdt} ) * partion) from store_stock_view "; + WHERE entrylist_view.stock_id = store_stock_view.stock_id and document_date < {$dbdt} ) * partion) from store_stock_view "; $sql = $stview. " where {$brst} item_type= ".Item::TYPE_MAT; $amat = doubleval($conn->GetOne($sql)) ; diff --git a/www/app/pages/report/emptask.php b/www/app/pages/report/emptask.php index 86e7027c4..56bd72995 100644 --- a/www/app/pages/report/emptask.php +++ b/www/app/pages/report/emptask.php @@ -59,8 +59,8 @@ private function generateReport() { $conn = \ZDB\DB::getConnect(); $where = " meta_name='Task' - AND DATE( document_date) >= " . $conn->DBDate($from) . " - AND DATE( document_date) <= " . $conn->DBDate($to) . " + AND document_date >= " . $conn->DBDate($from) . " + AND document_date <= " . $conn->DBDate($to) . " and state= " . Document::STATE_CLOSED; diff --git a/www/app/pages/report/outfood.php b/www/app/pages/report/outfood.php index be9842015..f5ee8fd08 100644 --- a/www/app/pages/report/outfood.php +++ b/www/app/pages/report/outfood.php @@ -67,10 +67,10 @@ private function generateReport() { if($rtype ==0) { $sql = " - SELECT DATE(document_date) AS dt,COUNT(*) AS qty FROM documents_view dv + SELECT document_date AS dt,COUNT(*) AS qty FROM documents_view dv WHERE dv.meta_name='OrderFood' AND state = 9 - AND DATE(dv.document_date) >= " . $conn->DBDate($from) . " - AND DATE(dv.document_date) <= " . $conn->DBDate($to) . " + AND dv.document_date >= " . $conn->DBDate($from) . " + AND dv.document_date <= " . $conn->DBDate($to) . " {$forbar} GROUP BY dt ORDER BY dt diff --git a/www/app/pages/service/armfood.php b/www/app/pages/service/armfood.php index 964506933..bef030b94 100644 --- a/www/app/pages/service/armfood.php +++ b/www/app/pages/service/armfood.php @@ -487,7 +487,7 @@ public function onDocRow($row) { public function updateorderlist($sender) { $conn = \ZDB\DB::getConnect(); - $where = " (state not in(9) or content like '%1%' ) and date(document_date) >= " . $conn->DBDate(strtotime('-1 week')) ; + $where = " (state not in(9) or content like '%1%' ) and document_date >= " . $conn->DBDate(strtotime('-1 week')) ; if ($sender instanceof Form) { $text = trim($sender->searchnumber->getText()); $cust = $sender->searchcust->getKey(); diff --git a/www/app/pages/service/armpos.php b/www/app/pages/service/armpos.php index 1496a1d13..986db442d 100644 --- a/www/app/pages/service/armpos.php +++ b/www/app/pages/service/armpos.php @@ -1518,7 +1518,7 @@ public function OnOpenShift($sender) { } \App\Modules\PPO\PPOHelper::clearStat($this->pos->pos_id); - + //задача для автозакрытия if($this->pos->autoshift >0){ $task = new \App\Entity\CronTask() ; $task->tasktype = \App\Entity\CronTask::TYPE_AUTOSHIFT; @@ -1705,7 +1705,7 @@ public function onDocRow($row) { public function updatechecklist($sender) { $conn = \ZDB\DB::getConnect(); - $where = "meta_name='PosCheck' and date(document_date) >= " . $conn->DBDate(strtotime('-1 month')) ; + $where = "meta_name='PosCheck' and document_date >= " . $conn->DBDate(strtotime('-1 month')) ; if ($sender instanceof Form) { diff --git a/www/app/pages/service/export.php b/www/app/pages/service/export.php index f6ab06d22..36790630f 100644 --- a/www/app/pages/service/export.php +++ b/www/app/pages/service/export.php @@ -250,7 +250,7 @@ public function onDPreview($sender) { $conn = \ZDB\DB::getConnect(); - $sql = "meta_name='{$dt}' and date(document_date) >= " . $conn->DBDate($sender->dfrom->getDate()) . " and date(document_date) <= " . $conn->DBDate($sender->dto->getDate()); + $sql = "meta_name='{$dt}' and document_date >= " . $conn->DBDate($sender->dfrom->getDate()) . " and document_date <= " . $conn->DBDate($sender->dto->getDate()); $this->_docs = Document::find($sql); $this->dformlist->doclist->Reload(); } diff --git a/www/app/system.php b/www/app/system.php index 17b6870ab..d6c698cb7 100644 --- a/www/app/system.php +++ b/www/app/system.php @@ -10,8 +10,8 @@ */ class System { - public const CURR_VERSION = "6.12.0"; - public const PREV_VERSION = "6.11.9"; + public const CURR_VERSION = "6.12.1"; + public const PREV_VERSION = "6.12.0"; public const REQUIRED_DB = "6.12.0"; private static $_options = array(); // для кеширования @@ -231,12 +231,12 @@ public static function checkIP() { /** - * проверка обновлений и ряа параметров настроек - * + * проверка обновлений и ряда параметров настроек + * вызывается раз в неделю */ public static function checkUpdate() { $options = System::getOptions("common"); - if($options['noupdate']==1) { + if(($options['noupdate'] ??0)==1) { return; } $lastcheck=intval( \App\Helper::getKeyVal('lastchecksystem')) ; @@ -257,6 +257,14 @@ public static function checkUpdate() { $n->save(); } + if(System::useCron() == false){ + $n = new \App\Entity\Notify(); + $n->user_id = $user->user_id; + $n->message = "Планувальник вимкнено. Деякі фонові завдання не будуть виконуватись " ; + $n->sender_id = \App\Entity\Notify::SYSTEM; + + $n->save(); + } } if($user->rolename=='admins' ){ diff --git a/www/app/widgets/docview.php b/www/app/widgets/docview.php index 4ad3f80ca..b0d1f6555 100644 --- a/www/app/widgets/docview.php +++ b/www/app/widgets/docview.php @@ -154,13 +154,14 @@ public function loaddata($arg, $post) { $ret['pdoc_id'] = 0; $ret['pdoc_name'] = 0; - $p = Document::load($doc->parent_id); - if($p instanceof Document) { - $ret['pdoc_id'] = $doc->parent_id; - $ret['pdoc_name'] = $p->meta_desc . ' ' . $p->document_number; + if($doc->parent_id >0){ + $p = Document::load($doc->parent_id); + if($p instanceof Document) { + $ret['pdoc_id'] = $doc->parent_id; + $ret['pdoc_name'] = $p->meta_desc . ' ' . $p->document_number. ' ' . $p->getStateName($p->state); + } } - $ret['reldocs'] = array(); return json_encode($ret, JSON_UNESCAPED_UNICODE); @@ -177,7 +178,11 @@ public function loadchilddocs($arg, $post) { $docs = array(); foreach($doc->getChildren() as $d) { - $docs[]=array('id'=>$d->document_id,'name'=>$d->meta_desc . ' ' . $d->document_number,'candel'=>($user->user_id == $d->user_id || $user->rolename =='admins')); + $docs[]=array('id'=>$d->document_id, + 'name'=>$d->meta_desc . ' ' . $d->document_number, + 'status'=>$d->getStateName($d->state), + 'candel'=>($user->user_id == $d->user_id || $user->rolename =='admins') + ); } diff --git a/www/composer.lock b/www/composer.lock index 825af88ec..72b988295 100644 --- a/www/composer.lock +++ b/www/composer.lock @@ -516,16 +516,16 @@ }, { "name": "leon-mbs/ppolib", - "version": "1.5.7", + "version": "1.5.8", "source": { "type": "git", "url": "https://github.com/leon-mbs/ppolib.git", - "reference": "8a383bab5e2745d1ae5d9f045b521248f73b0617" + "reference": "d70d399fa69b1ceb4032a27e116c45b0b8caf0b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/leon-mbs/ppolib/zipball/8a383bab5e2745d1ae5d9f045b521248f73b0617", - "reference": "8a383bab5e2745d1ae5d9f045b521248f73b0617", + "url": "https://api.github.com/repos/leon-mbs/ppolib/zipball/d70d399fa69b1ceb4032a27e116c45b0b8caf0b2", + "reference": "d70d399fa69b1ceb4032a27e116c45b0b8caf0b2", "shasum": "" }, "require": { @@ -546,9 +546,9 @@ "homepage": "https://github.com/leon-mbs/ppolib", "support": { "issues": "https://github.com/leon-mbs/ppolib/issues", - "source": "https://github.com/leon-mbs/ppolib/tree/1.5.7" + "source": "https://github.com/leon-mbs/ppolib/tree/1.5.8" }, - "time": "2024-12-11T00:08:13+00:00" + "time": "2024-12-13T11:17:28+00:00" }, { "name": "leon-mbs/zdb", @@ -1689,12 +1689,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "1fd8b74024b8938b25df3a9971c7ad9d57d4f592" + "reference": "233f7c395ac3b83e3c85aa304f3350bf8897aca5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/1fd8b74024b8938b25df3a9971c7ad9d57d4f592", - "reference": "1fd8b74024b8938b25df3a9971c7ad9d57d4f592", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/233f7c395ac3b83e3c85aa304f3350bf8897aca5", + "reference": "233f7c395ac3b83e3c85aa304f3350bf8897aca5", "shasum": "" }, "conflict": { @@ -2018,6 +2018,7 @@ "laravel/fortify": "<1.11.1", "laravel/framework": "<6.20.45|>=7,<7.30.7|>=8,<8.83.28|>=9,<9.52.17|>=10,<10.48.23|>=11,<11.31", "laravel/laravel": ">=5.4,<5.4.22", + "laravel/pulse": "<1.3.1", "laravel/reverb": "<1.4", "laravel/socialite": ">=1,<2.0.10", "latte/latte": "<2.10.8", @@ -2243,6 +2244,7 @@ "shopware/storefront": "<=6.4.8.1|>=6.5.8,<6.5.8.7-dev", "shopxo/shopxo": "<=6.1", "showdoc/showdoc": "<2.10.4", + "shuchkin/simplexlsx": ">=1.0.12,<1.1.12", "silverstripe-australia/advancedreports": ">=1,<=2", "silverstripe/admin": "<1.13.19|>=2,<2.1.8", "silverstripe/assets": ">=1,<1.11.1", @@ -2280,7 +2282,7 @@ "snipe/snipe-it": "<=7.0.13", "socalnick/scn-social-auth": "<1.15.2", "socialiteproviders/steam": "<1.1", - "spatie/browsershot": "<3.57.4", + "spatie/browsershot": "<5.0.1", "spatie/image-optimizer": "<1.7.3", "spencer14420/sp-php-email-handler": "<1", "spipu/html2pdf": "<5.2.8", @@ -2531,7 +2533,7 @@ "type": "tidelift" } ], - "time": "2024-12-10T21:04:50+00:00" + "time": "2024-12-13T21:04:51+00:00" }, { "name": "sabberworm/php-css-parser", diff --git a/www/index.php b/www/index.php index 999d7b515..69dd54ed7 100644 --- a/www/index.php +++ b/www/index.php @@ -37,7 +37,7 @@ $app = new \App\Application(); $modules = \App\System::getOptions('modules'); - if ($modules['shop'] == 1 && \App\System::getOption('shop', 'usemainpage')==1) { + if (($modules['shop'] ??0)== 1 && \App\System::getOption('shop', 'usemainpage')==1) { $app->Run('\App\Modules\Shop\Pages\Catalog\Main' ); } else { $app->Run($mainpage); diff --git a/www/templates/apihelp.html b/www/templates/apihelp.html index 2295d99be..cdc010be4 100644 --- a/www/templates/apihelp.html +++ b/www/templates/apihelp.html @@ -22,12 +22,14 @@

Формат обміну


Authorization: Bearer

{"jsonrpc": "2.0", "method": "echo", "params": {"say": "Привіт"}, "id": 1} +

+

Ідентифікатор запиту повертається у відповідь і може бути будь яким унікальним у випадку пакетного (batch) запиту, (сервер може бути асинхронним та повернути відповіді у довільному порядку). У випадку відсутності ідентифікатора вважається, що запит - це нотифікація і не потребує відповіді. @@ -37,15 +39,17 @@

Формат обміну


Відповідь має вигляд
{"jsonrpc": "2.0", "result": {"answer": "Привіт"}, "id": 1} +

+

Поля з довільним текстом (наприклад описи) повертаються закодованими в base64

-

+ Коди помилок @@ -73,7 +77,7 @@

Формат обміну

Хибна команда
-

+

Авторизація

Тип авторизації задається в налаштуваннях і може бути на основі JWT токена, Basic аутентифікації @@ -237,7 +241,7 @@

Контрагенти

"params": { "customer_id":"8", - "customer_name":"\"Рога&Копыта\"", + "customer_name":"\"Рога&Копыта\"", "phone":"0991111111", "email":"test@ukr.net", "city":"", @@ -489,8 +493,8 @@

Документи


mf - каса або банкiвський рахунок
branch_id - фiлiя (якщо увiмкнено) -
amount - сума. Якщо >0 створюєтся Прибутковий касовий ордер iнакше Видатковий касовий ордер -
customer_id - контрагент. Якщо задано i сума >0 то оплата вiд покупця. Якщо сума < 0 то оплата постачальнику +
amount - сума. Якщо >0 створюєтся Прибутковий касовий ордер iнакше Видатковий касовий ордер +
customer_id - контрагент. Якщо задано i сума >0 то оплата вiд покупця. Якщо сума < 0 то оплата постачальнику "params": { diff --git a/www/templates/modules/hr/items.html b/www/templates/modules/hr/items.html index 3bb3a5ae7..5d162c90f 100644 --- a/www/templates/modules/hr/items.html +++ b/www/templates/modules/hr/items.html @@ -4,10 +4,10 @@

Експорт товарів в магазин

-    Спецсимволи (типу & ' " `) +    Спецсимволи (типу & ' " `) в назвi або описi можуть викликати проблеми з вигрузкою -
Загрузити категорії +
Загрузити категорії diff --git a/www/templates/modules/np/options.html b/www/templates/modules/np/options.html index 47a254982..1001f19b6 100644 --- a/www/templates/modules/np/options.html +++ b/www/templates/modules/np/options.html @@ -84,7 +84,7 @@
Данi вiдправника за замовчуванням
- +
diff --git a/www/templates/modules/np/ttnlist.html b/www/templates/modules/np/ttnlist.html index abe4f15ed..202d73faf 100644 --- a/www/templates/modules/np/ttnlist.html +++ b/www/templates/modules/np/ttnlist.html @@ -31,7 +31,7 @@

Стан доставок

    Оновити - +
diff --git a/www/templates/modules/ocstore/items.html b/www/templates/modules/ocstore/items.html index 0a5cb863d..31ae010c4 100644 --- a/www/templates/modules/ocstore/items.html +++ b/www/templates/modules/ocstore/items.html @@ -4,10 +4,10 @@

Експорт товарів в магазин

-    Спецсимволи (типу & ' " `) +    Спецсимволи (типу & ' " `) в назвi або описi можуть викликати проблеми з вигрузкою -
Перевiрити з'єднання +
Перевiрити з'єднання
ТТН Сума
- +
- +
diff --git a/www/templates/modules/shop/pages/catalog/catalog.html b/www/templates/modules/shop/pages/catalog/catalog.html index 81bbbe9f5..965bebb28 100644 --- a/www/templates/modules/shop/pages/catalog/catalog.html +++ b/www/templates/modules/shop/pages/catalog/catalog.html @@ -65,7 +65,7 @@ {{#usefeedback}}
- +
diff --git a/www/templates/modules/shop/pages/catalog/cchat.html b/www/templates/modules/shop/pages/catalog/cchat.html index 0f78f5e28..2567633ab 100644 --- a/www/templates/modules/shop/pages/catalog/cchat.html +++ b/www/templates/modules/shop/pages/catalog/cchat.html @@ -40,7 +40,7 @@

Чат по замовленню {{document_number}} вiд {{document_date} {{#isseller}}
Продавець
-
{{msgdate}}
+
{{msgdate}}
@@ -67,8 +67,8 @@

Чат по замовленню {{document_number}} вiд {{document_date} {{/checked}} {{^checked}} - - {{/checked}} + + {{/checked}}

diff --git a/www/templates/modules/shop/pages/catalog/main.html b/www/templates/modules/shop/pages/catalog/main.html index 59add096a..af1ca2cae 100644 --- a/www/templates/modules/shop/pages/catalog/main.html +++ b/www/templates/modules/shop/pages/catalog/main.html @@ -16,7 +16,7 @@
-
+
{{^nouseimages}} diff --git a/www/templates/modules/shop/pages/catalog/menu.html b/www/templates/modules/shop/pages/catalog/menu.html index 2be53742a..772cecdaa 100644 --- a/www/templates/modules/shop/pages/catalog/menu.html +++ b/www/templates/modules/shop/pages/catalog/menu.html @@ -81,7 +81,7 @@

{{smname}} {{#cats}}
-

{{cat_name}}

+

{{cat_name}}

{{#items}} diff --git a/www/templates/modules/shop/pages/catalog/order.html b/www/templates/modules/shop/pages/catalog/order.html index 1cb0a7c36..689eeac6f 100644 --- a/www/templates/modules/shop/pages/catalog/order.html +++ b/www/templates/modules/shop/pages/catalog/order.html @@ -81,7 +81,7 @@

Оформлення замовлення

{{#usepayment}}
- +
+   {{/usefeedback}}
@@ -132,7 +132,7 @@
Вiдгуки
- + + + +
-     
: diff --git a/www/templates/modules/vdoc/doclist.html b/www/templates/modules/vdoc/doclist.html index 71946ba70..86cf4ccb7 100644 --- a/www/templates/modules/vdoc/doclist.html +++ b/www/templates/modules/vdoc/doclist.html @@ -73,7 +73,7 @@

Документи на вiдправку

Вiдправити в Вчасно - +
diff --git a/www/templates/modules/wc/items.html b/www/templates/modules/wc/items.html index 66bd20abd..f716c394e 100644 --- a/www/templates/modules/wc/items.html +++ b/www/templates/modules/wc/items.html @@ -6,7 +6,7 @@

Експорт нових товарів

- Перевiрити з'єднання + Перевiрити з'єднання
- - - - +
@@ -356,11 +356,11 @@ Перелiк товарiв - + + + +
{{item.itemname}} - {{item.item_code}} - {{item.quantity}} - {{item.price}} - + {{item.itemname}} {{item.item_code}} {{item.quantity}} {{item.price}}
diff --git a/www/templates/pages/register/paylist.html b/www/templates/pages/register/paylist.html index 4d5281d47..2bae34c8e 100644 --- a/www/templates/pages/register/paylist.html +++ b/www/templates/pages/register/paylist.html @@ -11,31 +11,71 @@

Журнал платежів

+
+
+
+
+ + +
+ +
+
+
+
+
+ + +
+ - - - - - - - +
+
+
+
+
+ + +
+ +
+
+
+
+
+ + +
+ +
+
+
+
- +

diff --git a/www/templates/pages/register/paytable.html b/www/templates/pages/register/paytable.html index 77ad48c43..f3f9c2541 100644 --- a/www/templates/pages/register/paytable.html +++ b/www/templates/pages/register/paytable.html @@ -65,16 +65,16 @@

Платіжний календар

- +
- +
- +
@@ -95,11 +95,11 @@

Платіжний календар

- +
- +
diff --git a/www/templates/pages/register/prodproclist.html b/www/templates/pages/register/prodproclist.html index d7ae82465..c0121416a 100644 --- a/www/templates/pages/register/prodproclist.html +++ b/www/templates/pages/register/prodproclist.html @@ -139,7 +139,7 @@

Редагування процесу

- +
@@ -196,7 +196,7 @@
Запланована готова продукція
- + Скасувати    Зберегти @@ -229,9 +229,9 @@
Виробничі етапи
- + - +
@@ -243,7 +243,7 @@

Редагування етапу

- +
@@ -254,11 +254,11 @@

Редагування етапу

- +
- +
@@ -283,7 +283,7 @@

Редагування етапу

-

+

diff --git a/www/templates/pages/register/serlist.html b/www/templates/pages/register/serlist.html index 964d3b876..3cdd7de5d 100644 --- a/www/templates/pages/register/serlist.html +++ b/www/templates/pages/register/serlist.html @@ -133,9 +133,9 @@

Журнал послуг

 Коментар  Кiл. - +  Цiна - +   @@ -162,9 +162,9 @@

Журнал послуг

{{/usesnumberitem}}  Кiл. - +  Цiна - + diff --git a/www/templates/pages/register/stocklist.html b/www/templates/pages/register/stocklist.html index fcfeb83de..366b277e7 100644 --- a/www/templates/pages/register/stocklist.html +++ b/www/templates/pages/register/stocklist.html @@ -25,7 +25,12 @@

Журнал руху ТМЦ

- + {{#usesnumber}} + + + + {{/usesnumber}} + diff --git a/www/templates/pages/register/tasklist.html b/www/templates/pages/register/tasklist.html index df0b5780d..765df1785 100644 --- a/www/templates/pages/register/tasklist.html +++ b/www/templates/pages/register/tasklist.html @@ -2,8 +2,7 @@ Журнал нарядів - - + @@ -156,7 +155,7 @@

Журнал нарядів

-
+
diff --git a/www/templates/pages/roles.html b/www/templates/pages/roles.html index 659f33a82..4dba16e87 100644 --- a/www/templates/pages/roles.html +++ b/www/templates/pages/roles.html @@ -34,7 +34,7 @@

Редагування ролі

- +
diff --git a/www/templates/pages/service/armfood.html b/www/templates/pages/service/armfood.html index 7c3445e1b..c66ce4073 100644 --- a/www/templates/pages/service/armfood.html +++ b/www/templates/pages/service/armfood.html @@ -411,7 +411,7 @@
- +
@@ -429,7 +429,7 @@
- +
@@ -614,7 +614,7 @@

 Новий покупець

- +
diff --git a/www/templates/pages/service/armpos.html b/www/templates/pages/service/armpos.html index 42740497d..abde5ddb8 100644 --- a/www/templates/pages/service/armpos.html +++ b/www/templates/pages/service/armpos.html @@ -407,14 +407,14 @@

Оформлення чеку

- +
- +
@@ -508,7 +508,7 @@

Введення товару

- +
{{#showscalebtn}}
@@ -520,7 +520,7 @@

Введення товару

- +
@@ -555,14 +555,14 @@

Введення послуги

-
-
@@ -680,7 +680,7 @@

 Новий контрагент

- +
diff --git a/www/templates/pages/service/discounts.html b/www/templates/pages/service/discounts.html index 3368fd908..aa346a4d3 100644 --- a/www/templates/pages/service/discounts.html +++ b/www/templates/pages/service/discounts.html @@ -469,7 +469,7 @@

Новий промо код

- +
@@ -594,7 +594,7 @@
-
+
diff --git a/www/templates/pages/service/import.html b/www/templates/pages/service/import.html index 25d3cdf8c..8a4c024b8 100644 --- a/www/templates/pages/service/import.html +++ b/www/templates/pages/service/import.html @@ -524,7 +524,7 @@

Імпорт контрагентів {{colemail}} {{colcity}} {{coladdress}} - + {{/list2}}

diff --git a/www/templates/pages/subscribes.html b/www/templates/pages/subscribes.html index 3fd299a0e..aa6789ab4 100644 --- a/www/templates/pages/subscribes.html +++ b/www/templates/pages/subscribes.html @@ -202,7 +202,7 @@

Для виведення списків, наприклад, позицій документа, потрібно додати інформацію мiж тегами - {#list} та {/list>} + {#list} та {/list>}
Всередині рядка списку допускаються наступні теги: @@ -217,16 +217,16 @@
Наприклад:

- Привiт {customer_name}<br>
+ Привiт {customer_name}<br>
Ми впарили тобi наступне
- <table>
- <tr> <th>Товар</th> <th align="right" >Кiл. </th> </tr>
+ <table>
+ <tr> <th>Товар</th> <th align="right" >Кiл. </th> </tr>
{#list}
- <tr> <td>{item_name} </td> <td align="right" >{qty} </td></tr>
+ <tr> <td>{item_name} </td> <td align="right" >{qty} </td></tr>
{/list}
- </table><br>
- До сплати {forpay} чистоганом <br>
- Прайси за <a href="https://price.com/">посиланням</a><br>
+ </table><br>
+ До сплати {forpay} чистоганом <br>
+ Прайси за <a href="https://price.com/">посиланням</a><br>
Пока, лошара

diff --git a/www/templates/pages/systemlog.html b/www/templates/pages/systemlog.html index 1ec0a350c..21c21896e 100644 --- a/www/templates/pages/systemlog.html +++ b/www/templates/pages/systemlog.html @@ -30,7 +30,7 @@
Системнi повiдомлення

-

+

Нове @@ -56,11 +56,11 @@
Файловий лог
- -
    
+                    
+                 
    
               
                 
-
+
diff --git a/www/templates/pages/timesheet.html b/www/templates/pages/timesheet.html index 416262902..274bc633a 100644 --- a/www/templates/pages/timesheet.html +++ b/www/templates/pages/timesheet.html @@ -2,8 +2,7 @@ Табель облiку робочого часу - - + @@ -119,14 +118,14 @@

Новий запис

- +
-
+
-
+
@@ -137,7 +136,7 @@

Новий запис

- +
diff --git a/www/templates/pages/userlogin.html b/www/templates/pages/userlogin.html index d540a304f..a41a43c86 100644 --- a/www/templates/pages/userlogin.html +++ b/www/templates/pages/userlogin.html @@ -51,17 +51,17 @@

{{appname}}

- +
- +
{{#capcha}}
-
diff --git a/www/templates/pages/userprofile.html b/www/templates/pages/userprofile.html index 7dd3bbb5a..987267695 100644 --- a/www/templates/pages/userprofile.html +++ b/www/templates/pages/userprofile.html @@ -19,28 +19,28 @@

Мій профіль

@@ -55,7 +55,7 @@

Мій профіль

@@ -133,7 +133,7 @@

Мій профіль

Принтер чеків

- Опис + Опис
@@ -141,7 +141,7 @@

Принтер чеків

- Опис тут + Опис тут
@@ -181,7 +181,7 @@

Принтер етикеток

- Опис тут + Опис тут
@@ -220,7 +220,7 @@

Принтер етикеток

Електронні ваги

- Мають бути реалізовані в POS сервері. Опис тут + Мають бути реалізовані в POS сервері. Опис тут
@@ -243,13 +243,13 @@

Зміна пароля

- + Перед введенням перевірте розкладку та регістр клавіатури
- +
diff --git a/www/templates/pages/users.html b/www/templates/pages/users.html index 456f732c1..85eb4c3bc 100644 --- a/www/templates/pages/users.html +++ b/www/templates/pages/users.html @@ -68,7 +68,7 @@

Редагування користувача

+ required > Допускаються латинські букви, цифри і підкреслення
@@ -79,7 +79,7 @@

Редагування користувача

diff --git a/www/templates/printforms/cinfo.tpl b/www/templates/printforms/cinfo.tpl index d782ca93e..1291d59e5 100644 --- a/www/templates/printforms/cinfo.tpl +++ b/www/templates/printforms/cinfo.tpl @@ -39,7 +39,7 @@ {{#last}} Останній документ: {{last}} від {{lastdate}} на суму {{lastsum}}. Статус {{laststatus}} - Останні товари: + Останні товари: {{#goods}} diff --git a/www/templates/printforms/doc/goodsissue.tpl b/www/templates/printforms/doc/goodsissue.tpl index 79782a90a..90aae0469 100644 --- a/www/templates/printforms/doc/goodsissue.tpl +++ b/www/templates/printforms/doc/goodsissue.tpl @@ -190,7 +190,7 @@ @@ -161,14 +161,14 @@ {{/payamount}}
{{#isstamp}} - + {{/isstamp}} {{^isstamp}} diff --git a/www/templates/printforms/doc/invoice.tpl b/www/templates/printforms/doc/invoice.tpl index 1bd0bb811..9035afa2e 100644 --- a/www/templates/printforms/doc/invoice.tpl +++ b/www/templates/printforms/doc/invoice.tpl @@ -4,7 +4,7 @@
- +
{{#isstamp}} - + {{/isstamp}} {{#issign}} - + {{/issign}} diff --git a/www/templates/printforms/doc/serviceact.tpl b/www/templates/printforms/doc/serviceact.tpl index 305e535e7..ef8066745 100644 --- a/www/templates/printforms/doc/serviceact.tpl +++ b/www/templates/printforms/doc/serviceact.tpl @@ -128,7 +128,7 @@ {{#isstamp}} - + {{/isstamp}} {{^isstamp}} diff --git a/www/templates/printforms/item_sticker.tpl b/www/templates/printforms/item_sticker.tpl index 382d10bcf..e3f3f5605 100644 --- a/www/templates/printforms/item_sticker.tpl +++ b/www/templates/printforms/item_sticker.tpl @@ -1,6 +1,6 @@ -
+
-
+
@@ -22,7 +22,7 @@ diff --git a/www/templates/printforms/item_tag.tpl b/www/templates/printforms/item_tag.tpl index 48df71fdf..7d298fe10 100644 --- a/www/templates/printforms/item_tag.tpl +++ b/www/templates/printforms/item_tag.tpl @@ -1,6 +1,6 @@
{{name}}
- +
-
+
diff --git a/www/templates/printforms/report/balance.tpl b/www/templates/printforms/report/balance.tpl index 7ab0ce706..907612112 100644 --- a/www/templates/printforms/report/balance.tpl +++ b/www/templates/printforms/report/balance.tpl @@ -5,7 +5,7 @@ Управлiнський баланс - +
{{name}}
diff --git a/www/templates/printforms/report/compareact.tpl b/www/templates/printforms/report/compareact.tpl index 40f149556..7a32b848a 100644 --- a/www/templates/printforms/report/compareact.tpl +++ b/www/templates/printforms/report/compareact.tpl @@ -1,4 +1,4 @@ - +
@@ -39,3 +39,5 @@ {{/_detail}} + +
diff --git a/www/templates/printforms/report/custorder.tpl b/www/templates/printforms/report/custorder.tpl index 5efd55816..283a324d0 100644 --- a/www/templates/printforms/report/custorder.tpl +++ b/www/templates/printforms/report/custorder.tpl @@ -1,4 +1,4 @@ - +
diff --git a/www/templates/printforms/report/emptask.tpl b/www/templates/printforms/report/emptask.tpl index 5afe6e0a0..b3dcef0a1 100644 --- a/www/templates/printforms/report/emptask.tpl +++ b/www/templates/printforms/report/emptask.tpl @@ -1,4 +1,4 @@ - +
diff --git a/www/templates/printforms/report/income.tpl b/www/templates/printforms/report/income.tpl index 3cbf1e32d..c041f120f 100644 --- a/www/templates/printforms/report/income.tpl +++ b/www/templates/printforms/report/income.tpl @@ -1,4 +1,4 @@ - +
diff --git a/www/templates/printforms/report/itemactivity.tpl b/www/templates/printforms/report/itemactivity.tpl index b86e18e43..0e6cf7411 100644 --- a/www/templates/printforms/report/itemactivity.tpl +++ b/www/templates/printforms/report/itemactivity.tpl @@ -1,4 +1,4 @@ -
+
diff --git a/www/templates/printforms/report/itemorder.tpl b/www/templates/printforms/report/itemorder.tpl index fee4e9b03..cb03eac8a 100644 --- a/www/templates/printforms/report/itemorder.tpl +++ b/www/templates/printforms/report/itemorder.tpl @@ -1,4 +1,4 @@ - +
diff --git a/www/templates/printforms/report/noliq.tpl b/www/templates/printforms/report/noliq.tpl index db4a37c42..d76ecc804 100644 --- a/www/templates/printforms/report/noliq.tpl +++ b/www/templates/printforms/report/noliq.tpl @@ -1,4 +1,4 @@ - +
{{^noshowpartion}} - - + + {{/noshowpartion}} @@ -483,8 +483,8 @@ {{^noshowpartion}} - - + + {{/noshowpartion}} diff --git a/www/templates/printforms/report/outfood.tpl b/www/templates/printforms/report/outfood.tpl index 27db1e055..b8bcf691c 100644 --- a/www/templates/printforms/report/outfood.tpl +++ b/www/templates/printforms/report/outfood.tpl @@ -29,7 +29,7 @@ - + {{#_detail}} @@ -63,7 +63,7 @@ - + {{#_detail2}} diff --git a/www/templates/printforms/report/paybalance.tpl b/www/templates/printforms/report/paybalance.tpl index 8499334b6..d18a43fc9 100644 --- a/www/templates/printforms/report/paybalance.tpl +++ b/www/templates/printforms/report/paybalance.tpl @@ -5,14 +5,14 @@ Прибутки та видатки - + - + @@ -93,6 +93,7 @@ {{#is3}} + diff --git a/www/templates/printforms/report/prod.tpl b/www/templates/printforms/report/prod.tpl index d34832d9e..9938b1db9 100644 --- a/www/templates/printforms/report/prod.tpl +++ b/www/templates/printforms/report/prod.tpl @@ -36,7 +36,7 @@ - + {{#_detail}} @@ -76,7 +76,7 @@ - + {{#_detail2}} @@ -103,9 +103,10 @@ @@ -117,7 +118,7 @@ - + {{#_detail3}} diff --git a/www/templates/printforms/report/prrodoclist.tpl b/www/templates/printforms/report/prrodoclist.tpl index a0a0b41f6..3349c8a69 100644 --- a/www/templates/printforms/report/prrodoclist.tpl +++ b/www/templates/printforms/report/prrodoclist.tpl @@ -22,7 +22,7 @@ - + {{#detail}} @@ -48,7 +48,7 @@ - +
diff --git a/www/templates/printforms/report/outcome.tpl b/www/templates/printforms/report/outcome.tpl index 0892918b7..721b24c49 100644 --- a/www/templates/printforms/report/outcome.tpl +++ b/www/templates/printforms/report/outcome.tpl @@ -107,8 +107,8 @@
{{totsumma}}{{totnavar}}{{totnavarproc}}{{totnavar}} {{totnavarproc}}
{{totsumma}}{{totnavar}}{{totnavarproc}}{{totnavar}} {{totnavarproc}} Кіл.
Кіл. На суму
Перiод з {{datefrom}} по {{dateto}}
Прибутки

Деталiзацiя по ТМЦ
Сума
Сума

Готово до виробництва
- Напівфабрикати та готова продукція, які можуть бути виготовлені на {{currdate}}
відповідно до комплектів. + Напівфабрикати та готова продукція, які можуть бути виготовлені на {{currdate}} +
відповідно до комплектів. Якщо матеріал або комплектуючі входять
в кілька позицій, будуть показані всі варіанти. - +
Код Кіл.
ФН Тип Сума
diff --git a/www/templates/printforms/report/reserved.tpl b/www/templates/printforms/report/reserved.tpl index 0f7998d32..8a45a1897 100644 --- a/www/templates/printforms/report/reserved.tpl +++ b/www/templates/printforms/report/reserved.tpl @@ -1,4 +1,4 @@ - +
@@ -31,3 +31,4 @@ {{/_detail}} +
diff --git a/www/templates/widgets/docview.html b/www/templates/widgets/docview.html index ba203be0c..90d4e0e28 100644 --- a/www/templates/widgets/docview.html +++ b/www/templates/widgets/docview.html @@ -60,7 +60,7 @@
-
+
+
@@ -69,6 +69,7 @@
{{item.name}} {{item.status}}
@@ -76,7 +77,7 @@ -
+
diff --git a/www/templates/widgets/itemlist.html b/www/templates/widgets/itemlist.html index 076bf558f..742172470 100644 --- a/www/templates/widgets/itemlist.html +++ b/www/templates/widgets/itemlist.html @@ -27,7 +27,7 @@ -
diff --git a/www/templates/widgets/itemsel.html b/www/templates/widgets/itemsel.html index 149b9e257..723eb5b9f 100644 --- a/www/templates/widgets/itemsel.html +++ b/www/templates/widgets/itemsel.html @@ -16,7 +16,7 @@ {{#manlist}} - {{/manlist}}