Здравствуйте, раньше, работая в других CRM я знаю, что очень удобно было выписывать счёт следующим образом:
Сначала в прайсе выбираешь нужные товары и их количество, при необходимости добавляя нужные услуги, потом выбираешь контрагента к этому счёту и выписываешь счёт.
Как это реализовано здесь и реализовано ли вообще?
Просто у меня многотысячный прайс в разделе "Справочники"-"Прайс лист". Вот хотелось бы там отмечать галочками товары или вводя в отдельном поле напротив товара/услуги сразу количество, а после полного подбора уже добавлять в счёт нужного клиента из раздела "Компании"-"Контрагенты".
Спасибо всем откликнувшимся!
1
В теме одно сообщение
#1
Отправлено 18 Октябрь 2015 - 16:03
#2
Отправлено 18 Октябрь 2015 - 16:50
В таблице счета заведите себе фиктивную пустую запись и запомните ее ID. Пусть он равен 1 (если таблица до этого была пустой, например).
В таблицу "Прайс-лист" добавьте поле-ссылку на таблицу "Счета". Пусть оно называется "Ссылка".
Создайте таблицу "Позиции счета" с полями "Товар" (ссылка на Таблицу "Прайс-лист" и "Счет" - ссылка на таблицу "Счет", ну и что там вам еще надо - цена, количество, стоимость и т.п.
К таблице "Счет" сделайте подтаблицу "Прайс-лист".
Напишите следующее дополнительное действие, назовем его, скажем, "Включить":
Теперь просто в таблице "Прайс-лист" напротив нужных позиций ставите крыжики в чек-боксах и нажимаете кнопку "Включить". Всем выбранным строчкам присвоится аттрибут 1 и они появляются в подтаблице с ID=1.
Осталось нажать кнопку "Создать новый счет", в котором прописать следующий алгоритм:
В результате все открыженное в прайс-листе окажется в подтаблице "Позиции счета", а в прайсе крыжики снимутся.
Тут есть одна проблема - если одновременно несколько человек начнут крыжить, будут проблемы. Для такого случая в таблице "Прайс-лист" нужно вместо поля "Счет" завести "Счет1" и т.д. и несколько усложнить алгоритм.
Я написал по памяти, не проверял. Когда-то я так делал и работало. Ну даже если не заработает, по крайней мере алгоритм как решить эту задачу будет понятен.
В таблицу "Прайс-лист" добавьте поле-ссылку на таблицу "Счета". Пусть оно называется "Ссылка".
Создайте таблицу "Позиции счета" с полями "Товар" (ссылка на Таблицу "Прайс-лист" и "Счет" - ссылка на таблицу "Счет", ну и что там вам еще надо - цена, количество, стоимость и т.п.
К таблице "Счет" сделайте подтаблицу "Прайс-лист".
Напишите следующее дополнительное действие, назовем его, скажем, "Включить":
line['Счета']=1; // ID позиции прайс-листа
Теперь просто в таблице "Прайс-лист" напротив нужных позиций ставите крыжики в чек-боксах и нажимаете кнопку "Включить". Всем выбранным строчкам присвоится аттрибут 1 и они появляются в подтаблице с ID=1.
Осталось нажать кнопку "Создать новый счет", в котором прописать следующий алгоритм:
$new['Дата']=date("Y-m-d H:i:s", time()); $sID=insert_query($new,"Счета"); $objects = data_table("Прайс-лист", "`status`=0 AND `Счета`=1", "all"); foreach ($objects as $object) { $new['Товар']=$object['ID']; $new['Счет']=$sID; insert_query($new, "Позиции счета"); $new2['Счета']=""; update_query($new2,"Прайс-лист","`id`=".$object['ID']); }
В результате все открыженное в прайс-листе окажется в подтаблице "Позиции счета", а в прайсе крыжики снимутся.
Тут есть одна проблема - если одновременно несколько человек начнут крыжить, будут проблемы. Для такого случая в таблице "Прайс-лист" нужно вместо поля "Счет" завести "Счет1" и т.д. и несколько усложнить алгоритм.
Я написал по памяти, не проверял. Когда-то я так делал и работало. Ну даже если не заработает, по крайней мере алгоритм как решить эту задачу будет понятен.
Сообщение отредактировал Александр Пономарев: 18 Октябрь 2015 - 16:53
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных