Бит Финанс произвольное условие в правилах трансляции #732690


#0 by Fuas4
Добрый вечер, господа. Сабж делал кто? В чем проблема: код и логику я прописал, там у меня штук 50 буквально строк, которые выдают мне в переменную булево значение, на которое я хочу наложить условие. Я понят не могу, как мне это мое условие правильно оформить. В примерах вижу условия в 1 строку. Мое же условие генирируется вот в такое: "Если ( ЗаписьИсточник.СчетДт = ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками      И регистратор = ЗначениеРеквизита(Источник,"Регистратор");" Хотя у меня там дальше еще много чего интересного, оно в скобки условия не попадает. Киньте кто-нибудь примером, как многострочное условие вставить в произвольное условие правил транзакции
#1 by iHell
Больше года уже с бф не работаю. Загони свое условие в пользовательские функции, а в условии трансляции пропиши выполнение этой функции.
#2 by Guk
какая версия БиТ Финанс?...
#3 by Fuas4
3.0.36.11/3.1.16.4 Пользовательские функции не равно общий модуль?
#4 by Guk
не, по 3.0 не помощник. у нас 2.0...
#5 by Guk
но спасибо за сигнал. 3.0 - говно, как я и предполагал...
#6 by Fuas4
ну почему? Единственное, функционал есть, а справочной информации нет. Вот в этом аж трясет :) Но это к Биту вопрос, а не к БП
#7 by Fuas4
Нашел пользовательские функции, сейчас попробую, спасибо
#8 by iHell
Там в общем модуле трансляции есть процедура по выполнению этих функции, даже называется вроде "ВыполнитьПользовательскуюФункцию" - дальше думаю сам разберешься.
#9 by Fuas4
В предлагаемых параметрах пользовательских функций нет плана счетов. Как так?
#10 by Fuas4
+ Не так искал, извиняюсь
#11 by Fuas4
Подскажите еще, плз, по синтаксису: мне в пользовательскую функцию надо отправить ссылку на регистратор и на счет источника. Я никак понять не могу, что я должен написать. Если в стандартных условиях я выбираю Регистратор =, то получаю код "МетаданныеРегистратора.имя=". я, в принципе, согласен передать и просто метаданные, но у параметров пользовательской функции нет такого типа "Метаданные", поэтому нужна ссылка, а как передать не пойму. + передать счет источника. В обычном условии указываю Счет[ДтКт] и в кода строка выглядит как "СчетДТ" или "СчетКТ". Как мне этот же самый Счет[ДТКт] передать в мою функцию? если я пишу Счет[ДТКт], то он в произвольном условии в "СчетДТ" и "счетКТ" не преобразуется
#12 by Fuas4
ап
#13 by Лодырь
Не проще авторов или спецов по конфе в бите отыскать и замучать?
#14 by Fuas4
Я с Бит Финанс раньше не работал, т.е. как быстро отвечает саппорт не знаю, но судя потому, что у их документов и справочников даже справочной информации в конфе нет, остается надеяться на Мисту
#15 by Лодырь
Практически любой разработчик тиражного решения отвечает на вопросы заданные в письменном виде. Даже бит. Рекомендую хотя бы попробовать.
#16 by n0ther
вот пример, писал сам Первый БИТ в процессе внедрения БИТ:ФИНАНС 2.8
#17 by Fuas4
Спасибо, добрый человек, но это немного не то. Мне надо текст, который пишется в произвольное условие. Что-то типа бит_МеханизмТрансляции.ВыполнитьПользовательскуюФункцию(Справочники.бит_ПользовательскиеФункции.НайтиПоНАименованию("ЕстьАванс"),Регистратор,счет)=Истина. Вот мне непонятно, как передать регистратор и счет. Остальное вроде освоил. Ищу пока регистрационные данные, чтобы вопрос на форуме Бита задать.
#18 by n0ther
а-а-а-а. такого нема. и документация у БИТа отстой
#19 by n0ther
есть ЗаписьИсточник и ЗаписьПриемник, оттуда можно счет взять. Есть структурапараметров.СтруктураШапкиДокумента откуда можно взять реквизит Ссылка
#20 by Fuas4
Спасибо! Сейчас попробую
#21 by Fuas4
Со ссылкой получилось,еще раз спасибо. а в от со счетом нет. ЗаписьИсточник.Счет не существует, а записьисточник.Счет[ДтКт] ругается. что не знает "ДтКт". Понятно, что есть счетДт и СчетКт, но мне надо чтоб был именно общий счет, который в обычном условии называется Счет[ДтКт], т.к. иначе условие получается неуниверсальным. Из обычного условия Счет[ДтКт] раскладывается на счетДТ и счетКт, а из произвольного нет. Как быть?
#22 by n0ther
что значит "из обычного условия" ? вам нужно, чтобы произвольное условие вернуло истину или ложь, с учетом счета, не важно в дебете или кредите ? ну так пишите через логический оператор ИЛИ. ЗаписьИсточник.СчетДт = БлаБла или ЗаписьИсточник.СчетКт = БлаБла
#23 by Fuas4
из обычного условия: это из полей "Условие№1","Условие№2" и т.д. Действительно, я совсем приуныл и забыл про "или". Спасибо большое, все получилось!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С