|   |   | 
| 
 | Изменение окончаний в зависимости от количества покупателей | ☑ | ||
|---|---|---|---|---|
| 0
    
        MSDOS 24.04.12✎ 12:29 | 
        Привет всем! Мы печатаем договора из 1с, с помощью шаблонов Word и заполняемых элементов "поле". На каждый тип договора свой шаблон. В договоре может быть различное количество покупателей (1,2,..,N), в следствие чего во всем договоре меняются окончания, поэтому на каждый тип договора создается еще несколько шаблонов, в зависимости от количества покупателей. В связи с ростом различных типов договоров, решили искать способ создания одного шаблона для n-го количества покупателей. Как проще всего менять все окончания? 
  Делать все слова, меняющие окончания, заполняемыми тоже не выход, потому что их очень много... Возможно кто-то уже решал подобную проблему? | |||
| 1
    
        acsent 24.04.12✎ 12:30 | 
        какие окончания?     | |||
| 2
    
        MSDOS 24.04.12✎ 12:31 | 
        1 покупатель оформил утвердил
  2 покупателя оформили утвердили и т.д... | |||
| 3
    
        comp2006 24.04.12✎ 12:32 | 
        А нельзя каждое слово шаблона, в котором будут меняться окончания сделать элементом "поле"?     | |||
| 4
    
        acsent 24.04.12✎ 12:32 | 
        забей эти слова параметрами     | |||
| 5
    
        Cube 24.04.12✎ 12:33 | 
        (0) Список договоров контрагента, именуемый далее ПЕРЕЧЕНЬ ДОГОВОРОВ:
  Договор1 Договор2 ... ДоговорN | |||
| 6
    
        MSDOS 24.04.12✎ 12:34 | 
        (4) там заполняемых полей около 40-30 используется... и еще с разными окончаниями 60-70 выйдет... слишком много на мой взгляд...     | |||
| 7
    
        Злобный Фей 24.04.12✎ 12:34 | 
        Чисто из любопытства: а че это за договора такие, с множеством покупателей?     | |||
| 8
    
        MSDOS 24.04.12✎ 12:35 | 
        (7) покупка дома, квартиры на несколько человек     | |||
| 9
    
        de Bug 24.04.12✎ 12:49 | 
        (8) 2 покупателя, в дальнейшем именуемые Потерпевшая сторона, заключили Договор о нижеследующем...
  Потерпевшая сторона оформила... утвердила... | |||
| 10
    
        dka80 24.04.12✎ 12:54 | 
        (6) час работы...     | |||
| 11
    
        MSDOS 24.04.12✎ 13:02 | 
        (8) интересный вариант, но он не допускается     | |||
| 12
    
        MSDOS 24.04.12✎ 13:06 | 
        (10) хочется найти, более оригинальное решение, если оно есть...     | |||
| 13
    
        orefkov 24.04.12✎ 13:29 | 
        Вот код на С:
  const char* numberSuffix(int number, const char* s1, const char* s24, const char* s590){ int lastDigit = number % 10; if(lastDigit == 1 && number != 11) return s1; if(lastDigit >= 2 && lastDigit <= 4 && (number < 12 || number > 14)) return s24; return s590; } использование: sprintf(buf, "%s%s", "покупател", numberSuffix(n,"ь", "я", "ей")) А еще можно курить ЧислоПрописью. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |