Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Автоматическое присвоение № и даты договорам с клиентами в УТ 11.4

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

    Запрос = Новый Запрос; 
Запрос.Текст = 
"ВЫБРАТЬ 
|    МАКСИМУМ(ДоговорыКонтрагентов.Номер) КАК Номер 
|ИЗ 
|    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов 
|ГДЕ 
|    ДоговорыКонтрагентов.Наименование = ""Основной договор"" 
|    И ДоговорыКонтрагентов.ТипДоговора = ЗНАЧЕНИЕ(Перечисление.ТипыДоговоров.СПокупателем) 
|    И ДоговорыКонтрагентов.Дата >= &Дата"; 
Запрос.УстановитьПараметр("Дата",'20140527'); 

НовыйНомер = СокрЛП(Запрос.выполнить().Выгрузить().Получить(0).Номер); 

ДлинаНомера = СтрДлина(НовыйНомер); 

Если ДлинаНомера Тогда 

//отсекаем три последних символа и перебираем строку пока она числовая, при появлении строковых символов прерываем 

Для Сч = 3 По ДлинаНомера Цикл 
КодСимвола = КодСимвола(Сред(НовыйНомер,ДлинаНомера-Сч,1)); 
Если КодСимвола>=48 И КодСимвола<=57 Тогда 
ЧисловойНомер = Сред(НовыйНомер,ДлинаНомера-Сч,1) + ЧисловойНомер; 
Иначе 
Прервать;    
КонецЕсли;    
КонецЦикла;    

//числовую составляющую увеличиваем на 1 

ЧисловойНомер = Число(ЧисловойНомер)+1; 

//собираем номер 

НовыйНомер = Сред(НовыйНомер,1,ДлинаНомера-Сч)+Формат(ЧисловойНомер,"ЧГ=")+Прав(НовыйНомер,3); 

Иначе 

НовыйНомер = 1; 

КонецЕсли; 
//VID)
   goodprog
 
26 - 31.01.20 - 17:08
(25) я бы постеснялся такое людям показывать
   VID1234
 
27 - 31.01.20 - 17:20
(26) почему
   goodprog
 
28 - 31.01.20 - 17:22
(27) потому что это нечто ужасное особенно запрос
   VID1234
 
29 - 31.01.20 - 17:29
(28) Покажите как нужно, зачем негатив писать, у меня получилось присвоить номер, правда он с префиксом и одно и тоже число на всех создаваемых. Если не можете помочь, то всего доброго. Буду капать дальше.!


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.