Всем привет.
1. Есть форма на которой располагаются Наименование, Фамилия, Имя , Отчество. Как сделать чтобы ФИО выводилось при записи в строке наименование?
2. Как сделать справочник выбора, чтобы не выпадающим списком, а именно открывалось окно с возможностью выбора из него?
avm3110
13.02.2017, 23:09
1. Есть форма на которой располагаются Наименование, Фамилия, Имя , Отчество. Как сделать чтобы ФИО выводилось при записи в строке наименование?
Вставить код в обработчик формы ПриЗаписи
2. Как сделать справочник выбора, чтобы не выпадающим списком, а именно открывалось окно с возможностью выбора из него?
А поискать в гугле - не? Ведь никто не знает, а что говоря вы хотите. Может это?
http://stop1c.ru/books/1c82_prakt_posob/book1p27/
Может мы о разном?
Ты "вставляешь в модуле объекта или формы?
Зачем нужно делать Справочники.Пациенты.Созда тьЭлемент() если ты находишься "в этом элементе" и значит его нужно только "Записать" ?
Whes
14.02.2017, 17:00
В модуле формы пишу
avm3110
15.02.2017, 05:50
Тогда нужно лишь:
Процедура ПриЗаписи();
Наименование = СокрЛП(Фамилия)+" "+СокрЛП(Имя)+" "+СокрЛП(Отчество);
КонецПроцедуры
Пы.СЫ но не забыть, чтобы обработчик ПриЗаписи был "взведен" для формы
Whes
15.02.2017, 09:50
Тогда нужно лишь:
Процедура ПриЗаписи();
Наименование = СокрЛП(Фамилия)+" "+СокрЛП(Имя)+" "+СокрЛП(Отчество);
КонецПроцедуры
Пы.СЫ но не забыть, чтобы обработчик ПриЗаписи был "взведен" для формы
Спасибо
Whes
15.02.2017, 10:38
Тогда нужно лишь:
Процедура ПриЗаписи();
Наименование = СокрЛП(Фамилия)+" "+СокрЛП(Имя)+" "+СокрЛП(Отчество);
КонецПроцедуры
Пы.СЫ но не забыть, чтобы обработчик ПриЗаписи был "взведен" для формы
А как будет в модуле объекта?
avm3110
15.02.2017, 13:13
Код будет такой же, но тут вопрос "взведения" обработчика.
Если это в модуле формы, но обработчик не взведен, то естественно, что работать не будет
Whes
15.02.2017, 17:04
Есть еще вопрос. Хочу сделать строку в корой будет считаться кол-во полных лет. Написал вставил в модуль формы, а она не считает.
Процедура ПолныхЛет()
Возраст = Дата(ТекущаяДата()) - Дата(ДатаРождения);
Если Месяц(ТекущаяДата()) < Месяц(ДатаРождения) Тогда
Возраст = Возраст - 1;
ИначеЕсли Месяц(ТекущаяДата()) = Месяц(ДатаРождения) Тогда
Если День(ТекущаяДата()) < День(ДатаРождения) Тогда
Возраст = Возраст - 1;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
alexandr_ll
16.02.2017, 07:56
Есть еще вопрос. Хочу сделать строку в корой будет считаться кол-во полных лет. Написал вставил в модуль формы, а она не считает.
Процедура ПолныхЛет()
Возраст = Дата(ТекущаяДата()) - Дата(ДатаРождения);
Если Месяц(ТекущаяДата()) < Месяц(ДатаРождения) Тогда
Возраст = Возраст - 1;
ИначеЕсли Месяц(ТекущаяДата()) = Месяц(ДатаРождения) Тогда
Если День(ТекущаяДата()) < День(ДатаРождения) Тогда
Возраст = Возраст - 1;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Проверьте, каков результат вычисления
Возраст = Дата(ТекущаяДата()) - Дата(ДатаРождения);?
Кстати, почему вы не указываете платформу, конфигурацию и вид приложения? Одни догадки
Whes
16.02.2017, 09:25
Проверьте, каков результат вычисления
Возраст = Дата(ТекущаяДата()) - Дата(ДатаРождения);?
Кстати, почему вы не указываете платформу, конфигурацию и вид приложения? Одни догадки
Ну да бред получается. Там где Дата он должен год считать.
1С 8.3: Технологическая поставка
avm3110
16.02.2017, 10:14
Ну да бред получается. Там где Дата он должен год считать.
На самом деле "не бред":blush:
Дата(ТекущаяДата()) - Дата(ДатаРождения) - это "разность дат" с секундах"
Год(ТекущаяДата()) - Год(ДатаРождения) - это "разность дат" с годах"
Но при этом нужно обработать три ситуации:
"номер месяца" рождения - больше "номера месяца" текущей даты
"номер месяца" рождения - равен "номеру месяца" текущей даты
"номер месяца" рождения - меньше "номера месяца" текущей даты
Ну и все
Whes
16.02.2017, 10:15
Проверьте, каков результат вычисления
Возраст = Дата(ТекущаяДата()) - Дата(ДатаРождения);?
Заменил Дата на Год но результатов 0. Или не так надо было?
Whes
16.02.2017, 10:36
На самом деле "не бред":blush:
Дата(ТекущаяДата()) - Дата(ДатаРождения) - это "разность дат" с секундах"
Год(ТекущаяДата()) - Год(ДатаРождения) - это "разность дат" с годах"
Но при этом нужно обработать три ситуации:
"номер месяца" рождения - больше "номера месяца" текущей даты
"номер месяца" рождения - равен "номеру месяца" текущей даты
"номер месяца" рождения - меньше "номера месяца" текущей даты
Ну и все
Но с этим кодом он должен то показывать результат? (Пусть и не правильный) Или нет?
Процедура ПолныхЛет();
Возраст = Год(ТекущаяДата()) - Год(ДатаРождения);
Если Месяц(ТекущаяДата()) < Месяц(ДатаРождения) Тогда
Возраст = Возраст - 1;
ИначеЕсли Месяц(ТекущаяДата()) = Месяц(ДатаРождения) Тогда
Если День(ТекущаяДата()) < День(ДатаРождения) Тогда
Возраст = Возраст - 1;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
avm3110
16.02.2017, 12:25
Но с этим кодом он должен то показывать результат? (Пусть и не правильный) Или нет?
А где (как) смотрите результат?
пробовали отладчик?
Как вариант проверить - а что находится в "ДатаРождения" - "строка", "число" или "дата"?
Whes
17.02.2017, 09:22
А где (как) смотрите результат?
пробовали отладчик?
Как вариант проверить - а что находится в "ДатаРождения" - "строка", "число" или "дата"?
В справочнике создал 2 реквизита ДатаРождения(Дата) и Возраст(Число). Создал форму справочника и поместил на неё ДатуРождения и Возраст. Открыл справочник: Прочее->Модуль объекта и вставил код. Запустил, ошибок нет но и результата нет.
avm3110
17.02.2017, 09:57
А форма какая? Обычная или управляемая?
поставь в отладчике точку останова на строке
Возраст = Год(ТекущаяДата()) - Год(ДатаРождения);
и посмотри в окне отладки что у тебя возвращает ДатаРождения, что ТекущаяДата(), а что само выражение Год(ТекущаяДата()) - Год(ДатаРождения)
Whes
17.02.2017, 10:38
А форма какая? Обычная или управляемая?
поставь в отладчике точку останова на строке
Возраст = Год(ТекущаяДата()) - Год(ДатаРождения);
и посмотри в окне отладки что у тебя возвращает ДатаРождения, что ТекущаяДата(), а что само выражение Год(ТекущаяДата()) - Год(ДатаРождения)
А управляемая или обычная это как? Поставил точку он на неё не реагирует. Из-за чего?
avm3110
17.02.2017, 11:00
Поставил точку он на неё не реагирует. Из-за чего?
А тестишь в файловой базе или в клиент сервере? Если в клиент-сервере, то как вариант не подключился отладчик к сессии
А управляемая или обычная это как?
э-э-э.. Ну как бы тут тебе объяснить :blush:
Ну например тут "про это" - http://1c-programs.ru/chastye-voprosy-po-1s/chto-takoe-obychnoe-i-upravljaemoe-prilozhenie-v-1s-otlichija-obychnogo-prilozhenija-ot-upravljaemogo-v-1s.html
Whes
17.02.2017, 18:02
А тестишь в файловой базе или в клиент сервере? Если в клиент-сервере, то как вариант не подключился отладчик к сессии
Вообщем сделал так и заработало
Процедура ПриЗаписи();
Наименование = СокрЛП(Фамилия)+" "+СокрЛП(Имя)+" "+СокрЛП(Отчество);
//ПолныхЛет
Возраст = Год(ТекущаяДата()) - Год(ДатаРождения);
Если Месяц(ТекущаяДата()) < Месяц(ДатаРождения) Тогда
Возраст = Возраст - 1;
ИначеЕсли Месяц(ТекущаяДата()) = Месяц(ДатаРождения) Тогда
Если День(ТекущаяДата()) < День(ДатаРождения) Тогда
Возраст = Возраст - 1;
КонецЕсли;
КонецЕсли;
КонецПроцедуры;
Whes
20.02.2017, 16:40
Подскажи как в базу добавить Адресный классификатор(Фиас или Кладр)?
avm3110
20.02.2017, 21:28
Смотря в какую базу. Если это типовая конфа типа ЗУПа, то заливка идет через регистр сведений "Адресный классификатор", там для этого есть соответствующая функциональность
Whes
21.02.2017, 09:05
Смотря в какую базу. Если это типовая конфа типа ЗУПа, то заливка идет через регистр сведений "Адресный классификатор", там для этого есть соответствующая функциональность
А если новая(голая) база?
Whes
21.02.2017, 09:09
Смотря в какую базу. Если это типовая конфа типа ЗУПа, то заливка идет через регистр сведений "Адресный классификатор", там для этого есть соответствующая функциональность
А если новая(голая) база?(У меня без всяких типовых конфигураций, делаю с нуля на 1с 8.3:Технологическая поставка)
avm3110
21.02.2017, 15:06
Есть такая классная штука как БСП (библиотека стандартных подсистем). Включаешь в свою конфу "с нуля" эти типовые библиотеки и там докуя полезного типового функционала
Whes
21.02.2017, 18:54
Есть такая классная штука как БСП (библиотека стандартных подсистем). Включаешь в свою конфу "с нуля" эти типовые библиотеки и там докуя полезного типового функционала