:: Вопросы по 1С
Синхронизация Контрагентов и подчиненных справочников 8.3 с 7.7
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Синхронизация Контрагентов и подчиненных справочников 8.3 с 7.7

1С:Предприятие 8.3 (8.3.7.2008)
Бухгалтерия предприятия, редакция 3.0 (3.0.43.155)
УФ. Тонкий клиент.

Задача заполнить все данные по контрагенту из 1С 7.7.
А так же, при "Записать" передать данные в 7.7

При передаче в 7.7, когда передаю полностью контрагента, со всеми сопутствующими справочниками, все ОК.
Но при вводе нового договора, надо сохранить договор, а потом сохранить контрагента.
Только тогда договор попадет в 7.7
Решил, по аналогии с сохранением контрагента, сохранять договор.
Использую для этого ДоговорыКонтрагенты.ФормаЭлемента (по аналогии с контрагентом)
И тут тупо, не нахожу события
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
Я наивный описал его в области
#Область ОбработчикиСобытийФормы
Нет. Не попадет туда.

Просто не нашел нужного события.
(Нашел описание последовательности событий при закрытии формы, и там оно есть.)
Можно как то создать, зарегистрировать событие, или не тем путем иду?


------------------
Ratings: 0 negative/0 positive
Re: Синхронизация Контрагентов и подчиненных справочников 8.3 с 7.7
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
Свойства корневого элемента формы ("Форма"):
[attachment 24002 form.png]

Если обработчик события не назначен, достаточно нажать на лупу, обработчик события будет создан автоматически. Если предварительно задать название обработчика события, то он создастся с заданным названием. Здесь же можно поменять процедуру-обработчик события.
Ratings: 0 negative/0 positive
Re: Синхронизация Контрагентов и подчиненных справочников 8.3 с 7.7
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
А действительно есть необходимость переносить изменения минута в минуту? Почему бы не настроить регламентное задание раз в час? Я бы регистрировал факт изменения объектов в своем плане обмена, а раз в час запускал обмен. Правила обмена подготовил бы в конвертации.

PS. Я больше скажу. А если семёрочная база была недоступна и изменения не сохранились, как вы их переносить собираетесь?



Исправлено 1 раз(а). Последнее : pasha_usue, 31.03.16 15:13
Ratings: 0 negative/0 positive
Re: Синхронизация Контрагентов и подчиненных справочников 8.3 с 7.7
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Спасибо. так и знал что где то назначается) На VS похоже, не догадался)

pasha_usue
Правила обмена подготовил бы в конвертации.

Интересное предложение.
Ну доступность 7.7 100%
ну пусть 99.9999% )))
Она рабочая, с ней работает все и всё.

Тем не менее...
С конвертации начинал.
Закончил конкретно в мае прошлого года.
Тогда и преренес контрагентов.

Теперь открыл. Ничего не помню(
Думал ручками быстрее и понятнее будет.

Минута в минуту не нужно) Но получится.
Не сработает, при любом сохранении в 83 контрагента все перенесется.

И наверное... дело в том, что разбираться с конвертацией, очень не просто.
Для незнающего. Надо конечно.
Но, написав свой обмен, решая конкретную задачу, хоть немного поднатаскаюсь в 8.3

Ну и обнаглею, еще вопрос.

Из 7.7 все получаю. А при заполнении, возникают трудности.
Собственно есть 3 починенных справочник
1. Договоры
2. БанковскиеСчета
3. КонтактныеЛица.

И у каждого свои особенности.

Договоры заполняются на Ура.
Про КонтактныеЛица упоминал. Удивляет вместо владелец - ОбъектВладелец.
Вот у Радченко вычитал
"Если справочник подчинен другому
объекту конфигурации, у него будет доступен реквизит Владелец."
Не понятно, зачем. Ну да бог с ним)

Самое непонятное:
Пытаюсь заполнить БанковскиеСчета аналогично Договорам.
И ничего не выходит(
Какой то он другой справочник)))

Процедура РасчетныйСчетИз77(ТекущийОбъект,Контрагенты77,РС77) Экспорт
РС77.ИспользоватьВладельца(Контрагенты77.ТекущийЭлемент());
РС77.ВыбратьЭлементы();
Ссылка = ТекущийОбъект.Ссылка;
РС83 = Справочники.БанковскиеСчета;
Пусто = РС83.ПустаяСсылка();
Пока РС77.ПолучитьЭлемент(1) Цикл
НомРС77=РС77.ТекущийЭлемент().Код;
НайденнаяСсылка = РС83.НайтиПоКоду(НомРС77,,,Ссылка);
Если НайденнаяСсылка = Пусто Тогда
РС83.СоздатьЭлемент(); //впечатление что это не тот метод
//РС83.Владелец = Ссылка;
//РС83.код = РС77.код;
РС83.НомерСчета = РС77.Номер;
//Занести банк
Банк77=РС77.БанкОрганизации.Наименование;
Банк83=Справочники.Банки;
//ПустойБанк=Банк83.ПустаяСсылка();
НБанк=Банк83.НайтиПоНаименованию(Банк77);
Если НБанк =0 тогда
Банк83.СоздатьЭлемент();
Банк83.Наименование=Банк77;
Банк83.записать();
НужныйБанк=Банк83.Ссылка
Иначе
НужныйБанк=НБанк.Ссылка;
КонецЕсли;
РС83.Банк=НужныйБанк;
РС83.записать();
Контрагенты83=Ссылка.ПолучитьОбъект;
Контрагенты83.ОсновнойБанковскийСчет=РС83.Ссылка;
Иначе
КонецЕсли
КонецЦикла
КонецПроцедуры


------------------
Ratings: 0 negative/0 positive
Re: Синхронизация Контрагентов и подчиненных справочников 8.3 с 7.7
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
Да всё тот метод.
НовыйРС = РС83.СоздатьЭлемент(); //впечатление что это не тот метод
НовыйРС.Владелец = Ссылка;
НовыйРС.код = РС77.код;
НовыйРС.НомерСчета = РС77.Номер;
НовыйРС.Записать();

Синтакс-помощник вызывается Ctrl+F1 на методе в редакторе модулей. Там очень хорошие примеры.

В семёрке не создавался новый экземпляр объекта, ты продолжал работать с объектом справочника. В восьмерке сделано чуть более человечески. Метод справочника СоздатьЭлемент() возвращает объект элемента справочника, а уже с ним работаешь.

Аспид
Контрагенты83=Ссылка.ПолучитьОбъект;
Контрагенты83.ОсновнойБанковскийСчет=РС83.Ссылка;
Ужос-ужос. Зачем из ссылки получать объект, а возвращать из этого объекта ссылку? Тем более, ПолучитьОбъект() это метод. Он должен быть со скобочками.

Аспид
Если НайденнаяСсылка = Пусто Тогда
Если НБанк =0 тогда
Нее. Это опять семерочный синтаксис. Метод вернет значение ПустаяСсылка(), вам надо проверять Если Не ЗначениеЗаполнено(НБанк) Тогда

Аспид
НБанк=Банк83.НайтиПоНаименованию(Банк77);
Банк лучше искать по коду. В бухгалтерии 3.0 в коде банка зашит БИК - он уникален. А в семёрке сами посмотрите, БИК в код зашит, или отдельным реквизитом. Там в разных конфигурациях по-разному было.



Исправлено 1 раз(а). Последнее : pasha_usue, 01.04.16 08:11
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 2 (Гостей: 2)

© 2000-2024 Fox Club 
Яндекс.Метрика