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

Сохранять из табличной части формы добавленной программно в Регистр сведений.

Автор art93, 06 авг 2015, 08:37

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

art93

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

Модуль объекта(спр Контрагенты)

+ Code
Процедура ПриЗаписи(Отказ)
   
    ЗаписатьПереченьСопровождаемыхПрограмм(мПереченьСопровождаемыхПрограмм, Ссылка, Отказ);
   
КонецПроцедуры

Процедура  ЗаписатьПереченьСопровождаемыхПрограмм(ПереченьСопровождаемыхПрограмм, Ссылка, Отказ)
    Если НЕ Отказ Тогда
   
        // Сравним наборы записей

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

       
            ПереченьСопровождаемыхПрограмм.Отбор.Контрагент.Значение = Ссылка;
                       
            //Попытка

                ПереченьСопровождаемыхПрограмм.Записать();
            //Исключение

            //    Сообщить("Элемент """ + СокрЛП(Ссылка) + """ не записан. Ошибка в списке сопровождаемых программ.");

            //    Отказ = Истина;

            //    Возврат;

            //КонецПопытки;

           
            ПрочитатьПереченьСопровождаемыхПрограмм(ПереченьСопровождаемыхПрограмм, Ссылка);

        //КонецЕсли;

   
    КонецЕсли;
КонецПроцедуры
   
Процедура ПрочитатьПереченьСопровождаемыхПрограмм(ПереченьСопровождаемыхПрограмм, Ссылка) Экспорт

    // Снимем все отборы

    Для каждого Отбор Из ПереченьСопровождаемыхПрограмм.Отбор Цикл
        Отбор.Использование = Ложь;
    КонецЦикла;
   
    Если НЕ ЗначениеЗаполнено(Ссылка) Тогда
        Возврат;
    КонецЕсли;
   
    Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.Контрагенты") Тогда
        ПереченьСопровождаемыхПрограмм.Отбор.Контрагент.Значение = Ссылка;
        ПереченьСопровождаемыхПрограмм.Отбор.Контрагент.Использование = Истина;
    КонецЕсли;
    ПереченьСопровождаемыхПрограмм.Прочитать();
   
КонецПроцедуры

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

Модуль формы

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
   
    ПараметрыЗаписи.Вставить("Партнер", Объект.Партнер);
    Оповестить("Запись_Контрагенты", ПараметрыЗаписи, Объект.Ссылка);

    СопровождаемыеПрограммы.Отбор.Контрагент.Значение       = Объект.Ссылка;
    СопровождаемыеПрограммы.Отбор.Контрагент.Использование  = Истина;

   
КонецПроцедуры

Процедура СопровождаемыеПрограммыПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
   
    ОбновитьДатуИзменения = Истина;
   
КонецПроцедуры

//СопровождаемыеПрограммы   = мПереченьСопровождаемыхПрограмм;
(не видит почему то мПереченьСопровождаемыхПрограмм

подскажите идеи пожалуйста, очень нужно

vitasw


art93

Извиняюсь.Не понял вопроса.
Процедура в модуле объекта и вызывается видно где.
Уточните пожалуйста вопрос

vitasw

Цитата: art93 от 06 авг 2015, 09:45Процедура в модуле объекта и вызывается видно где.
Нет, не видно, поэтому и спрашиваю.


Sergio199

Цитата: vitasw от 06 авг 2015, 10:18
Цитата: art93 от 06 авг 2015, 09:45Процедура в модуле объекта и вызывается видно где.
Нет, не видно, поэтому и спрашиваю.



Согласен. Перенёс текст в обработчик и сразу видно - у вас ошибки в написании модуля.

Теги:

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

Рейтинг@Mail.ru

Поиск