8.х Условия в конвертации данных

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем LivingStar, 28 апр 2016.

  1. TopicStarter Overlay
    LivingStar
    Offline

    LivingStar

    Регистрация:
    17 ноя 2015
    Сообщения:
    24
    Симпатии:
    0
    Баллы:
    1
    Задаю условие перед выгрузкой документа.
    Нужно выгрузить только документы имеющие указанные виды операций.
    Как это правильно сделать?


    Отказ = Не Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ОплатаПоставщику;
    Отказ = Не Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ВозвратПокупателю;
    Отказ = Не Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПрочиеРасчетыСКонтрагентами;
    Отказ = Не Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПереводНаДругойСчет;
    Отказ = Не Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.СнятиеНаличных;
    Отказ = Не Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПрочееСписание;
  2. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.023
    Симпатии:
    51
    Баллы:
    54
    Рассмотрим вариант, если у вас вид операции -ОплатаПоставщику:
    1 строка Отказ = Ложь; т.е документ выгружается,
    2 строка Отказ = Истина. Документ не выгрузится.
    Вы отказ меняете от проверки к проверке, а проверку нужно сделать одну.
    Код:
    Отказ = Истина;
    Если Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ОплатаПоставщику;
    ИЛИ Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ВозвратПокупателю;
    ИЛИ Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПрочиеРасчетыСКонтрагентами;
    ИЛИ Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПереводНаДругойСчет;
    ИЛИ Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.СнятиеНаличных;
    ИЛИ Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПрочееСписание;
     Тогда Отказ = Ложь;
    КонецЕсли;
    
    Для всех остальных видов операций отказ не изменится и будет равен Истина;
    Но наверное лучше будет читаться код, если у вас отказ должен вызвать 1 вид операции, а все остальные - нет тогда
    так:
    Код:
    Если Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПрочееСписаниеНаКормДляПопугайчикаДиректора Тогда
    Отказ = Истина;
    Иначе
    Отказ = Ложь;
    КонецЕсли;
    
  3. TopicStarter Overlay
    LivingStar
    Offline

    LivingStar

    Регистрация:
    17 ноя 2015
    Сообщения:
    24
    Симпатии:
    0
    Баллы:
    1
    Большое Спасибо!!! Принимаю к сведению вашу поправку. Так и буду использовать.

    Хотя кажется и то что в (0) тоже работает!!!

    а ругается на вот это
    Значение = Источник.ДокументОснование.СчетКонтрагента;
    Перегружаю документы СписаниеСРасчетногоСчета из БП 3.0 в УП 2 (ERP). И у значения реквизита БанковскийСчетПолучатель задаю реквизит
    документа основание ПлатежноеПоручение СчетКонтрагента.

    Может проверять на заполнение поля ДокументОснование ?

Поделиться этой страницей