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

1С Регистры

Автор Ульви Мамедов, 01 фев 2019, 13:21

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

Ульви Мамедов

Здравствуйте. Я очень плохо знаю русский. Извините за этого. Я еще новичок в 1С программирование. Создал новый регистр накопления под именам Закупки. Все нормально работает но в документе поступление не могу смотреть "Результат проведения документа". Выдают ошибку "{Обработка.КорректировкаДвижений.Форма.ОсновнаяФорма(108)}: Ошибка при установке значения атрибута контекста (Данные)
ПолеРегистра.Данные = ДокументОбъект.Ссылка;
по причине:
Неправильный путь к данным"

Как исправится с этим ?
Спасибо всем за ранее.
Вот кусок кода который есть ошибка:
Процедура ЗаполнитьСтраницу(Страница)
   
    //Перем Первый_элемент, Граница_первого_элемента, Второй_элемент, Граница_второго_элемента;
   
    СтрокаТаблицыРегистров = Регистры.Найти(Страница.Имя, "Имя");
    Если СтрокаТаблицыРегистров = Неопределено Тогда
        Возврат;
    КонецЕсли;
   
    Если СтрокаТаблицыРегистров.Отображение И (НЕ СтрокаТаблицыРегистров.Отрисован) Тогда
       
        // Расположим на странице командную панель
        КоманднаяПанельРегистра = ЭлементыФормы.Добавить(Тип("КоманднаяПанель"), ("КоманднаяПанель" + СтрокаТаблицыРегистров.Имя), Истина, ЭлементыФормы.ОсновнаяПанель);
        КоманднаяПанельРегистра.Верх = 6;
        КоманднаяПанельРегистра.Лево = 6;
        КоманднаяПанельРегистра.Ширина = ЭлементыФормы.ОсновнаяПанель.Ширина - 12 - 2;
        КоманднаяПанельРегистра.Высота = 24;
       
        КоманднаяПанельРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Низ,КоманднаяПанельРегистра,ГраницаЭлементаУправления.Верх);
        КоманднаяПанельРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Право,ЭлементыФормы.ОсновнаяПанель,ГраницаЭлементаУправления.Право);
       
        // Расположим на странице табличное поле
        ПолеРегистра = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), СтрокаТаблицыРегистров.Имя, Истина, ЭлементыФормы.ОсновнаяПанель);
       
ВОТ ЗДЕСЬ        ПолеРегистра.Данные = СтрокаТаблицыРегистров.Имя;
        ПолеРегистра.Значение.Отбор.Регистратор.Значение = ДокументОбъект.Ссылка;
        ПолеРегистра.Значение.Отбор.Регистратор.Использование = Истина;
       
        ПолеРегистра.Видимость = ложь;
        ПолеРегистра.Верх = 30;
        ПолеРегистра.Лево = 6;
        ПолеРегистра.Высота = ЭлементыФормы.ОсновнаяПанель.Высота - 30 - 12 - 20;
        ПолеРегистра.Ширина = ЭлементыФормы.ОсновнаяПанель.Ширина - 12 - 2;
        ПолеРегистра.Видимость = истина;
   
        ПолеРегистра.ТолькоПросмотр = Ложь;
        ПолеРегистра.ИзменятьПорядокСтрок = Истина;
        ПолеРегистра.ИзменятьСоставСтрок = Истина;
       
        ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Низ,ЭлементыФормы.ОсновнаяПанель,ГраницаЭлементаУправления.Низ);
        ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Право,ЭлементыФормы.ОсновнаяПанель,ГраницаЭлементаУправления.Право);
       
        ПолеРегистра.СоздатьКолонки();
       
        Если СтрокаТаблицыРегистров.ТипРегистра = "РегистрНакопления" Тогда
            Если Метаданные.РегистрыНакопления[СтрокаТаблицыРегистров.Имя].ВидРегистра = Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки Тогда
                КолонкаВидДвижения = ПолеРегистра.Колонки.Вставить(1, "Вид движения");
                КолонкаВидДвижения.Имя = "ВидДвиженияРегистраНакопления";
                КолонкаВидДвижения.УстановитьЭлементУправления(Тип("ПолеВвода"));
                КолонкаВидДвижения.Данные = "ВидДвижения";
                КолонкаВидДвижения.ЭлементУправления.КнопкаВыбора = Истина;
                КолонкаВидДвижения.ЭлементУправления.ВыбиратьТип = Ложь;
            КонецЕсли;
        КонецЕсли;
       
        ПолеРегистра.Колонки.Регистратор.Видимость = Ложь;
       
        Если СтрокаТаблицыРегистров.ТипРегистра = "РегистрСведений" Тогда
            Если НЕ Метаданные.РегистрыСведений[СтрокаТаблицыРегистров.Имя].ПериодичностьРегистраСведений = Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический Тогда
                ПолеРегистра.Колонки.Период.Видимость      = Ложь;
            КонецЕсли;
        Иначе
            ПолеРегистра.Колонки.Период.Видимость      = Ложь;
        КонецЕсли;
       
        ПолеРегистра.Колонки.НомерСтроки.Видимость = Ложь;
       
        КоманднаяПанельРегистра.АвтоЗаполнение = Истина;
        КоманднаяПанельРегистра.Кнопки.Добавить("Разделитель" + СтрокаТаблицыРегистров.Имя);
        Кнопка = КоманднаяПанельРегистра.Кнопки.Добавить(СтрокаТаблицыРегистров.Имя, ТипКнопкиКоманднойПанели.Действие, , Новый Действие("ОткрытьСправкуРегистра"));
        Кнопка.Отображение = ОтображениеКнопкиКоманднойПанели.Картинка;
        Кнопка.Картинка    = БиблиотекаКартинок.Справка;
        Кнопка.Подсказка   = "Открыть справку";
       
        СтрокаТаблицыРегистров.Отрисован = Истина;
       
        Если КоличествоВидимыхСтраниц > 5 Тогда
            //Инициализируем изменение размера табличного поля по установленным привязкам
            ПолеРегистра.Высота = ПолеРегистра.Высота - 5;
        КонецЕсли;
    КонецЕсли;
       
    Если СтрокаТаблицыРегистров.Отображение И (НЕ СтрокаТаблицыРегистров.Прочитан) Тогда
        ЭлементыФормы[СтрокаТаблицыРегистров.Имя].Значение.Прочитать();
        СтрокаТаблицыРегистров.Прочитан = Истина;
    КонецЕсли;
   
    Если СтрокаТаблицыРегистров.Отображение И СтрокаТаблицыРегистров.Отрисован Тогда
        ЭлементыФормы[СтрокаТаблицыРегистров.Имя].ТолькоПросмотр = НЕ РучнаяКорректировка;
        ЭлементыФормы["КоманднаяПанель" + СтрокаТаблицыРегистров.Имя].ИсточникДействий = ЭлементыФормы[СтрокаТаблицыРегистров.Имя];
    КонецЕсли;
   
КонецПроцедуры

Владислав Васильев

Есть ответ на этот древний вопрос!

кнопка "Результат проведения документа" вызывает обработку "КорректировкаДвижений" (или созвучное)
Цитата: Ульви Мамедов от 01 фев 2019, 13:21ВОТ ЗДЕСЬ        ПолеРегистра.Данные = СтрокаТаблицыРегистров.Имя;
собственно в этой форме и возникает ошибка.

необходимо в реквизиты этой формы добавить реквизит РегистрНакопленияНаборЗаписей (или РегистрСведений...) со своим новым регистром.

Теги:  

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

Рейтинг@Mail.ru

Поиск