|
КД: отбор документов по 2-й дате возможен? |
☑ |
0
Mikhail Volkov
31.05.13
✎
07:35
|
Обмен между 2-я базами БП2.0 (разные конфигурации) идет через обработку УниверсальныйОбменДаннымиXML по периодам. Руководству вздумалось в ряд документов ввести 2-ю дату. Теперь нужно выгружать документы не только за заданный период, но и те, у которых 2-я дата попадает в заданный период.
Можно ли такой отбор документов прописать в правилах обмена (как?), или придется УниверсальныйОбменДаннымиXML курочить?
|
|
1
Wobland
31.05.13
✎
07:36
|
ПВД сделай своё
|
|
2
Mitriy
31.05.13
✎
07:38
|
можно воспользоваться отбором...
|
|
3
Mikhail Volkov
31.05.13
✎
08:20
|
(1) Где, в каком обработчике, "Перед выгрузкой данных"?
В демке КД есть пример, как пишутся ПВД? Или в каких типовых правилах обмена можно посмотреть пример?
|
|
4
Wobland
31.05.13
✎
08:24
|
я вот так делал. может, криво, да работает ;)
Если Параметры.СтандартнаяОбработкаВыгрузки=0 Тогда
ИмяДокумента="ПоступлениеТМЦ";
ИмяПравила="ПоступлениеТоваровУслуг";
док=СоздатьОбъект("Документ."+ИмяДокумента);
ИспользоватьВыгрузкуПоОрганизации=-ПустоеЗначение(Параметры.Организация)+1;
док.ВыбратьДокументы(ДатаНачала, ДатаОкончания);
Пока док.ПолучитьДокумент()=1 Цикл
Если ((ИспользоватьВыгрузкуПоОрганизации=1) И (док.ЮрЛицо=Параметры.Организация)) ИЛИ (ИспользоватьВыгрузкуПоОрганизации=0) Тогда
ВыгрузитьПоПравилу(док.ТекущийДокумент(), , , , ИмяПравила);
Иначе
Отказ=1;
КонецЕсли;
КонецЦикла;
КонецЕсли;
|
|
5
fenixx
31.05.13
✎
08:32
|
(0) Создаёшь новое ПВД, способ выборки - "Произвольный алгоритм". В обработчике "ПередОбработкой" пишешь свой алгоритм выборки, каждый полученный документ выгружаешь посредством команды "ВыгрузитьПоПравилу"
|
|
6
Mikhail Volkov
31.05.13
✎
09:07
|
(5) Такое ПВД надо создать для каждого документа, который имеет 2-ю дату? Допустим создал ПВД_АвансовыйОтчет_ПередОбработкойПравила, что дальше?
|
|
7
cw014
31.05.13
✎
09:10
|
Вопрос "как написать код"... Загляни в описание к обработчикам событий да посмотри. Там все переменные есть, а уж код с отбором под 1С сможешь и сам написать...
И да... +(2) отбором тоже пользоваться можно
|
|
8
Mikhail Volkov
31.05.13
✎
09:14
|
(7) Нет, не про код. Где указать "ВыгрузитьПоПравилу"?
|
|
9
Wobland
31.05.13
✎
09:19
|
(8) В обработчике "ПередОбработкой"
|
|
10
cw014
31.05.13
✎
09:19
|
(8) Почитай обработчики. Вообще в ПВД можно использовать "ВыборкаДанных"
|
|
11
ЧашкаЧая
31.05.13
✎
09:21
|
В обработчике ПВД перед обработкой
// получаем выборку по второй дате
Запрос = Новый Запрос;
Запрос.Текст =
...
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДокументСсылка = Выборка.Ссылка;
ВидДокумента = Выборка.Ссылка.Метаданные().Имя;
ВыгрузитьПоПравилу(ДокументСсылка, , , , ВидДокумента); // здесь вид документа это на самом деле имя ПКО, здесь можна вручную строку вписать
КонецЦикла;
|
|
12
Mikhail Volkov
31.05.13
✎
09:43
|
(11) Спс
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший