Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Связь 7.7 - 7.7 по OLE, передача функции в запросе          
mister-x Подменю пользователя
сообщение 04.05.16, 17:29
Сообщение #1

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Є запит (частина):

// ===============================
Функция ПолучитьНомЛиц(Контрагент)
    Попытка
        лиц = Контрагент.ТипЛицензии;
        Если Лиц = Перечисление.ТипыЛицензий.Первый Тогда
            Возврат 1;
        ИначеЕсли  Лиц = Перечисление.ТипыЛицензий.Второй Тогда
            Возврат 2;
        ИначеЕсли  Лиц = Перечисление.ТипыЛицензий.Третий Тогда
            Возврат 3;
        ИначеЕсли  Лиц = Перечисление.ТипыЛицензий.Четвертый Тогда
            Возврат 4;
        КонецЕсли;                      
    Исключение
        Возврат 0;
    КонецПопытки;
КонецФункции



функция ПроверкаДокаПеремещение(Док)
    
    попытка
        если Док.Вид() = "ПеремещениеТМЦ" тогда
            если Док.КодОперации = перечисление.КодыОпераций.ВозвратИзРозницы тогда
                возврат 0;
            иначе
                Возврат 1;    
            конецесли;    
        иначе
            Возврат 1;    
        конецесли;    
       Исключение
        Возврат 0;
    КонецПопытки;

КонецФункции


ЗапросТам = v7.EvalExpr("CreateObject(""Запрос"")");
        ТекстЗапросаТам ="         
        |ПЕРИОД С '"+ВыбНачПериода+"' По '"+ВыбНачПериода+"';
        |ОбрабатыватьДокументы Проведенные;
                ...
                |Функция ВозвратИзРозницы = Сумма(Количество) Когда((ПолучитьНомЛиц(Контрагент)<>3)И(ПроверкаДокаПеремещение(ТекущийДокумент)=0));
                ...


Чи є можливість передати ці функції (і як) для викон. запиту в базу, яка підключена по OLE, а то при виконані запиту вибиває помилку, що ці функції не знайдені?

Сообщение отредактировал mister-x - 04.05.16, 17:29

Домовик Подменю пользователя
сообщение 04.05.16, 20:24
Сообщение #2

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

Андрію, а чому ви їх туди(в конфігурацію іншої бази) не кинете?
Це не етично? )

mister-x Подменю пользователя
сообщение 05.05.16, 10:14
Сообщение #3

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Ще є ідея зробити їх експортними в глобальному модулі тієї бази, до якої підключаюсь.

"Не свариться", але і не працюють ці функції в запиті...

Acid Подменю пользователя
сообщение 05.05.16, 10:36
Сообщение #4

Про1С-ник
Иконка группы
За заслуги на форуме в 2010 году
Группа: Местный
Сообщений: 2104
Из: Занзибар
Спасибо сказали: 377 раз
Рейтинг: 260.7

mister-x @ Сегодня, 11:14 *, Функции в запросах не работают через ОЛЕ.
Как вариант, в подключаемой базе сделать глобальную функцию с нужными отборами. И уже вызывать именно эту глобальную функцию.


Signature

Документируйте Код! мать вашу...


Спасибо сказали: mister-x,

mister-x Подменю пользователя
сообщение 06.05.16, 17:33
Сообщение #5

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Acid @ Вчера, 10:36 *,
на жаль, ця функція верне у базу, з якої підключаюся, тільки простий тип даних, а мені необхідно хоча б ТЗ - результат запиту. Тут потрібно якось переробити запит без вкладених функцій.

mister-x Подменю пользователя
сообщение 06.05.16, 23:13
Сообщение #6

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Хм, хіба перебрати результат функції в базі-ОЛЕ і передати в цю базу примітивні типи даних. Попробую...

Мичман Харитонов Подменю пользователя
сообщение 09.05.16, 19:26
Сообщение #7

Завсегдатай
****
Группа: Пользователи
Сообщений: 164
Из: м. Кам'янське
Спасибо сказали: 26 раз
Рейтинг: 0

А если использовать "ЗначениеВСтроку"?
Строка Через ОЛЕ передается... вот только максимально допустимую длину не помню.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 27.04.24, 18:43
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!