• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Подскажите С Решение Пары Вопросов В Программировании 1с

  • Автор темы Dlopoel
  • Дата начала
D

Dlopoel

Есть справочник "Клиент", в этом справочнике есть поля "Имя", "Фамилия", "Отчество" и автоматически создаваемое "Наименование". Нужно чтобы когда заносишь данные в первые 3 поля, в наименовании автоматически формировалось "ФИО".
Пример:
Имя: Иван
Фамилия: Иванов
Отчество: Андереев
Итого в Наименовании: Иванов И.А.



Вопрос 2:

Есть справочник "скидка", есть документ "продажа", сейчас я скидку каждому покупателю выбиваю сам, независимо не от чего, а надо, чтобы скидка автоматически вносилась в зависимости от суммы покупки, причем было 3 вычисляемых поля:

1: Сумма покупки

2: Процент скидки (причем если скидки нет, то поле было всегода = 0) (скидка будет 5% > 5000 руб. 10% > 10000 руб. 15% > 20000 руб.)

3: Сумма со скидкой

Заранее спасибо за помощь
 
L

lira89

1) При записи элемента пишешь:

Код:
Процедура ПриЗаписи()
Стр = СокрЛП(Фамилия)+" "+СокрЛП(Имя)+" "+СокрЛП(Отчество);
Фам = Лев(Стр,Найти(Стр," "));	
ИО=СокрЛП(Прав(Стр, СтрДлина(Стр)-Найти(Стр," ")));
Имя = СокрЛП(Лев(ИО, Найти(ИО," ")));
ИмяЗагл = Лев(Имя,1);		
Отчество = СокрЛП(Прав(ИО, СтрДлина(ИО)-Найти(ИО," ")));
ОтчествоЗагл = Лев(Отчество,1);	
Наименование = Фам+" "+ ИмяЗагл+"."+ОтчествоЗагл+".";
КонецПроцедуры

Добавлено: 2) Не совсем понятно: вы пишете, что сами вносите сумму покупки, а как же она тогда должна быть вычисляемой??? Процент скидки высчитывается исходя из суммы покупки? Если да, то в справочник со скидками добавьте реквизиты диапазон сумм в которые попадает ваша скидка и просто выполните поиск в справочнике.
Ну а СуммаСоСкидкой = СуммаПокупки - ((СуммаПокупки*Скидка)/100);
 
T

Tomash

Есть справочник "Клиент", в этом справочнике есть поля "Имя", "Фамилия", "Отчество" и автоматически создаваемое "Наименование". Нужно чтобы когда заносишь данные в первые 3 поля, в наименовании автоматически формировалось "ФИО".
Пример:
Имя: Иван
Фамилия: Иванов
Отчество: Андереев
Итого в Наименовании: Иванов И.А.

повесить на каждое поле общую обработку для наименования
что-то вроде
Код:
ПРоцедура ПриИзмененииПоля()
Наименование = СокрЛП(Фамилия) + " " + Лев(Имя,1) + ". " + Лев(Отчество,1) + ".";
КонецПроцедуры


Вопрос 2:

Есть справочник "скидка", есть документ "продажа", сейчас я скидку каждому покупателю выбиваю сам, независимо не от чего, а надо, чтобы скидка автоматически вносилась в зависимости от суммы покупки, причем было 3 вычисляемых поля:

1: Сумма покупки

2: Процент скидки (причем если скидки нет, то поле было всегода = 0) (скидка будет 5% > 5000 руб. 10% > 10000 руб. 15% > 20000 руб.)

3: Сумма со скидкой

Заранее спасибо за помощь

скидка зависит только от суммы разовой покупки?
тогда всё предельно просто
и поля наверное не нужны, можно обойтись текстом с формулой, например такой

Код:
СокрЛП(Формат(Итог("СуммаСНДС"),"Ч18.2-,"))

Скидку считать вариантов много, например, отдельной процедурой, в которой искать в какой диапазон из справочника попадает сумма текущая покупки

в зависимости от того, как вы формируете документ, можно использовать разные способы вызова этой процедуры, из моего опыта, удобно вешать её на поле Количество, после того, как вы выбрали товар и указали его количество - срабатывает пересчет.
 
V

vbs

Если речь идет о ТиС 1с7.7, тогда оба вопроса сводятся к изобретению двух новых (и не слишком качественных) двухколесных агрегатов
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!