![]() |
|
Перенос из 7.7 через OLE | ☑ | ||
---|---|---|---|---|
0
Sun125
08.02.12
✎
22:48
|
Переношу данные справочника из 7.7, в нем один из реквизитов типа Перечисление. Как получить значение этого перечисления?
Спр = База.CreateObject("Справочник.Работы"); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() Цикл Значение = Спр.ТипРаботы.Значение ??? // Перечисление КонецЦикла; |
|||
1
Креатив
08.02.12
✎
22:51
|
(0)Знакомая ситуация. Занимаюсь подобной деятельностью. Ты что дальше-то с ним делать будешь?
|
|||
2
дущ
08.02.12
✎
22:54
|
Ну может сработает что-то типа
Если Значение = База.Перечисление.ВидПеречисления.Значение1 Тогда ИначеЕсли Значение = База.Перечисление.ВидПеречисления.Значение2 Тогда Ну или тупо Значение = Значение.Представление(); |
|||
3
Sun125
08.02.12
✎
22:56
|
Доступ к перечислениям базы OLE (аналогичен константе):ЗначениеПеречисленияOLE = БазаОле.Перечисление.Булево.НеЗнаю; // :)
Заметьте, что пользы для местной базы от переменной "ЗначениеПеречисленияOLE" особо-то и нет, ведь подобно справочнику и документу перечисление также напрямую недоступно для местной базы. Пожалуй, пример работы с ними может быть следующим (в качестве параметра условия): СмотретьТолькоВозвратыПоставщикам = 1; // предположим, что это - флажок в форме диалога, // который мы либо устанавливаем, либо снимаем ДокОле = БазаОле.CreateObject("Документ.РасходнаяНакладная"); ДокОле.ВыбратьДокументы(НачДата,КонДата); // НачДата и КонДата - также реквизиты формы // диалога, но база OLE прекрасно их понимает - // ведь это же даты! Пока ДокОле.ПолучитьДокумент()=1 Цикл Если СмотретьТолькоВозвратыПоставщикам = 1 Тогда Если ДокОле.ПризнакНакладной <> БазаОле.Перечисление.ПризнРасхНакл.ВозвратПоставщику Тогда Продолжить; КонецЕсли; Иначе Если ДокОле.ПризнакНакладной = БазаОле.Перечисление.ПризнРасхНакл.ВозвратПоставщику Тогда Продолжить; КонецЕсли; КонецЕсли; Сообщить(ДокОле.Вид() + " № "+ДокОле.НомерДок + " от " + ДокОле.датаДок); КонецЦикла; |
|||
4
Креатив
08.02.12
✎
22:56
|
(2) Со значением не прокатывает. Так что тупо нужен Идентификатор(), если просто для сравнения.
|
|||
5
Креатив
08.02.12
✎
22:58
|
(3)ДокОле.ПризнакНакладной.Идентификатор() <> "ВозвратПоставщику"
Как-то так. |
|||
6
Креатив
08.02.12
✎
22:59
|
(0)Хорошо тебе, ты только один справочник переносишь...
|
|||
7
Сияющий Асинхраль
08.02.12
✎
23:14
|
Да хоть все, а не проще использовать КД? На днях для того чтобы перенести остатки номенклатуры (включая и номенклатуру) между разными тис понадобилос часа полтора времени с помощью кд
|
|||
8
Джинн
08.02.12
✎
23:20
|
(7) Это Вы как-то не по-человечески... А где подвиг, героическое преодоление трудностей, ночи без сна? Где моральное удовлетворение? Взять просто так на 90% мышом перенос натыкать за полтора часа. Или хуже того, так низко пасть, чтобы подсмотреть перенос в типовых правилах и по аналогии сделать.
Это не наш метод! |
|||
9
Гот
08.02.12
✎
23:22
|
Через ОЛЕ - это для тех, кому лень изучить КД?
|
|||
10
Креатив
08.02.12
✎
23:24
|
(7)Были до меня любители КД. Обещали всё сделать к середине декабря...
Надо либо быть гуру в КД, либо сразу забивать на это грязное дело. (8)А если в исходной конфигурации нарушена методология учётной системы? |
|||
11
Сияющий Асинхраль
08.02.12
✎
23:31
|
(10) ее там может вообще не быть (методологии то бишь), зато там есть информация, которую можно достать за пять минут
|
|||
12
Креатив
08.02.12
✎
23:33
|
(11)Дело вещь не в достать, а правильно интерпретировать. Тут без программного кода всё равно не обойтись. И я не знаю, так ли удобна КД, чтобы туда вставлять существенные его куски.
|
|||
13
Джинн
08.02.12
✎
23:34
|
(10) Коллега, я сегодня с утра дал задачу коллеге развернуть КД и настроить перенос из сильно нестандартной ТиС 7.7 в УПП. Около 11 часов утра. Примерно к часу дня номенклатура, контрагенты, контактная информация, контакты (7.7 с элементами CRM) уже переносилась в пробном варианте. Да, там местами подпилить нужно, местами пока не разобралась как сделать. Замечу, конфа крайне нестандартная - где-то из реквизита в регистр сведений, где-то из подчиненного справочника в реквизит или в табличную часть и т.п.
Я понимаю, что коллега очень толковая и опытная (хоть и с КД не работала). Но по крайней мере это говорит, что ничего особо заумного в КД нет. И... Разобравшись 1 раз, Вы сможете рулить данными как хотите легким движением мыши. ЗЫ - лучше день потратить, но потом за 5 минут долететь (с) |
|||
14
Креатив
08.02.12
✎
23:47
|
(13)Вообще-то "Лучше день потерять, а потом за пять минут долететь".
"где-то из реквизита в регистр сведений, где-то из подчиненного справочника в реквизит или в табличную часть и т.п. " Это да. Но когда часть документов нужно просто выкинуть при переносе, при этом из одного элемента справочника иногда нужно делать два. И кстати, наибольшую засаду представляет интерпретация имеющейся в исходной базе информации. И само написание кода не отнимает так уж много времени в процентном соотношении. Но может ты и прав. Только день-то всё равно нужно потерять. И есть небольшая вероятность, что в моём случае средств КД может и не хватить. |
|||
15
ProxyInspector
08.02.12
✎
23:55
|
Перенос с использованием КД подходит для баз уровня ларька. Серьезную базу из 7-ки с помощью КД никогда не перенесешь. Дело в том, что что в процессе формирования файла выгрузки из 7-ки. Формируется список значений узлов ссылок. К сожалению 7-ка при некотором размере списка значений (где-то на уровне 600 тыс) тупо умирает.
|
|||
16
Джинн
09.02.12
✎
00:14
|
(14) Да легко! Это даже я, который КД пару раз открывал из академического интереса, понимаю как сделать. Там только с виду все непонятно.
(15) 480 тыс. элементов номенклатуры переносилось на моей памяти. И соответственно за ними тянулась связанная информация. Но остатки отдельно тянули, вторым проходом. И остатки взаиморасчетов третьим проходом. С размерами есть некоторые проблемы. |
|||
17
ProxyInspector
15.02.12
✎
12:15
|
(16) Я же говорю - ларек. А если тебе надо перенести 10 тыс документов - оборот мелкой фирмы за месяц. КД потянет за этим все справочники и конец КД.
|
|||
18
Guk
15.02.12
✎
12:36
|
в 2011, с помощью правил КД, переносили элит-строительство с остатками и оборотами за 5 месяцев. порядка 200 тыс документов, 100 тыс номенклатуры, 10 тыс контрагентов. перенеслось без проблем. а послушали бы тогда ПроксиИнспектора, и наверное побоялись бы переносить...
|
|||
19
ДенисЧ
15.02.12
✎
12:38
|
(18) У меня один день производстсва на неслабой машине через КД выгружается 45 минут. Потом, если не проводить документы, грузится за 20, если проводить - полтора часа...
ПУБ-УПП |
|||
20
Guk
15.02.12
✎
12:41
|
(19) перепиши обмен через ОЛЕ ;)...
|
|||
21
ДенисЧ
15.02.12
✎
12:42
|
(20) Не надо уже :-)
Это производство уже в 8ке нативно создаётся... |
|||
22
ProxyInspector
15.02.12
✎
13:31
|
(18) Вы наверно переносили по частям, с магическими танцами и бубнами и оооочень долго :) И наверно вы переносили из 8-ки в 8-ку. Несмотря на тормоза 8-ки она лучше работает с большими списками и таблицами. В (16) я говорил о переносе 77-82
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |