Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 04:57

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

Автор VID1234, 31 янв 2020, 13:55

0 Пользователей и 1 гость просматривают эту тему.

VID1234

Привет. Подскажите пожалуйста как включить или доработать, чтобы при создании договора с клиентами и т.п программа автоматически присваивала № и дату как в других документах.

Поиск родных

Цитата: VID1234 от 31 янв 2020, 13:55
Привет. Подскажите пожалуйста как включить или доработать, чтобы при создании договора с клиентами и т.п программа автоматически присваивала № и дату как в других документах.
Непонятно - что спрашивается:
то ли копирвать " № и дату как в других документах" договора, то ли автоматически создавать новые договоры 
Последнее разве так не делается во всех типовых?
Конфигурация и версия - какие?

VID1234

Цитата: Геннадий ОбьГЭС от 01 фев 2020, 11:56
Цитата: VID1234 от 31 янв 2020, 13:55
Привет. Подскажите пожалуйста как включить или доработать, чтобы при создании договора с клиентами и т.п программа автоматически присваивала № и дату как в других документах.
Непонятно - что спрашивается:
то ли копирвать " № и дату как в других документах" договора, то ли автоматически создавать новые договоры 
Последнее разве так не делается во всех типовых?
Конфигурация и версия - какие?
Конфигурация: Управление торговлей, редакция 11 (11.4.10.62), нет создаешь новый договор заполняешь его, если просто сохранить, то он без номера и даты, выбираешь вручную

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

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

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

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

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

//числовую составляющую увеличиваем на 1
ЧисловойНомер = Число(ЧисловойНомер)+1;

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

Иначе

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

КонецЕсли;
//VID)


вставил в справочник, номер присваивается, но только везде один и тот же и 5054 не знаю откуда он его взял, дата не прописывается.

DmitriyF

Цитата: VID1234 от 31 янв 2020, 13:55
Привет. Подскажите пожалуйста как включить или доработать, чтобы при создании договора с клиентами и т.п программа автоматически присваивала № и дату как в других документах.
В документах дата присваивается текущая, соответственно если более ранняя нужна то тоже сами меняете. Дату можно установить при записи договора, просто обычно договора приходят от конкретной даты и ее все равно вручную менять. Запросом можете отсортировать по убывания даты и номера и выбрать только Первую запись, там и будет твой номер, соответственно добавь один и получишь номер. Примерно как то так должно быть.

Теги: Ут11.4 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск