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

изменить регистр сведений.

Автор qola, 27 авг 2015, 17:10

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

qola

как изменить непереодический регистр сведений.
делаю учебную конфигурация с целью практики и обучнения для зубной клиники.

есть регистр сведений "РегЗуб" измерения "Пац" тип СправочникСсылка.Пациент, и ресурсами "ЦентральныйРезец",...
в регистре запоминается статус зубов.
требуется поменять статус на там "пломба" например.

Код

ПацСсылка = Справочники.Пациент.НайтиПоКоду(ПараметрКод);

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РегЗуб.Пац КАК Пац,
| РегЗуб.ЦентральныйРезец,
| РегЗуб.БоковойРезец,
| РегЗуб.Клык,
| РегЗуб.ПервыйПремолярный,
| РегЗуб.ВторойПремолярный,
| РегЗуб.ПервйМоляр,
| РегЗуб.ВторойМоляр,
| РегЗуб.ТретийМоляр,
| РегЗуб.Дата
|ИЗ
| РегистрСведений.РегЗуб КАК РегЗуб
|ГДЕ
| Пац = &Фамилия";
Запрос.УстановитьПараметр("Фамилия",ПацСсылка);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаРезультатаЗапроса = РезультатЗапроса.Выбрать();

        Пока ВыборкаРезультатаЗапроса.Следующий() Цикл

        КонецЦикла;


Дмитрий@

Курс = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
Курс.Валюта = ВыбВалюта;
Курс.Период = ТекущаяДата();
Курс.Прочитать();
Если Не Курс.Выбран() Тогда
    Курс.Период = ТекущаяДата();
    Курс.Валюта = ВыбВалюта;
    Курс.Курс = 41.35;
    Курс.Кратность = 1;
КонецЕсли;
Если ВвестиЧисло(Курс.Курс, "Введите курс на сегодня",15,5) Тогда
    Курс.Записать();
КонецЕсли;

qola


РезультатЗапроса = Запрос.Выполнить();
ВыборкаРезультатаЗапроса = РезультатЗапроса.Выбрать();


можно как то изменить через РезультатЗапроса или ВыборкаРезультатаЗапроса

Дмитрий@

Нет нельзя.
Можно еще изменить при помощи набора записей регистра. Там можно задать отбор по полям.

qola

спс помогло.
где то читал что кроме СКЛ Запроса запись регистра найти ни как нельзя. оказывается можно.

&НаКлиенте
Процедура Тест()
ИзменитьРег = РегистрыСведений.РегЗуб.СоздатьМенеджерЗаписи();
ИзменитьРег.Пац = ПацСсылка;
ИзменитьРег.Прочитать();
Если ИзменитьРег.Выбран() Тогда
ИзменитьРег.ЦентральныйРезец = "1000000";
ИзменитьРег.БоковойРезец = "1000000";
Сообщить (ИзменитьРег.ПервыйПремолярный);
Конецесли;
ИзменитьРег.Записать();
КонецПроцедуры

ferrari314

баз обид - говнокод. Обидно, но в вашем рег, рез, пац, хрюц, шмяк-бряк без накурки не разберешься. сами скоро путаться начнете. Пишите нормальный код: Резец, Пациент.

vitasw


Дмитрий@

ЦитироватьFerrari
Этот код скопирован из справки, так что все претензии к 1С. Если вы считаете что в 1С плохие специалисты, чтож возможно вы правы.

vitasw

Цитата: Дмитрий@ от 28 авг 2015, 11:43Этот код скопирован из справки, так что все претензии к 1С. Если вы считаете что в 1С плохие специалисты, чтож возможно вы правы.

Речь идет не о методике написания кода, а о том как вы называете свои реквизиты/измерения/объекты. Через месяц, когда вы уже забудете об этой задаче, вам самому будет очень проблематично разобраться с вашими метаданными. А уж если с этим будет разбираться сторонний специалист - то эмоции у него будут совсем непечатными.

Klyacksa

Про реквизиты это к qola, а не к Дмитрий@
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Теги:

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

Рейтинг@Mail.ru

Поиск