|
Автоматическое присвоение № и даты договорам с клиентами в УТ 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) Покажите как нужно, зачем негатив писать, у меня получилось присвоить номер, правда он с префиксом и одно и тоже число на всех создаваемых. Если не можете помочь, то всего доброго. Буду капать дальше.!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |