art93
06.08.2015, 10:43
Создал регистр сведений СопровождаемыеПродукты. Нужно чтобы оттуда подтягивалась информация в табличную часть добавленную программно на форму справочника контрагенты. В итоге табличную часть добавил но инфа не подтягивается и не записывается. Помогите пожалуйста
Модуль объекта(спр Контрагенты)
+ Code
Процедура ПриЗаписи(Отказ)
ЗаписатьПереченьСопровожд аемыхПрограмм(мПереченьСо� �ровождаемыхПрограмм, Ссылка, Отказ);
КонецПроцедуры
Процедура ЗаписатьПереченьСопровожд аемыхПрограмм(ПереченьСоп� �овождаемыхПрограмм, Ссылка, Отказ)
Если НЕ Отказ Тогда
// Сравним наборы записей
ЭталонныйНабор = РегистрыСведений.Сопровож� �аемыеПрограммыКонтрагент� �в.СоздатьНаборЗаписей();
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.Контраге� �ты") Тогда
ЭталонныйНабор.Отбор.Контр агент.Значение = Ссылка;
ЭталонныйНабор.Отбор.Контр агент.Использование = Истина;
КонецЕсли;
ЭталонныйНабор.Прочитать();
Для каждого ЗаписьНабора Из ПереченьСопровождаемыхПро грамм Цикл
ЗаписьНабора.Контрагент = Ссылка;
КонецЦикла;
//Если НЕ КонтрагентыОбщегоНазначен ияСервер.СравнитьТаблицыН� �боровЗаписей(ЭталонныйНаб ор.Выгрузить(), ПереченьСопровождаемыхПро грамм.Выгрузить()) Тогда
ПереченьСопровождаемыхПро грамм.Отбор.Контрагент.Зна� �ение = Ссылка;
//Попытка
ПереченьСопровождаемыхПро грамм.Записать();
//Исключение
// Сообщить("Элемент """ + СокрЛП(Ссылка) + """ не записан. Ошибка в списке сопровождаемых программ.");
// Отказ = Истина;
// Возврат;
//КонецПопытки;
ПрочитатьПереченьСопровож даемыхПрограмм(ПереченьСо� �ровождаемыхПрограмм, Ссылка);
//КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПрочитатьПереченьСопровож даемыхПрограмм(ПереченьСо� �ровождаемыхПрограмм, Ссылка) Экспорт
// Снимем все отборы
Для каждого Отбор Из ПереченьСопровождаемыхПро грамм.Отбор Цикл
Отбор.Использование = Ложь;
КонецЦикла;
Если НЕ ЗначениеЗаполнено(Ссылка) Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.Контраге� �ты") Тогда
ПереченьСопровождаемыхПро грамм.Отбор.Контрагент.Зна� �ение = Ссылка;
ПереченьСопровождаемыхПро грамм.Отбор.Контрагент.Исп� �льзование = Истина;
КонецЕсли;
ПереченьСопровождаемыхПро грамм.Прочитать();
КонецПроцедуры
мПереченьСопровождаемыхПр ограмм = РегистрыСведений.Сопровож� �аемыеПрограммыКонтрагент� �в.СоздатьНаборЗаписей();
Если НЕ Ссылка.Пустая() Тогда
ПрочитатьПереченьСопровож даемыхПрограмм(мПереченьС� �провождаемыхПрограмм, Ссылка);
КонецЕсли;
Модуль формы
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗапи� �и)
ПараметрыЗаписи.Вставить("Партнер", Объект.Партнер);
Оповестить("Запись_Контрагенты", ПараметрыЗаписи, Объект.Ссылка);
СопровождаемыеПрограммы.О� �бор.Контрагент.Значение = Объект.Ссылка;
СопровождаемыеПрограммы.О� �бор.Контрагент.Использова� �ие = Истина;
КонецПроцедуры
Процедура СопровождаемыеПрограммыПр иОкончанииРедактирования(� �лемент, НоваяСтрока, ОтменаРедактирования)
ОбновитьДатуИзменения = Истина;
КонецПроцедуры
//СопровождаемыеПрограммы = мПереченьСопровождаемыхПр ограмм; (не видит почему то мПереченьСопровождаемыхПр ограмм
подскажите идеи пожалуйста, очень нужно
Модуль объекта(спр Контрагенты)
+ Code
Процедура ПриЗаписи(Отказ)
ЗаписатьПереченьСопровожд аемыхПрограмм(мПереченьСо� �ровождаемыхПрограмм, Ссылка, Отказ);
КонецПроцедуры
Процедура ЗаписатьПереченьСопровожд аемыхПрограмм(ПереченьСоп� �овождаемыхПрограмм, Ссылка, Отказ)
Если НЕ Отказ Тогда
// Сравним наборы записей
ЭталонныйНабор = РегистрыСведений.Сопровож� �аемыеПрограммыКонтрагент� �в.СоздатьНаборЗаписей();
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.Контраге� �ты") Тогда
ЭталонныйНабор.Отбор.Контр агент.Значение = Ссылка;
ЭталонныйНабор.Отбор.Контр агент.Использование = Истина;
КонецЕсли;
ЭталонныйНабор.Прочитать();
Для каждого ЗаписьНабора Из ПереченьСопровождаемыхПро грамм Цикл
ЗаписьНабора.Контрагент = Ссылка;
КонецЦикла;
//Если НЕ КонтрагентыОбщегоНазначен ияСервер.СравнитьТаблицыН� �боровЗаписей(ЭталонныйНаб ор.Выгрузить(), ПереченьСопровождаемыхПро грамм.Выгрузить()) Тогда
ПереченьСопровождаемыхПро грамм.Отбор.Контрагент.Зна� �ение = Ссылка;
//Попытка
ПереченьСопровождаемыхПро грамм.Записать();
//Исключение
// Сообщить("Элемент """ + СокрЛП(Ссылка) + """ не записан. Ошибка в списке сопровождаемых программ.");
// Отказ = Истина;
// Возврат;
//КонецПопытки;
ПрочитатьПереченьСопровож даемыхПрограмм(ПереченьСо� �ровождаемыхПрограмм, Ссылка);
//КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПрочитатьПереченьСопровож даемыхПрограмм(ПереченьСо� �ровождаемыхПрограмм, Ссылка) Экспорт
// Снимем все отборы
Для каждого Отбор Из ПереченьСопровождаемыхПро грамм.Отбор Цикл
Отбор.Использование = Ложь;
КонецЦикла;
Если НЕ ЗначениеЗаполнено(Ссылка) Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.Контраге� �ты") Тогда
ПереченьСопровождаемыхПро грамм.Отбор.Контрагент.Зна� �ение = Ссылка;
ПереченьСопровождаемыхПро грамм.Отбор.Контрагент.Исп� �льзование = Истина;
КонецЕсли;
ПереченьСопровождаемыхПро грамм.Прочитать();
КонецПроцедуры
мПереченьСопровождаемыхПр ограмм = РегистрыСведений.Сопровож� �аемыеПрограммыКонтрагент� �в.СоздатьНаборЗаписей();
Если НЕ Ссылка.Пустая() Тогда
ПрочитатьПереченьСопровож даемыхПрограмм(мПереченьС� �провождаемыхПрограмм, Ссылка);
КонецЕсли;
Модуль формы
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗапи� �и)
ПараметрыЗаписи.Вставить("Партнер", Объект.Партнер);
Оповестить("Запись_Контрагенты", ПараметрыЗаписи, Объект.Ссылка);
СопровождаемыеПрограммы.О� �бор.Контрагент.Значение = Объект.Ссылка;
СопровождаемыеПрограммы.О� �бор.Контрагент.Использова� �ие = Истина;
КонецПроцедуры
Процедура СопровождаемыеПрограммыПр иОкончанииРедактирования(� �лемент, НоваяСтрока, ОтменаРедактирования)
ОбновитьДатуИзменения = Истина;
КонецПроцедуры
//СопровождаемыеПрограммы = мПереченьСопровождаемыхПр ограмм; (не видит почему то мПереченьСопровождаемыхПр ограмм
подскажите идеи пожалуйста, очень нужно