Имя: Пароль:
1C
1С v8
Конвертация данных. с/ф полученный как перенести без отбора по периоду?
0 altaykniga
 
14.04.16
14:59
переношу доки реализацияТоваров, ПоступлениеТоваров, с/ф выданный и с/ф полученный из УНФ в БП.

Указываю период выгрузки 01.01.16-31.03.16.
т.е. все документы отбираются по дате.
но с/ф полученные создавались в апреле. Следовательно, даты с/ф полученных приходятся на апрель, а значения реквизита ДатаВходящегоДокумента приходятся на период 01.01.16-31.03.16.

Как сделать, чтобы на с/ф полученные срабатывал отбор не по дате документа, а по реквизиту датаВходящегоДокумента?
1 mehfk
 
14.04.16
15:04
В правиле выгрузки данных указать способ выборки - произвольный алгоритм и написать немного кода.
2 Pro-tone
 
14.04.16
15:08
можно еще создать параметр ДатаОтбора, и в ПКО перед обработкой поставить Отказ = датаВходящегоДокумента {вид сравнения} Источник.ДатаОтбора
3 altaykniga
 
14.04.16
15:15
(1) а где написать код для произвольного алгоритма? В обработчике ПВД "ПередОбработкой"?
4 altaykniga
 
14.04.16
15:43
как мне в параметр запроса установить период, который указываю при выгрузке данных? В помощи по обработчику прочитал, что к параметрам обращаться можно через структуру "Параметры". А как в этой структуре называются датаНачала и датаОкончания (которые задаются пользователем)
5 rintik
 
14.04.16
15:45
Можно в ПКО послеВгрузки дописать

СсылкаСчетФактура = УчетНДСПереопределяемый.НайтиПодчиненныйСчетФактуруВыданныйНаРеализацию(Источник.Ссылка);
Если НЕ СсылкаСчетФактура = Неопределено Тогда
    ВыгрузитьПоПравилу(СсылкаСчетФактура,
                        Неопределено,
                        Неопределено,
                        Неопределено,
                        "ИмяПравилаВыгрузкиСчетаФактуры",
                        ,
                        ,
                        );
КонецЕсли;
6 altaykniga
 
14.04.16
15:58
(5) в пко для ПриходныхНакладных?
7 altaykniga
 
14.04.16
16:07
как мне в обработчике "ПередОбработкой" обратится к периоду выгрузки, который задает пользователь ?
8 altaykniga
 
14.04.16
16:19
(3) написал такой код:

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    СчетФактураПолученный.Ссылка
        |ИЗ
        |    Документ.СчетФактураПолученный КАК СчетФактураПолученный
        |ГДЕ
        |    СчетФактураПолученный.ДатаВходящегоДокумента МЕЖДУ &Дата1 И &Дата2";
        
    Сообщить(""+ДатаНачала);
    Сообщить(""+ДатаОкончания);
    Запрос.УстановитьПараметр("Дата1", ДатаНачала);
    Запрос.УстановитьПараметр("Дата2", ДатаОкончания);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДанных = РезультатЗапроса.Выбрать();
9 altaykniga
 
14.04.16
16:20
(8) при выгрузке ругается. У запросе одну ссылку мало получать, да? Нужно получать все реквизиты документа, которые используются в правилах?
10 Йохохо
 
14.04.16
16:29
разве не проще разрешить выгружать сф по ссылке?
11 altaykniga
 
14.04.16
18:02
(10) так?

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    СчетФактураПолученный.Ссылка
        |ИЗ
        |    Документ.СчетФактураПолученный КАК СчетФактураПолученный
        |ГДЕ
        |    СчетФактураПолученный.ДатаВходящегоДокумента МЕЖДУ &Дата1 И &Дата2";
        
    Запрос.УстановитьПараметр("Дата1", ДатаНачала);
    Запрос.УстановитьПараметр("Дата2", ДатаОкончания);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДанных = РезультатЗапроса.Выбрать();
    Пока ВыборкаДанных.Следующий() Цикл
         ВыгрузитьПоПравилу(ВыборкаДанных.Ссылка, , , , "СчетФактураПолученный");
    КонецЦикла;
12 altaykniga
 
14.04.16
18:52
вопрос снят, все получилось, всем спасибо за помощь