dartvaider
BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору AlexBX Код: Процедура РедактированиеИстории(Периодический,Таблица) Далее Процедура ЗаполнениеТаблицы(Тз,П) П.ВыбратьЗначения(); Пока П.Получитьзначение()=1 Цикл Тз.НоваяСтрока(); Тз.Дт=П.ДатаЗнач; Тз.Зн=П.Значение; Тз.Пар=П.ТекущийРеквизит(); КонецЦикла; КонецПроцедуры //ЗаполнениеТаблицы Процедура История() // Просмотр истории периодических объектов ТаблицаЗначений=СоздатьОбъект("ТаблицаЗначений"); ТаблицаЗначений.НоваяКолонка("Дт",,,,"Дата",11); ТаблицаЗначений.НоваяКолонка("Зн",,,,"Значение",15); ТаблицаЗначений.НоваяКолонка("Пар",,,,"Параметр",15); //Найдем периодические Объекты Периодический=СоздатьОбъект("Периодический"); // По константам i=1; Пока Метаданные.Константа(i).Выбран()=1 Цикл //Получим "Имя Константы" в переменной Описатель Описатель=Метаданные.Константа(i).Идентификатор; Если Периодический.ИспользоватьОбъект(Описатель)=1 Тогда // Заполним таблицу значений периодическими значениями ЗаполнениеТаблицы(ТаблицаЗначений,Периодический); КонецЕсли; i=i+1; КонецЦикла; ТаблицаЗначений.Сортировать("Дт"); РедактированиеИстории(Периодический,ТаблицаЗначений); КонецПроцедуры Процедура РедактированиеИстории(Периодический,Таблица) Перем НомерСтр,Значение,Позиция; СписокДействий=СоздатьОбъект("СписокЗначений"); СписокДействий.ДобавитьЗначение("У","Удалить"); СписокДействий.ДобавитьЗначение("И","Изменить"); Если Таблица.ВыбратьСтроку(НомерСтр,"История периодических объектов")=1 Тогда Таблица.ПолучитьСтрокуПоНомеру(НомерСтр); Периодический.ИспользоватьОбъект(Строка(Таблица.Пар)); Периодический.НайтиЗначение(Таблица.Дт,0); Если СписокДействий.ВыбратьЗначение(Значение,"Выберите действие",Позиция,,1)=1 Тогда Если Значение="У" Тогда Периодический.Удалить(); ИначеЕсли Значение="И" Тогда Стр=Таблица.Зн; ДатаЗначения=Периодический.ДатаЗнач; Если ВвестиПеречисление(Стр,"Введите значение ")<>1 Тогда Возврат; КонецЕсли; Периодический.ДатаЗнач=ДатаЗначения; Периодический.Значение=Стр; Периодический.Записать(); КонецЕсли; КонецЕсли; История(); КонецЕсли; КонецПроцедуры | Вот попробовал так не получается может быть что-то не так делаю ??? Пишет : РедактированиеИстории(<<?>>) Недостаточно фактических параметров ТаблицаЗначений=СоздатьОбъект("ТаблицаЗначений"); {Обработка.ОбработкаСправочника.Форма.Модуль(23)}: Попытка присвоить значение недоступной для записи переменной (ТаблицаЗначений) Следовательно не правильный идентификатор, или же в чем проблема? Вышеописаный код в гл.модуле, всё остальное в обработке! |