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

Отбор для перезаписи РС

Автор sali, 10 июн 2025, 07:54

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

sali

есть Таблица Значений которая загружает данные с сервера и есть кнопка "сохранить" которая должна либо сохранить новую запись в регистр сведений ,либо перезаписать старую запись в этом же РС.
&НаКлиенте
Процедура Сохранить(Команда)
    СохранитьНаСервере();
КонецПроцедуры


&НаСервере
Процедура СохранитьНаСервере()

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

Запрос.УстановитьПараметр("ГУИДИсточник", ГУИДИсточник);

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

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

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
   
   
    МенеджерЗаписи.Записать();
 
КонецПроцедуры



в этом коде я затупил и нахожусь в замешательстве , потому  как пытаюсь сделать отбор по гуиду , но не знаю как лучше вытащить его из таблицы значений и подставить сюда МенеджерЗаписи.Отбор.ГУИДИсточник.Установить(ГУИДИсточник);Снимок экрана (366).png

antoneus

А что вообще должен делать этот код?

sali

Цитата: sali от 10 июн 2025, 07:54кнопка "сохранить" которая должна либо сохранить новую запись в регистр сведений ,либо перезаписать старую запись в этом же РС.

antoneus

Что за таблица значений?

В общем, цикл нужен по ней. Создаем менеджер записи (менеджер, не набор), заполняем данными из таблицы, записываем. Всё.

sali

antoneus, так?
НаборЗаписей = РегистрыСведений.МойРегистр.СоздатьМенеджерЗаписи();
НаборЗаписей.Прочитать();

Для Каждого Запись Из НаборЗаписей Цикл
     Запись.НужноеПоле = НужноеЗначение;
     НаборЗаписей.Записать(Истина);
КонецЦикла;
отбора не нужно делать по гуиду чтобы "нужные " записи перезаписались

antoneus

Да, только читать не надо.

И это фишка такая - переменную, где хранится набор записей называть менеджер, а ту, где хранится менеджер - называть набор?

sali


sali

Цитата: antoneus от 10 июн 2025, 11:44И это фишка такая - переменную, где хранится набор записей называть менеджер, а ту, где хранится менеджер - называть набор?
не знаю. я просто в пример привел, старый код

sali

Цитата: sali от 10 июн 2025, 11:40отбора не нужно делать по гуиду чтобы "нужные " записи перезаписались
??

antoneus


Теги:

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

Рейтинг@Mail.ru

Поиск