Имя: Пароль:
1C
1С v8
Вопрос по КД
0 Aleksei_Pro
 
09.08.12
14:04
Пишу правила переноса между 2 базами документами. Базы идентичны, такой вопрос: если переносится документ реализация товаров, и в нем контрагент переносится, то все содержимое контрагента перенесется ( это договора все по нему, банковские счета, котактные лица)? или справочники отдельно надо выгружать?
1 golden-pack
 
09.08.12
14:06
правила писать для каждого объекта.
2 Aleksei_Pro
 
09.08.12
14:08
(1) да правила написаны для каждого объекта и готовы. Только вопрос , если контрагент выгрузится как с ним подвяжутся другие справочники, в контрагенте же нет ссылок на них?
3 ssh2006
 
09.08.12
14:09
Никак не подвяжутся
4 Aleksei_Pro
 
09.08.12
14:10
Тогда вопрос, как сделать правильно, выгружать и справочники или как то можно прописать чтобы выгружались все справочники, где владельцем указан данный контрагент?
5 golden-pack
 
09.08.12
14:10
Если нужно выгружать все договора (например) - просто добавь этот справочник в правила выгрузки..
6 Aleksei_Pro
 
09.08.12
14:13
(5) нет у меня есть справочник контрагенты доработанный, на нем 5 подчиненных справочников расположены, не красиво будет в правила выгрузки 1 типа документа, еще включать 5 справочников и при этом, справочнки все перегрузятся.
7 ssh2006
 
09.08.12
14:15
Например в ПослеВыгрузки ПВД Контрагента выгружай нужно с помощью ВыгрузитьПоПравилу
8 Aleksei_Pro
 
09.08.12
14:21
(7)В после выгрузки написал так?:
Если (НЕ Источник.ЭтоГруппа) И (НЕ Источник.ПометкаУдаления) Тогда
Запрос = Новый Запрос;
Запрос.текст = "
|ВЫБРАТЬ
   |КонтактнаяИнформация.Объект,
   |КонтактнаяИнформация.Тип,
   |КонтактнаяИнформация.Вид,
   |КонтактнаяИнформация.Представление,
   |КонтактнаяИнформация.Поле1,
   |КонтактнаяИнформация.Поле2,
   |КонтактнаяИнформация.Поле3,
   |КонтактнаяИнформация.Поле4,
   |КонтактнаяИнформация.Поле5,
   |КонтактнаяИнформация.Поле6,
   |КонтактнаяИнформация.Поле7,
   |КонтактнаяИнформация.Поле8,
   |КонтактнаяИнформация.ТипДома,
   |КонтактнаяИнформация.ТипКвартиры,
   |КонтактнаяИнформация.ТипКорпуса,
   |КонтактнаяИнформация.Поле9,
   |КонтактнаяИнформация.Поле10,
   |КонтактнаяИнформация.Комментарий,
   |КонтактнаяИнформация.ЗначениеПоУмолчанию
|ИЗ
   |РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
   |КонтактнаяИнформация.Объект = &Объект";
Запрос.УстановитьПараметр("Объект",Источник);
Выборка = Запрос.выполнить().Выбрать();
Пока выборка.следующий() Цикл
    ВыгрузитьПоПравилу(Выборка,,,,"КонтактнаяИнформация");
КонецЦикла;
КонецЕсли;

ВыгрузитьПоПравилу(Источник,,,,"ДоговорыКонтрагентов");
ВыгрузитьПоПравилу(Источник,,,,"БанковскиеСчета");
ВыгрузитьПоПравилу(Источник,,,,"ТочкиДоставки");
ВыгрузитьПоПравилу(Источник,,,,"доп_BulkСтационарныеЕмкости");                                    
ВыгрузитьПоПравилу(Источник,,,,"КонтактныеЛица");
9 Aleksei_Pro
 
09.08.12
14:26
Вот это правильно будет?
ВыгрузитьПоПравилу(Источник,,,,"ДоговорыКонтрагентов");
Источник - это контрагент
10 ssh2006
 
