1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
Aldnepr 24.10.16 - 14:36 | Необходимо синхронизировать некоторые данные из 7,7 в 8,3. (Подключаться именно в таком порядке, наоборот не подходит). К v8 я подключился, новый элемент тоже создал- разобрался. А вот как корректировать существующий??
Процедура Перенос() Контр7=СоздатьОбъект("Справочник.Контрагенты"); Контр8=БазаИсточник.Справочники.Контрагенты; Контр7.НайтиПоКоду("02608"); Кинц7=Контр7.ТекущийЭлемент(); Если Контр8.НайтиПоКоду(Кинц7.Код)=0 Тогда Кинц8=Контр8.СоздатьЭлемент(); Иначе Кинц8=Контр8.ТекущийЭлемент(); КонецЕсли; Кинц8.Код=Кинц7.Код; Кинц8.Наименование=Кинц7.Наименование; Кинц8.НаименованиеПолное=Кинц7.ПолнНаименование; Кинц8.Записать(); Сообщить("Записан"+" "+Кинц8.Код+" "+ Кинц8.Наименование); КонецПроцедуры | ||
Господин ПЖ 1 - 24.10.16 - 14:37 | Если Контр8.НайтиПоКоду(Кинц7.Код)=0 Тогда Кинц8=Контр8.СоздатьЭлемент(); Иначе Кинц8=Контр8.ТекущийЭлемент(); КонецЕсли; выкидывай. это вам не это | ||
MrStomak 2 - 24.10.16 - 14:37 | ПолучитьОбъект() | ||
Aldnepr 3 - 24.10.16 - 14:41 | (2) Напиши пжлста в коде, я в 8 только разбираюсь | ||
MrStomak 4 - 24.10.16 - 14:50 | (3) Если в 8 разбираешься, то в чем проблема изменить 8шный справочник? То же самое всё. Как-то так должно быть:
Контр8 = Приемник.Справочники.контрагенты.НайтиПоКоду("блаблабла"); Если Контр8.Пустая()=1 Тогда Контр8Объект = Приемник.Справочники.Контрагенты.СоздатьЭлемент(); Иначе Контр8Объект = Контр8.ПолучитьОбъект(); КонецЕсли; Контр8Объект.Записать(); | ||
Aldnepr 5 - 24.10.16 - 14:56 | (4) Спасибо, добрый Человек! Может подскажете мануал по языку 8, чтобы без лишней воды можно было быстрее разобраться? | ||
Aldnepr 6 - 24.10.16 - 15:00 | (4) я v8 только начал вникать, и все накопленное от 7,7 теперь будет страшно мешать восприятию новой конструкции ( это я как то сразу понял) | ||
mehfk 7 - 24.10.16 - 15:04 | |||
mehfk 8 - 24.10.16 - 15:05 | |||
Aldnepr 9 - 03.11.16 - 12:10 | Чего то завис с подчиненными справочниками. Необходимо заполнить спр. ЕдиницыИзмерения через ОЛЕ, а он как известно подчинен Номенклатуре. Вот что наваял, но выскакивает ошибка "выборка = ЕдИзм8.Выбрать(,Т8); {D:\BASE2\8.3\1C8_ОБРАБОТКИ\ОЛЕ.ERT(242)}: 1C:Enterprise 8.3.9.1818: Несоответствие типов (параметр номер '2')" Тов7=СоздатьОбъект("Справочник.ТМЦ"); Тов8=БазаИсточник.Справочники.Номенклатура; ЕдИзм8= БазаИсточник.Справочники.ЕдиницыИзмерения; КласЕдИзм8=БазаИсточник.Справочники.КлассификаторЕдиницИзмерения; Тов7.ВыбратьЭлементы(); Пока Тов7.ПолучитьЭлемент()=1 Цикл Если Тов7.ЭтоГруппа()=1 Тогда Продолжить; Конецесли; Найден=Тов8.НайтиПоКоду("0000"+СокрЛП(Тов7.Код)); Если Найден.Пустая()= 0 Тогда Т8 = Найден.ПолучитьОбъект(); выборка = ЕдИзм8.Выбрать(,Т8); Ед=выборка.СоздатьЭлемент(); Ед.ЕдиницаПоКлассификатору=Т8.БазоваяЕдиницаИзмерения; Ед.Коэффициент=1; Если Т8.БазоваяЕдиницаИзмерения= "0301" Тогда Ед.Вес=1; КонецЕсли; Ед.Записать(); Т8.Записать(); | ||
Ёпрст 10 - 03.11.16 - 12:17 | >>> выборка = ЕдИзм8.Выбрать(,Т8); >>> Ед=выборка.СоздатьЭлемент(); вот это всё в топку | ||
Serginio1 11 - 03.11.16 - 12:35 | Используй внешние отчеты.
Как через оле задать отбор? Жизнь сразу милее будет. Премущества сначала предварительная отладка, затем получение данных из неё по COM | ||
Aldnepr 12 - 04.11.16 - 10:50 | (11)я внешними обработками все и оформил. Перекинул уже правда не по COM а по OLE. Уж не знаю сильно ли отличаются эти методы,возможно в скорости обработки, но т.к. у меня базы на одном диске, то ОЛЕ обрабатывает мгновенно как 7,7-->8.3, так и наоборот | ||
Serginio1 13 - 04.11.16 - 12:05 | (12) COM и OLE суть одна. Есть только внутренний сервер(dll) и внешний (exe)
Если весь код в обработке, то большой разницы нет, так как весь код выполняется на стороне сервера. | ||
h-sp 14 - 04.11.16 - 12:18 | (12) 1. вот это бред
выборка = ЕдИзм8.Выбрать(,Т8); пиши выборка = ЕдИзм8.Выбрать(,Найден); 2. вместо этого Ед=выборка.СоздатьЭлемент();пиши Ед=ЕдИзм8.СоздатьЭлемент(); 3. А эта строка Если Т8.БазоваяЕдиницаИзмерения= "0301" Тогда вообще на грани абсурда. Ты элемент справочника со строкой сравниваешь. | ||
Aldnepr 15 - 04.11.16 - 13:28 | (14) Спасибо! Разобрался пункт 3. писал поздно вечером, то уже за гранью разума вышло)).
Могли бы помочь еще с закавыкой одной?- перенес с 7,7 контрагентов при помощи УниверсальнойОбработкиПереноса.epf и всё вроде ладно перенеслось, кроме одного- ЮрАдрес и телефон не прописался в "ВидКонтактнойИнформации" (см.рис. http://i013.radikal.ru/1611/94/a2413ac1f942.jpg ) . Эта информация выбирается из одноименного справочника, но в конфигураторе в форме Элемента спр.Контрагенты стоит "полеВвода" с типом строка. - http://s017.radikal.ru/i421/1611/c2/0dec89a2e36d.jpg Как добраться туда, чтобы обработкой заполнить эти недостающие данные? | ||
mehfk 16 - 05.11.16 - 06:16 | Курни регистр сведений "КонтактнаяИнформация". |
|
Список тем форума
|