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

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

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

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

Проблема при переносе справочника

  • Автор темы Guest
  • Дата начала
G

Guest

При помощи ОЛЕ тащю справочник контрагены, из 7.7 в 8.1, всё нормально. Дошло дело до расчётных счетов контрагентов. В 7.7 они идут отдельным справочником "Расчётные счета". Пытаюсь сделать ссылку на него, данные не переносятся. Может это связано с тем, что справчник в семёрке подченённый? т.е. механизм работает на справочнике контрагенты, а на расчётных счетах нет. Доступ к базе есть, а данные не цепляет. В чём дело, подскажите пожалуйста.

код:

ОЛЕ = ПолучитьОЛЕБазу();
РасчетныеСчета77 = ОЛЕ77.CreateObject("Справочник.РасчетныеСчета");
РасчетныеСчета77.ВыбратьЭлементы();
Пока РасчетныеСчета77.ПолучитьЭлемент() = 1 Цикл
Сообщить(РасчетныеСчета77.реквизит);
КонецЦикла;


Ничего не пишет...
 
U

unknown181538

А что такое "реквизит"?
Если написать "Сообщить("!")" тоже ничего не пишет?
 
V

vbs

Если "РасчетныеСчета" подчиненный справочник, надо перебрать элементы справочника-владельца и для каждого выбрать элементы
справочника "РасчетныеСчета"
 
U

unknown181538

Если "РасчетныеСчета" подчиненный справочник, надо перебрать элементы справочника-владельца и для каждого выбрать элементы
справочника "РасчетныеСчета"
А почему так? Ведь не в ОЛЕ соединении можно перебрать просто все.
Можно еще попробовать написать "ВыбратьЭлементы(1)".
 
V

vbs

ВыбратьЭлементы(<?>)
SelectItems(<?>)
Синтаксис:
ВыбратьЭлементы(<Режим>)
Назначение:
Открыть выборку элементов справочника.
Возвращает: 1 - если действие выполнено и в выборке есть хотя бы один элемент;
0 - если действие не выполнено или в выборке нет ни одного элемента.
Для подчиненного справочника
РасчетныеСчета77.ВыбратьЭлементы();
возвратит 0. Проверьте
 
G

Guest

Спасибо! Получилось, после задания владельца. Вот только наименование банка и к/с не вытаскиваются, т.к. идёт ссылка на справочник БАНКИ. Пишет COMобъект.
 
V

vbs

Я что-то не очень понял, ты что в интерактивном режиме поэлементно переносишь справочники ?
Не проще ли обработочку написать по переносу ?
 
G

Guest

Я что-то не очень понял, ты что в интерактивном режиме поэлементно переносишь справочники ?
Не проще ли обработочку написать по переносу ?


Ага. Мне только контрагентов надо. Вот осталось банки перетащить и всё. Как сделать, подскажи, пожалуйста?
 
V

vbs

Перенесешь банки, потом расчетные счета сядут как надо
 
V

vbs

Тогда горе. Придется банки в расчетных счетах переносить по БИКу (не знаю, как в 8ке, в 7.7 БИК - это код банка)
Если счетов много, не ленись, напиши обработку переноса.
Хороший программист обладает, по крайней мере, одним неоценимым качеством, именуемым "лень".
Если мне надо перенести 2 элемента, я заморачиваться не стану, если 10 - чуть подумаю, а вот больше - это уже влом руками таскать - написал программку - и спи спокойно :)
Я первый перенос когда-то написал, когда мне сказали, что в бухгалтерии дублировали накладную из ТиС НЕДЕЛЮ. Правда, накладная там была с большой буквы - 3800 позиций, больше я никогда не видел.
 
G

Guest

В 8-ке в справочнике банков такой же БИК.

В 7-ке
Перенёс справочник контрагенты.
Я вытащил из справочника "Расчётные счета" счета контрагентов. А вот банки, соответственно каждому расчётному счёту клиента, вытянуть не могу, т.к. в форме идёт ссылка Справочники.Банки. Там есть БИКи, если их вытянуть, то можно будет в 8-ке уже присваивать банки контрагентам.
 
V

vbs

так что мучаешься - программу переноса за полчаса напишешь
 
V

vbs

Я с 8кой не работал, но вот в 7ке из любой конфигурации выгрузил бы справочник "РасчетныеСчета" в таблицу (Владелец, реквизиты справочника, в которых есть БИК банка),
а при загрузке в другую конфигурацию делаю так - по БИКу ищу элемент справочника "Банки" и цепляю его как ссылку в справочник "РасчетныеСчета"
 
Мы в соцсетях:

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