09.08.12
14:27
(9) думаю что нет. Нужно указывать выгружаемую ссылку, а не источник
11 Aleksei_Pro
 
09.08.12
14:29
(10) источник.ссылка?
12 ssh2006
 
09.08.12
14:32
Ссылку на нужный договор, счет и тд. Например делаешь выборку подчиненных договоров и выгружаешь по правилу в цикле
13 Aleksei_Pro
 
09.08.12
15:17
хорошо, а как установить в контрагенте отбор по организации когда выгружаю договора по правилу?
14 ssh2006
 
09.08.12
15:30
Организация может быть параметром конвертации например
15 Йохохо
 
09.08.12
15:34
(3) (5) абсолютно не верно
(2) подвяжутся все, не кипишуй. РС не подвяжется
16 Aleksei_Pro
 
09.08.12
15:37
РС это понятно, я его и привязал
17 Йохохо
 
09.08.12
15:43
все остальное будет выгружено по ссылке
18 Aleksei_Pro
 
09.08.12
16:10
(17) например справочник "Контактные лица" не переносится
19 Йохохо
 
09.08.12
16:29
если есть ссылка на контактное лицо в документе, то вполне себе переносится
20 Йохохо
 
09.08.12
16:29
+элемент
21 Aleksei_Pro
 
09.08.12
16:54
Выгружаю документ, там есть котрагент, а у контрагента есть подчиненный справочник "Контактные лица", он не переносится , пробовал так:
   запрос_1 = новый запрос;
   запрос_1.Текст  = "ВЫБРАТЬ
   |    КонтактныеЛица.Ссылка,
   |    КонтактныеЛица.ПометкаУдаления,
   |    КонтактныеЛица.Предопределенный,
   |    КонтактныеЛица.ОбъектВладелец,
   |    КонтактныеЛица.Код,
   |    КонтактныеЛица.Наименование,
   |    КонтактныеЛица.Фамилия,
   |    КонтактныеЛица.Имя,
   |    КонтактныеЛица.Отчество,
   |    КонтактныеЛица.ДатаРождения,
   |    КонтактныеЛица.Роль,
   |    КонтактныеЛица.Должность,
   |    КонтактныеЛица.Описание,
   |    КонтактныеЛица.ВидКонтактногоЛица,
   |    КонтактныеЛица.ПользовательЛичногоКонтакта,
   |    КонтактныеЛица.Представление
   |ИЗ
   |    Справочник.КонтактныеЛица КАК КонтактныеЛица
   |ГДЕ
   |    КонтактныеЛица.ОбъектВладелец = &ОбъектВладелец";
   запрос_1.УстановитьПараметр("ОбъектВладелец",Источник);
   Выборка_1 = запрос_1.выполнить().Выбрать();
   Пока Выборка_1.следующий() Цикл
       ВыгрузитьПоПравилу(Выборка_1,,,,"КонтактныеЛица");
   КонецЦикла;

Выгражается только 1-ая строка
22 fisher
 
09.08.12
17:02
Для ПКО, которые без источника надо или ставить галку "Не запоминать выгруженные объекты" или прописывать перед выгрузкой "КлючВыгрузкиДанных" (как-то так называется, точно не помню). А иначе ключом выгрузки по дефолту является представление источника (т.е. они у тебя все в одного выгружаются).
23 fisher
 
09.08.12
17:05
Вернее, не все в одного, а при выгрузке остальных после первого КД считает что эти данные уже выгружались (неправильно оптимизирует).
24 Aleksei_Pro
 
09.08.12
17:07
(23) ставить галку в пко у контактной информации?
25 Aleksei_Pro
 
09.08.12
17:11
да спасибо взлетело
26 fisher
 
09.08.12
17:11
(24) Да. Но этим ты отключаешь оптимизацию выгрузки. Т.е. если где-то еще раз при выгрузке встретится ссылка на этого контрагента, то его контакты будут выгружены повторно.
Правильнее прописать "КлючВыгружаемыхДанных", например скомбинировав его из кода контрагента и кода контактного лица. Тогда сколько бы при выгрузке не встретилась эта ссылка, выгружена она будет только один раз.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn