====== Генерація номерів угод ====== Починаючи з релізу 1.1.9 доступна базова підтримка генерації номеру договору абонента згідно шаблону. Це все працює тільки за умови увімкненої опції [[alteriniconf|alter.ini]] **CONTRACT_AUTOGEN** \\ Регулюється двома власними параметрами **alter.ini**: ;Рядок шаблону для створення номеру угоди. CONTRACT_GEN_TEMPLATE="" ;Визначає положення нулів (ведучих або замикаючих) у договорі, створеному відповідно до CONTRACT_GEN_TEMPLATE CONTRACT_GEN_TEMPLATE_LEADING_ZEROES=1 ===== Трохи про принципи роботи цієї штуки ===== Ще раз повторимося, що це все працює тільки з включеною опцією **CONTRACT_AUTOGEN**. \\ Далі - мається на увазі, що угода може мати 3 частини: * перша - «до номерної частини» * друга - власне є «номерною частиною» * третя - «після номерної частини» Приймаємо як даність, що перша і третя частини в нас статичні, в той час як друга (номерна) частина - змінюється, представляючи собою, власне, порядковий номер угоди та **виглядає так** (наявність пробілів між числами та комою/фігурними дужками - **не допускаєтся**): {6,22} * де 1-е число містить загальну довжину бажаної номерної частини (6 у прикладі вище) * а 2-е число представляє собою початковий номер для самого першого згенерованого договору (22 у прикладі вище) Наявність обох частин номерного шаблону - **обов'язкова**, так як хоча другий параметр і використовується лише один раз - він дуже важливий для, власне, початку процесу генерації угод. \\ В той же час - наявність будь-якої із //статичних// частин - не обов'язкова від слова зовсім. ===== Приклади ===== Ctrct{5,1}D - буде перетворено в «**Ctrct00001D**», якщо //CONTRACT_GEN_TEMPLATE_LEADING_ZEROES// увімкнено або в «**Ctrct10000D**», якщо //CONTRACT_GEN_TEMPLATE_LEADING_ZEROES// вимкнено {6,22} - буде перетворено на «**000022**» або в «**220000**» відповідно до значення //CONTRACT_GEN_TEMPLATE_LEADING_ZEROES//.