&НаСервере
Процедура СохранитьИгруНаСервере()
ДанныеИгры = Новый Массив;
Для НомерЯчейки = 1 По 81 Цикл
ИмяРеквизита = "Ячейка" + Строка(НомерЯчейки);
ДанныеИгры.Добавить(ЭтаФорма[ИмяРеквизита]);
КонецЦикла;
ХранилищеИгры = Новый ХранилищеЗначения(ДанныеИгры);
// Ищем существующую запись.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Результаты.Ключ КАК Ключ
|ИЗ
| РегистрСведений.Результаты КАК Результаты
|ГДЕ
| Результаты.Ключ = &Ключ";
Запрос.УстановитьПараметр("Ключ", "Судоку");
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
// Обновляем существующую запись.
НаборЗаписей = РегистрыСведений.Результаты.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Ключ.Установить("Судоку");
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
Запись.Игра = ХранилищеИгры;
КонецЦикла;
НаборЗаписей.Записать();
Иначе
// Создаем новую запись, если ее еще нет.
ЗаписьРегистра =
РегистрыСведений.Результаты.СоздатьМенеджерЗаписи();
ЗаписьРегистра.Ключ = "Судоку";
ЗаписьРегистра.Игра = ХранилищеИгры;
ЗаписьРегистра.Записать();
КонецЕсли;
КонецПроцедуры