Вопрос:
Можно ли, находясь в табличной форме Журнал взаиморасчетов и установив курсор на документ
отгрузки, получить ID этого документа для передачи значения в качестве параметра в функцию СУМ_ДАННЫЕ?
Ответ:
Из журнала взаиморасчетов Вы проводите какой-либо документ. Предположим, что для функции СУМ_ДАННЫЕ
используется запрос вида:
SELECT <поля> FROM <таблица> WHERE DOK_ID = :ID
В качестве значения параметра :ID нужно использовать ID проводимого документа.
Тогда в Мастере запросов в качестве значения этого параметра нужно указать DOC@ID и не обращать внимания на
сообщения о том, что такое значение не является целым числом. Функция СУМ_ДАННЫЕ интерпретирует значения
параметров, указанные в мастере запросов, как формулы ЯФПК и вычисляет по этим формулам настоящие значения.
В данном случае формула очень проста - получить значения элемента DOC@ID того документа, который Вы проводите.
В качестве примера рекомендую рассмотреть типовую операцию СВОД и соответственно запрос
Амортизация свод.CA_PROVSVOD_AM, появившуюся в версии 11.83-1. Там как раз фигурируют тип документа и ID документа
|
Вопрос:
Как настроить сортировку платежной ведомости "по фамилии"?
Ответ:
За порядок вывода на печать записей в платежной ведомости отвечает указание order by в запросе PIKAZ_M_VED
(Печать платежной ведомости из реестра), который можно найти в Мастере запросов (запросы по зарплате).
Текст запроса:
select TAB_N, AGENT as FAMALIO,N_DOG_M,SUM_D as SUM_R
from PRIKAZ_M
where TIP_D= :tip And ID_D=:ids
order by FAMALIO
Для изменения порядка вывода записей достаточно заменить имя поля, выбрав другое из списка
выбираемых полей из таблицы. Например, так:
order by TAB_N
в этом случае сортировка записей в платежной ведомости будет установлена по табельным номерам.
|
Вопрос:
Можно ли в бизнес-процедуре сформировать запросы, которые будут выбирать даннык из Компаса и передавать в другую базу данных MS SQL?
Ответ:
Существуют определенные правила написания кросс-базовых и кросс-серверных запросов, которые можно применять в т.ч. и в
бизнес-процедурах в операторе RunSQL. Бизнес-процедура может выполнить любой запрос, в том числе и переносящий данные
в другую БД. Например:
INSERT INTO OtherDB.dbo.OTHER_TABLE (поля)
SELECT поля FROM MOVIE
|
Вопрос:
При попытке повторно скомпилировать хранимую
процедуру (кнопка Создать процедуру) я получаю General SQL Error. Что делать?
Ответ:
При создании новых хранимых процедур
обратите внимание на то, чтобы имя процедуры в
первом предложении CREATE PROCEDURE <имя> совпадало
с именем в поле ввода, которое так и называется
"Имя хранимой процедуры". Несоблюдение этого условия приводит к General SQL Error. |
Вернуться к главному перечню вопросов
|