|   |   | 
| 
 | Автоматическое присвоение № и даты договорам с клиентами в УТ 11.4 | ☑ | ||
|---|---|---|---|---|
| 0
    
        VID1234 31.01.20✎ 13:55 | 
        Привет. Подскажите пожалуйста как включить или доработать, чтобы при создании договора с клиентами и т.п программа автоматически присваивала № и дату как в других документах.     | |||
| 1
    
        lubitelxml 31.01.20✎ 14:06 | 
        Включить мне кажется никак, доработать не сложно. В процедуре ПриСозданииНаСервере нужно получить последний номер уже внесенного договора и прибавить 1, дата - ТекущаяДата()     | |||
| 2
    
        VID1234 31.01.20✎ 14:17 | 
        (1) А как можете прямо написать, а то я дуб дубом, а уже от примера я допетрю. А то у меня сложности именно с этим     | |||
| 3
    
        VID1234 31.01.20✎ 14:19 | 
        (1) и где именно документа договоры нет, обработка или модуль общий, где это вообще     | |||
| 4
    
        _Дайвер_ 31.01.20✎ 14:22 | ||||
| 5
    
        Deon 31.01.20✎ 15:00 | 
        (0) Договоры - это справочник. И он разве код автоматом не проставляет?     | |||
| 6
    
        goodprog 31.01.20✎ 15:04 | 
        (5) там другой реквизит отвечает за номер договора     | |||
| 7
    
        VID1234 31.01.20✎ 15:04 | 
        (5) почему то нет. Пытаюсь найти в документах подобное, там же автоматом, но там странный код
 Процедура ИзменитьЗаголовкиПоВариантуОформленияПродажи() Если Объект.ВариантОформленияПродажи = Перечисления.ВариантыОформленияПродажи.АктНаПередачуПрав Тогда АвтоЗаголовок = Ложь; Если ЗначениеЗаполнено(Объект.Ссылка) Тогда Шаблон = НСтр("ru='%1 %2 от %3'"); Иначе Шаблон = НСтр("ru='%1 (создание)'"); КонецЕсли; ЗаголовокТекстом = НСтр("ru = 'Акт на передачу прав'"); Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, ЗаголовокТекстом, Объект.Номер, Объект.Дата); Иначе АвтоЗаголовок = Истина; Заголовок = ""; КонецЕсли; КонецПроцедуры | |||
| 8
    
        VID1234 31.01.20✎ 15:05 | 
        (6) какой?     | |||
| 9
    
        lubitelxml 31.01.20✎ 15:07 | 
        Открываем модуль формы элементы справочник Договоры. Идем в процедуру при создании. Вытаскиваем через запрос МАКСИМУМ(Договоры.НомерДоговора) ну или как там реквизит называется. Строк 10 всего     | |||
| 10
    
        Deon 31.01.20✎ 15:14 | 
        (9) Возможно, номер лучше перед записью получить. Ибо открытие новой формы у 2х пользователей будет пытаться записать один и тот же номер     | |||
| 11
    
        lubitelxml 31.01.20✎ 15:18 | 
        (10) согласен     | |||
| 12
    
        goodprog 31.01.20✎ 15:19 | 
        (10) полностью не избавит от дублирования номеров)/
 Делаешь новый док - называешь его нумерация))) Дальше после записи договора, создаешь его, затем после записи дока - отправляешь новый номер в свой договор)))) профит | |||
| 13
    
        lubitelxml 31.01.20✎ 15:21 | 
        (12) ну уж тогда не док, а РС, ну или константу )))     | |||
| 14
    
        VID1234 31.01.20✎ 15:21 | 
        (12) а как? сделаю я новый документ, а форма у документа какая? как присвоить № этого документа к договору.     | |||
| 15
    
        VID1234 31.01.20✎ 15:22 | 
        (13) подскажите как, что в константе прописать и как связать     | |||
