Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помощь благотворительному фонду помощи хосписам "Вера"
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Помощь благотворительному фонду помощи хосписам "Вера"

Страниц (1): [1]
 

1. enterpr1se - 30 Января, 2017 - 21:24:42 - перейти к сообщению
День добрый!

Мы благотворительный фонд помощи хосписам "Вера" (hospicefund.ru), один из старейших и наиболее доверяемых фондов в России (почитайте про нас в СМИ), внедряем документооборот на базе 1С Битрикс. Что можем делаем сами, но некоторые вещи без программирования сделать невозможно а в штате нет php программистов.

Сейчас стоит задача генерировать договоры и сопутствующую документацию по шаблону, используя данные в базе Битрикса, поскольку сотрудников на этот объем бумаги не хватает.

Мы ищем программиста, который хочет сделать доброе дело и помог бы нам реализовать эту функцию. Я сформулировал ТЗ.

Контакты все дам в личной переписке

ТЗ

О фонде:
Благотворительный фонд помощи хосписам «Вера». Создан в 2006 году, Фонд помогает материально 10 региональным хосписам и нескольким сотням семей с неизлечимо больными (паллиативными детьми). В попечительский совет входит и активно участвует в жизни фонда актриса Ингеборга Дабкунайте, основатель фонда А́нна Константи́новна (Ню́та) Федерме́ссер - член Совета общественных организаций по защите прав пациентов при Департаменте здравоохранения г. Москвы, а с 2016 года - руководитель медучреждения Центра паллиативной медицины Департамента здравоохранения г. Москвы (см Википедию)

Бизнес-задача:
Выпускать на печать формы документов, генерируемые на основании реквизитов элементов нескольких связанных инфоблоков Битрикс. Сейчас сотрудники фонда ведут базу закупаемых подопечным мед товаров в инфоблоках типа процесс Битрикс24.
Введение
В модуле интернет-магазин Битрикс есть функционал печатные формы, он позволяет быстро запустить на печать такие документы некоторого заказа, как счет фактура, накладная с реквизитами самого интернет-магазина и получателя заказа и т.п. Здесь необходим такой же точно функционал, но есть свои особенности:
• Сторон процесса три: Фонд, Поставщик, Получатель. Реквизиты фонда можно принять константой.
• Форм документов больше: Заявление родителя в Фонд на получение помощи, Договор между Фондом Поставщиком и Получателем товара на поставку (три различных формы), Заявление родителя в Фонд на оплату доставки товара.
• Заявки родителей на получение помощи появляются как элементы ИБ в ориентировочных ценах, перед заключением договора поставщик цены уточняет, соответственно необходима возможность вносить эти уточненные цены в какое-то поле, чтобы генеримые формы выходили по уточненным ценам, а не ориентировочным.
Требования:
Конкретная реализация – будь то переток данных из инфоблоков в ИнтернетМагазин Битрикс и генерация через функцию печатные формы или же прямая генерация из инфоблоков не так важна.
1. Интерфейс – если можно как-либо интегрировать на страницу компонента процессы без модификации кода компонента (как вариант повесить в конец страницы с процессом кнопочку и js код, который считает только отмеченные элементы и откроет новое окно в бразуере ), было бы совсем хорошо, но отдельная страница на php тоже устроит
2. Доступ к функции ограничить или группой или только для тех, у кого есть право на чтение инфоблока «Потребности», где хранятся все данные о закупаемых мед товарах
3. Работа с данными только через API Битрикс
4. корректное наименование переменных, минимальное комментирование
5. В общем случае процесс должен выглядеть так:
a. выбор сотрудником из всей базы заказов мед товаров только тех которые должны подлежат оформлению в рамках одного конкретного договора (иногда это неизвестно заранее, то есть заранее заданного id договора в некотором поле нет), для этого применяем к инфоблоку «Потребности» фильтр по полям:
i. Адресат тип связь с другим инфоблоком (это ребенок которому закупаем),
ii. поставщик тип связь с другим инфоблоком
iii. временного интервала (по полю дата начала активности в ИБ)
b. получаем таблицу перечень с ячейками для галочек (можно в одну страницу без пролистывания) всех закупаемых в этом временном интервале товаров по этому поставщику и адресату. В перечне вывести поля «Название», «Дата начала активности», «Детальное описание», Свойства «Общая сумма с НДС», Свойства «Количество», Свойства «Номер договора»
c. Сотрудник помечает галочками оформляемые в рамках этого договора элементы ИБ Потребности (предусмотреть галочку выбрать все)
d. Далее возникает или изначально есть выбор галочками какие документы , где либо возникает (или изначально есть) поле номер договора.
e. Далее 2 варианта исполнения на выбор исполнителя:
i. 1 вариант: При условии предварительной настройки печатных форм Интернет Магазина Битрикс сформировать в ИМ Битрикс новый заказ, внести в заказ все товары, в поля заказа внести все необходимые данные для генерации формы, вывести на экран ссылку на функцию печатные формы этого вновь созданного заказа.
ii. 2 вариант:
1. вывести на экран выбор генерируемых документов из: Заявки на помощь, Договор поставки (3 типа) с приложением, и кнопки подтвердить,
2. в случае если одним из оформляемых документов является договор и для любого из оформляемых элементов ИБ Потребности не пусто поле номер договора (это поле заполняется как итог генерации договоров а значит по этой потребности уже генерировался договор) вывести предупреждение - продолжить да / нет
3. если среди элементов инфоблоков не все поля и свойства, требуемые для заполнения сейчас выбранных форм заполнены – выдать предупреждение – продолжить да/нет с указанием чего не хватает
4. если подтверждаемся - спрашиваем у оператора номер договора и дату договора (можно оставить пустыми, а эти сами поля можно запрашивать на шаге 1, это не имеет значения)
5. выводим как печатных формах ИнтернетМагазина раздельные окна со сгенерированным контентом
6. во всех элементах ИБ проставляем поле номер и дата договора из введенного оператором (чтобы потом было понятно что уже сделано а что нет)
iii. любой другой рабочий вариант, если есть идеи как реализовать задачу легче, то можно обсудить

Модель данных и используемые поля:

Данные хранятся в 4 инфоблоках Битрикс (типа Процессы Битрикс24):
Поставщики, поля:
• Наименование (полное фирменное)
• Подписант и основание для заполнения шапки договора
• Реквизиты для заполнения окончания договора
Один
К
Многим
Товары (Полный товарный каталог), поля:
• Наименование
• Ставка НДС
Один
к
многим
Потребности (Это и есть закупаемый товар/услуга, каждая потребность это позиция в договоре поставки), поля:
• Наименование
• Количество
• Общая цена (имеется ввиду цена за ед. * количество ед.) с НДС
• Номер договора
Многие
К
одному
Адресаты (это дети которым закупается), поля:
• ФИО получателя помощи
• ФИО законного представителя получателя
• Пасп данные законного представителя
• Адрес фактического проживания
• Адрес регистрации
• Диагноз получателя помощи
• Дата рождения получателя помощи
• Телефон законного представителя

Сами договоры как отдельную сущность не ведем, просто размечаем их в поле Номер договора инфоблока Потребности

Собственно все эти поля нужно положить в переменные и вставить в шаблоны документов, вывести на печать

Шаблоны в приложении – при начале работы выдам реальные шаблоны, конкретная текстовка договоров поменяется, но общая конструкция размер текста , заполняемые поля останется точно такой же.
2. enterpr1se - 02 Февраля, 2017 - 13:02:37 - перейти к сообщению
нашли исполнителя.

 

Powered by ExBB FM 1.0 RC1