Имя: Пароль:
1C
1С v8
Синхронизация только по номерам и организациям внутри года, как сделать?
,
0 Сияющий Асинхраль
 
29.04.12
17:01
Написал правила переноса из УПП в БП. К сожалению, народ частенько меняет время а то и дату документов и при синхронизации Номер, Дата, Организация документы двоятся. Попробовал убрать синхронизацию по дате (убрал галку поиска с даты), оставил Номер, Организация, все равно система пытается сделать синхронизацию по дате, а при записи находит другой документ с другой датой и вываливается в ошибку. Попробовал определить ключ:
КлючВыгружаемыхДанных = Строка(НачалоГода(Источник.Дата)) + Строка(Источник.Номер) + Строка(Источник.Организация.Код);
все равно пытается синхронизировать по дате. Как победить?
1 zak555
 
29.04.12
17:01
что переносишь ?
2 Сияющий Асинхраль
 
29.04.12
17:06
Большое число глюков при переносе ПоступленийТоваровИУслуг и РТиУ :-(
УПП - управленческая, БП - бухгалтерская базы
3 MadHead
 
29.04.12
17:14
Я бы по внутренним идентификаторам синхронизировал. Хранил бы в базе гуид объекта в другой базе
4 Сияющий Асинхраль
 
29.04.12
17:23
(3) По видимому часть доков в БП пришло из другой базы и поиск по внутренним ИД тоже не срабатывает :-(
5 Сияющий Асинхраль
 
29.04.12
17:34
+(4) Не, неправ, они часть доков руками сделали, и поставили на другую дату, а при загрузке это получается гемор. Пока победить не могу
6 zak555
 
29.04.12
18:34
(3) а что в упп нельзя ввести общий реквизит для доков ПТиУ и РТиУ, в котором будет хранится ИД доков в БП и по ним сихронизацию делать ?
7 echo77
 
29.04.12
18:43
(6) Регистр сведений соответствие объектов для обмена служит для этого.

(0) Вам видимо правила поиска надо менять. В обработчике ...
8 echo77
 
29.04.12
18:47
+(7) В обработчике ПоляПоиска определяете значение параметра СсылкаНаОбъект по вашему произвольному алгоритму
9 Лоботряс
 
29.04.12
19:32
Это семерка? Не вводите народ в забоуждение...
10 Сияющий Асинхраль
 
29.04.12
19:59
(9) читай внимательно упп и бп. Это семерка?
(8) да, играюсь с полями. Авось получится, хотя пока не сильно успешно
11 Лоботряс
 
29.04.12
20:30
(9) Не досмотрел, прошу прощения.
12 Сияющий Асинхраль
 
30.04.12
19:58
(8) а как в обработчике Поляпоиска увидеть код, организацию и дату источника? У меня источник здесь не виден, а без этих параметров нечего искать
13 Extro
 
30.04.12
20:47
(12) Установить у этих полей флаг поиска.
14 Сияющий Асинхраль
 
01.05.12
16:04
Кому интересно, победил поиск по коду внутри года, как и было написано в (8)

Если НомерВариантаПоиска = 1 Тогда
   
   СтрокаИменСвойствПоиска = "Номер, Организация, Дата";
   
Иначе
   
   Если НЕ ЗначениеЗаполнено(СсылкаНаОбъект) Тогда
       
       Запросы.ПоискПТиУВТекГоду.УстановитьПараметр("КонДата", КонецГода(СвойстваПоиска.Получить("Дата")));
       Запросы.ПоискПТиУВТекГоду.УстановитьПараметр("НачДата", НачалоГода(СвойстваПоиска.Получить("Дата")));
       Запросы.ПоискПТиУВТекГоду.УстановитьПараметр("ТекНомер", СвойстваПоиска.Получить("Номер"));
       Запросы.ПоискПТиУВТекГоду.УстановитьПараметр("ТекОрганизация", СвойстваПоиска.Получить("Организация"));
       
       Результат = Запросы.ПоискПТиУВТекГоду.Выполнить();
       
       ВыборкаОсн = Результат.Выбрать();
       
       Если ВыборкаОсн.Следующий() Тогда
           СсылкаНаОбъект = ВыборкаОсн.Ссылка;
       КонецЕсли;
       
   КонецЕсли;
   
КонецЕсли;

где ПоискПТиУВТекГоду - это простейший запрос:


ВЫБРАТЬ ПЕРВЫЕ 1
ПоступлениеТоваровУслуг.Ссылка,
ПоступлениеТоваровУслуг.Организация
ИЗ
Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
ГДЕ
ПоступлениеТоваровУслуг.Номер = &ТекНомер
И ПоступлениеТоваровУслуг.Дата МЕЖДУ &НачДата И &КонДата
И ПоступлениеТоваровУслуг.Организация = &ТекОрганизация

Осталось выяснить, можно ли как-то сделать запрос по произольному виду документов, т.е. можно ли в обработчике ПоляПоиска видеть виды объектов...
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.