Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Форма записи для регистра сведений , Создание тонкой версии          
pablo Подменю пользователя
сообщение 04.09.12, 13:50
Сообщение #1

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Создал свою форму для типового регистра КонтактнаяИнформация стандартным конструктором. При этом на форме всего 1 стандартный реквизит Запись типа РегистрСведенийМенеджерЗаписи.
Вызываю форму так
    Отбор = Новый Структура;
    Отбор.Вставить("Объект",Объект.Ссылка);
    Отбор.Вставить("Тип",Элементы.КонтактИнф.ТекущиеДанные.Тип);
    Отбор.Вставить("Вид",Элементы.КонтактИнф.ТекущиеДанные.Вид);
    ОткрытьФормуМодально("РегистрСведений.КонтактнаяИнформация.ФормаЗаписи",Отбор,ЭтаФорма);

На форме использую такой код:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    КонтактнаяИнформация.Объект,
        |    КонтактнаяИнформация.Тип,
        |    КонтактнаяИнформация.Вид,
        |    КонтактнаяИнформация.Представление,
...
        |    КонтактнаяИнформация.Комментарий,
        |    КонтактнаяИнформация.ЗначениеПоУмолчанию
        |ИЗ
        |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
        |ГДЕ
        |    КонтактнаяИнформация.Объект = &Объект
        |    И КонтактнаяИнформация.Тип = &Тип
        |    И КонтактнаяИнформация.Вид = &Вид";

    Запрос.УстановитьПараметр("Вид", Параметры.Вид);
    Запрос.УстановитьПараметр("Объект", Параметры.Объект);
    Запрос.УстановитьПараметр("Тип", Параметры.Тип);

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

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

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

НО таким образом при любом редактировании записи при попытке сохранить данные ругается, что такая запись уже существует.
Если же пытаюсь при создании на сервере задать значением реквизит Запись, то ругается "Нельзя изменять поле, содержащее объект данных "
Собственно, вопрос такой: Как открыть правильно спозиционированную форму записи?

Сообщение отредактировал pablo - 04.09.12, 13:53


Signature
Правильно поставленный вопрос содержит до 90% ответа.

pumbaE Подменю пользователя
сообщение 04.09.12, 14:23
Сообщение #2

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 113
Из: Запоріжжя
Спасибо сказали: 63 раз
Рейтинг: 0

Непонятно где у вас определяется КлючЗаписиРегистра?
Пример работы с записью можно посмотреть или в УНФ или в БСП.


p.s.: разобрался как получить ссылку на картинку.

Сообщение отредактировал pumbaE - 04.09.12, 14:36


Signature
Эт я почему раньше злой был? Потому, что у меня снегопата не было!

Спасибо сказали: pablo,

pablo Подменю пользователя
сообщение 04.09.12, 14:41
Сообщение #3

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Правильный код:
    Отбор = Новый Структура;
    Отбор.Вставить("Объект",Объект.Ссылка);
    Отбор.Вставить("Тип",Элементы.КонтактИнф.ТекущиеДанные.Тип);
    Отбор.Вставить("Вид",Элементы.КонтактИнф.ТекущиеДанные.Вид);
    МассивОтбора=Новый Массив;
    МассивОтбора.Добавить(Отбор);
    Ключ=новый ("РегистрСведенийКлючЗаписи.КонтактнаяИнформация",МассивОтбора);
    Параметр=Новый Структура("Ключ",Ключ);
    ОткрытьФормуМодально("РегистрСведений.КонтактнаяИнформация.ФормаЗаписи",Параметр,ЭтаФорма);

Выкладываю код, поскольку на картинке не видно содержимого функции ПолучитьКлючЗаписи


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 31.05.24, 20:30
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!