• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Перенос справочника ФизЛица

  • Автор темы WildAnther
  • Дата начала
W

WildAnther

Доброго времени суток коллеги.
Переношу я значит справочник ФизическиеЛица,
После переноса, при попытки открыть элемент справочника выдает ошибочку следующего содержания:
<!--shcode--><pre><code class='1с'>{Справочник.ФизическиеЛица.Форма.ФормаЭлемента(206)}: Значение не является значением объектного типа (Количество)
Если мНаборЗаписейГражданство.Количество() > 0 Тогда[/CODE]
Не могу понять в чем дело... Надеюсь на вашу помощь.
Заранее благодарю.
 
K

KiR

а что значит - "Переношу справочник" ?
 
W

WildAnther

Да пожалуй не совсем ясно.
Переношу из Бухгалтерии в свою базу.
Беру копирую и вставляю к себе, ну сопутствующие ему объекты тоже переношу.
 
K

KiR

ну еще стоило начать с платформы....
копируешь объект справочника целиком или же просто какие-то отдельные реквизиты или формы?
 
W

WildAnther

Ох опять промах...
1С 8.1 БУХ 1.6
Переношу целиком весь справочник.
 
K

KiR

а что есть - мНаборЗаписейГражданство? может этого нет в объекте текущего справочника? тогда нужно это либо переписать либо тоже скопировать... отследить легко отладчиком
 
W

WildAnther

<!--shcode--><pre><code class='# 1c'>Перем мНаборЗаписейГражданство Экспорт;

.....

Процедура ГражданствоНачалоВыбора(Элемент, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;
Отказ = Ложь;
ФормаВвода = ПолучитьФорму("ФормаЗаписиГражданство", ЭтаФорма);
ФормаВвода.НаборЗаписей = мНаборЗаписейГражданство;
ФормаВвода.Открыть();

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

....

мНаборЗаписейГражданство = РегистрыСведений.ГражданствоФизЛиц.СоздатьНаборЗаписей();
....

Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ГражданствоФизЛицСрезПоследних.Период,
| ГражданствоФизЛицСрезПоследних.ФизЛицо,
| ГражданствоФизЛицСрезПоследних.Страна,
| ГражданствоФизЛицСрезПоследних.НеИмеетПравоНаПенсию,
| ГражданствоФизЛицСрезПоследних.НеЯвляетсяНалоговымРезидентомРФ
|ИЗ
| РегистрСведений.ГражданствоФизЛиц.СрезПоследних(, ФизЛицо = &ФизЛицо) КАК ГражданствоФизЛицСрезПоследних";
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ЗаполнитьЗначенияСвойств(мНаборЗаписейГражданство.Добавить(), Выборка);
КонецЕсли;[/CODE]

Вот.
 
T

tanat

мНаборЗаписейГражданство = РегистрыСведений.ГражданствоФизЛиц.СоздатьНаборЗаписей();

Это - в процедуре ЗаполнитьНаборыПоФизлицу(), которая инициализируется, в свою очередь, в Обработчике события ПередОткрытием() у формы элемента данного справочника в Бухгалтерии. Видимо не все "сопутствующие" объекты перенесли. Как действовать - решайте сами. Всё разжували дальше некуда).
А на будущее - учитесь пользоватсья отладчиком ( как сказал KiR) или глобальным поиском. С ними намного легче жить.

Получается что вы скопировали справочник из типовой,а регистры, из которых попадают данные в этот справочник - не скопировали. Или их переносите тоже или убирайте этипроцедуры вообще, если они вам ненужны.
 
W

WildAnther

Это всё я прекрасно понимаю.
Отладчик осваиваю(честно)
Справочники и всё остальное я тоже перенес=)
 
T

tanat

пардон) не правильно Вам сказал:
Переменная эта определена в модуле объекта "Справочник.ФизическиеЛица" как:
мНаборЗаписейГражданство = РегистрыСведений.ГражданствоФизЛиц.СоздатьНаборЗаписей();


Очевидно, просто не перенесли регистр сведений "ГражданствоФизЛиц".
А ошибку вызывает, потому что в процедуре "ПриОткрытии" формы элемента стоит ссылка на процедуру
ОбновитьПредставлениеЭлемента("Гражданство");

Воюйте, вобщем).
 
W

WildAnther

товарищи.. Оказался глупее глупого... Перенося. Не обратил внимания что мне не нужно Гражданство и как то запамятовал, потому что раньше с паспортом так было и распутался весь... Вообщем да.. не перенес регистр гражданство. убрав кусок кода всё встало на свои места. но ошибки еще есть... но их я попробую решить сам.=) благодарю!
 
W

WildAnther

Товарищи столкнулся с следующей проблемой...
После изменения ДокументаУдостоверящегоЛичности в форме ФизическогоЛица никаких результатов... По следствию трасировки, выявил что в оригинале срабатывает

<!--shcode--><pre><code class='1c'>Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)

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

ИмяОбновляемогоЭлемента = Параметр.ИмяЭлемента;
ОбновитьПредставлениеЭлемента(ИмяОбновляемогоЭлемента);

ИначеЕсли ИмяСобытия = "ОбновитьУдостоверениеЛичности" Тогда

ОбновитьПредставлениеЭлемента("УдостоверениеЛичности");

КонецЕсли;

КонецПроцедуры[/CODE]

У меня не срабатывает...
Тоесть не проходит строка из общей формы...

<!--shcode--><pre><code class='1c'>Оповестить("ОбновитьУдостоверениеЛичности");[/CODE]

Но почему не происходит перевод данных в формы ФизЛиц не понимаю...
 
W

WildAnther

С оповещением разобрался, не так все сложно оказалось. =)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!