| 16
    
        VladZ 31.01.20✎ 15:26 | 
        Я бы добавил новый документ. Назвал бы его "Нумерация договоров". Нумерация объектов: текстовая в пределах года.
 В форму договора добавил бы кнопку "Получить номер по порядку". При нажатии на кнопку программа создавала бы документ, записывала его. И номер документа тащила в договор (плюс привязку к документ Нумерация договоров). Если привязка справочник Договор - документ "Нумерация договоров" уже указана - ничего не делать плюс закрыть доступ к кнопке получения номера. | |||
| 17
    
        VID1234 31.01.20✎ 15:32 | 
        (16) блин как все сложно, странно что разработчики не сделали этого!     | |||
| 18
    
        goodprog 31.01.20✎ 15:35 | 
        (17) да ничего сложного блин, тут уже тебя стебут все и вся, какой к черту документ новый     | |||
| 19
    
        goodprog 31.01.20✎ 15:39 | 
        Номер = Код;
 Дата = ТекущаяДАта(); Все что тебе надо | |||
| 20
    
        VID1234 31.01.20✎ 15:40 | 
        (18) Спасибо.     | |||
| 21
    
        VID1234 31.01.20✎ 15:40 | 
        Лучше бы так помогали! Вот так вот и живем. Зато все православные и патриоты!     | |||
| 22
    
        VID1234 31.01.20✎ 16:13 | 
        (19) ))) а куда вставить?(((     | |||
| 23
    
        goodprog 31.01.20✎ 16:15 | 
        (22) Ну приехали     | |||
| 24
    
        goodprog 31.01.20✎ 16:17 | 
        (22) http://catalog.mista.ru/public/440819/
 Вообще-то уже сделано, можно пользоваться) | |||
| 25
    
        VID1234 31.01.20✎ 17:03 | 
        (24) А как до ума довести
 //VID( Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | МАКСИМУМ(ДоговорыКонтрагентов.Номер) КАК Номер |ИЗ | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов |ГДЕ | ДоговорыКонтрагентов.Наименование = ""Основной договор"" | И ДоговорыКонтрагентов.ТипДоговора = ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.СПокупателем) | И ДоговорыКонтрагентов.Дата >= &Дата"; Запрос.УстановитьПараметр("Дата",'20140527'); НовыйНомер = СокрЛП(Запрос.выполнить().Выгрузить().Получить(0).Номер); ДлинаНомера = СтрДлина(НовыйНомер); Если ДлинаНомера Тогда //отсекаем три последних символа и перебираем строку пока она числовая, при появлении строковых символов прерываем Для Сч = 3 По ДлинаНомера Цикл КодСимвола = КодСимвола(Сред(НовыйНомер,ДлинаНомера-Сч,1)); Если КодСимвола>=48 И КодСимвола<=57 Тогда ЧисловойНомер = Сред(НовыйНомер,ДлинаНомера-Сч,1) + ЧисловойНомер; Иначе Прервать; КонецЕсли; КонецЦикла; //числовую составляющую увеличиваем на 1 ЧисловойНомер = Число(ЧисловойНомер)+1; //собираем номер НовыйНомер = Сред(НовыйНомер,1,ДлинаНомера-Сч)+Формат(ЧисловойНомер,"ЧГ=")+Прав(НовыйНомер,3); Иначе НовыйНомер = 1; КонецЕсли; //VID) | |||
| 26
    
        goodprog 31.01.20✎ 17:08 | 
        (25) я бы постеснялся такое людям показывать     | |||
| 27
    
        VID1234 31.01.20✎ 17:20 | 
        (26) почему     | |||
| 28
    
        goodprog 31.01.20✎ 17:22 | 
        (27) потому что это нечто ужасное особенно запрос     | |||
| 29
    
        VID1234 31.01.20✎ 17:29 | 
        (28) Покажите как нужно, зачем негатив писать, у меня получилось присвоить номер, правда он с префиксом и одно и тоже число на всех создаваемых. Если не можете помочь, то всего доброго. Буду капать дальше.!     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |