Package com.ipc.oce.objects

Source Code of com.ipc.oce.objects.OCChartOfAccountsManager

package com.ipc.oce.objects;

import org.jinterop.dcom.common.JIException;
import org.jinterop.dcom.core.JIVariant;
import org.jinterop.dcom.impls.automation.IJIDispatch;

import com.ipc.oce.OCApp;
import com.ipc.oce.OCObject;
import com.ipc.oce.metadata.objects.OCChartsOfAccountsMetadataObject;
import com.ipc.oce.metadata.objects._OCCommonMetadataObject;

/**
* Предназначен для управления планом счетов, как объектом конфигурации. С
* помощью этого объекта осуществляется поиск элементов, создание новых
* элементов и групп, работа с формами и макетами плана счетов. Доступ к объекту
* осуществляется через свойства объекта ПланыСчетовМенеджер. Полное имя типа
* объекта определяется с учетом имени плана счетов конфигурации.
*
* @author Konovalov
*
*/
public class OCChartOfAccountsManager extends _OCAbstractManager {

  public OCChartOfAccountsManager(IJIDispatch aDispatch) {
    super(aDispatch);
  }

  public OCChartOfAccountsManager(JIVariant aDispatch) throws JIException {
    super(aDispatch);
  }

  public OCChartOfAccountsManager(OCObject object) {
    super(object);
  }
 
  /**
   * Формирует выборку элементов плана счетов по заданным условиям.
   * @return
   * @throws JIException
   */
  public OCChartOfAccountsSelection select() throws JIException {
    return new OCChartOfAccountsSelection(callMethodA("Select"));
  }
 
  /**
   * Формирует выборку элементов плана счетов по заданным условиям.
   *
   * @param parentRef
   *            Отбор по родителю. Если параметр не задан, то отбор по
   *            родителю не производится.
   * @return OCChartOfAccountsSelection
   * @throws JIException
   */
  public OCChartOfAccountsSelection select(OCChartOfAccountsRef parentRef) throws JIException {
    return new OCChartOfAccountsSelection(callMethodA("Select",
        new Object[] { new JIVariant(parentRef.dispatch()) })[0]);
  }
 
  /**
   * Формирует иерархическую выборку элементов справочника по заданным условиям. При иерархической выборке для каждого элемента сначала выбираются элементы, для которых он является родителем, а затем уже выбираются элементы следующего уровня.
   * @return OCChartOfAccountsSelection
   * @throws JIException
   */
  public OCChartOfAccountsSelection selectHierarchically() throws JIException {
    return new OCChartOfAccountsSelection(callMethodA("SelectHierarchically"));
  }
 
  /**
   * Формирует иерархическую выборку элементов справочника по заданным условиям. При иерархической выборке для каждого элемента сначала выбираются элементы, для которых он является родителем, а затем уже выбираются элементы следующего уровня.
   * @param parentRef  Отбор по родителю. Если параметр не задан, то отбор по родителю не производится.
   * @return OCChartOfAccountsSelection
   * @throws JIException
   */
  public OCChartOfAccountsSelection selectHierarchically(OCChartOfAccountsRef parentRef) throws JIException {
    return new OCChartOfAccountsSelection(callMethodA("SelectHierarchically", new Object[]{new JIVariant(parentRef.dispatch())})[0]);
  }
 
  /**
   * Осуществляет поиск элемента по его коду.
   * @param code Искомый код.
   * @return
   * @throws JIException
   */
  public OCChartOfAccountsRef findByCode(String code) throws JIException {
    return new OCChartOfAccountsRef(callMethodA("FindByCode", new Object[]{new JIVariant(code)})[0]);
  }
 
  /**
   * Осуществляет поиск элемента по его коду.
   *
   * @param code
   *            Искомый код.
   * @param parentRef
   *            Родитель, в пределах которого нужно выполнять поиск. Если не
   *            указан, то во всем плане счетов.
   * @return OCChartOfAccountsRef
   * @throws JIException
   */
  public OCChartOfAccountsRef findByCode(String code, OCChartOfAccountsRef parentRef) throws JIException {
    return new OCChartOfAccountsRef(callMethodA("FindByCode", new Object[]{new JIVariant(code), new JIVariant(parentRef.dispatch())})[0]);
  }
 
  /**
   * Осуществляет поиск элемента по значению реквизита.
   *
   * @param attributeName
   *            Имя реквизита, как он задан в конфигураторе, по значению
   *            которого осуществляется поиск. Тип значения произвольный,
   *            кроме ХранилищеЗначения и строк произвольной длины.
   * @param attributeValue
   *            Значение реквизита, по которому должен выполняться поиск.
   * @return OCChartOfAccountsRef
   * @throws JIException
   */
  public OCChartOfAccountsRef findByAttribute(String attributeName, Object attributeValue) throws JIException {
    return new OCChartOfAccountsRef(callMethodA("FindByAttribute", new Object[]{ new JIVariant(attributeName), JIVariant.makeVariant(attributeValue)})[0]);
  }
 
  /**
   * Осуществляет поиск элемента по значению реквизита.
   *
   * @param attributeName
   *            Имя реквизита, как он задан в конфигураторе, по значению
   *            которого осуществляется поиск. Тип значения произвольный,
   *            кроме ХранилищеЗначения и строк произвольной длины.
   * @param attributeValue
   *            Значение реквизита, по которому должен выполняться поиск.
   * @param parentRef
   *            Родитель, в пределах которого нужно выполнять поиск. Если не
   *            указан, то во всех счетах.
   * @return OCChartOfAccountsRef
   * @throws JIException
   */
  public OCChartOfAccountsRef findByAttribute(String attributeName, Object attributeValue, OCChartOfAccountsRef parentRef) throws JIException {
    return new OCChartOfAccountsRef(callMethodA("FindByAttribute", new Object[]{ new JIVariant(attributeName), JIVariant.makeVariant(attributeValue), new JIVariant(parentRef.dispatch())})[0]);
  }
 
  /**
   * Получает имя предопределенного элемента. Если данный элемент не является
   * предопределенным, то возвращается пустая строка.
   *
   * @param ref
   *            Ссылка на элемент, имя которого требуется получить.
   * @return String
   * @throws JIException
   */
  public String getPredefinedItemName(OCChartOfAccountsRef ref) throws JIException {
    return callMethodA("GetPredefinedItemName", new Object[]{new JIVariant(ref.dispatch())})[0].getObjectAsString2();
  }

  /**
   * Получает пустое значение ссылки на план счетов данного вида. Может
   * использоваться, например, когда нужно передать пустую ссылку в параметр
   * метода.
   *
   * @return OCChartOfAccountsRef
   * @throws JIException
   */
  public OCChartOfAccountsRef emptyRef() throws JIException {
    return new OCChartOfAccountsRef(callMethodA("EmptyRef"));
  }
 
  /**
   * Создает новый счет. Использование метода не приводит к записи созданного
   * объекта в базу данных.
   *
   * @return OCChartOfAccountsObject
   * @throws JIException
   */
  public OCChartOfAccountsObject createAccount() throws JIException {
    return new OCChartOfAccountsObject(callMethodA("CreateAccount"));
  }

  @Override
  protected _OCCommonMetadataObject loadMetadata() throws JIException {
    return OCApp.getInstance(getAssociatedSessionID()).getMetadata().getChartsOfAccounts().find(managerName);
  }

  @Override
  public OCChartsOfAccountsMetadataObject getMetadata() throws JIException {
    return new OCChartsOfAccountsMetadataObject(super.getMetadata());
  }
 
  /**
   * Формирует ссылку из значения типа УникальныйИдентификатор. Данный
   * уникальный идентификатор может быть в дальнейшем получен из ссылки
   * методом УникальныйИдентификатор.
   *
   * @param uuid
   * @return OCChartOfAccountsRef
   * @throws JIException
   */
  public OCChartOfAccountsRef getRef(OCUUID uuid) throws JIException {
    return new OCChartOfAccountsRef(callMethodA("GetRef",
        new Object[] { uuid.dispatch() })[0]);
  }
 
  /**
   * Новая ссылка на план счетов.
   *
   * @return OCChartOfAccountsRef
   * @throws JIException
   */
  public OCChartOfAccountsRef newRef() throws JIException {
    return new OCChartOfAccountsRef(callMethodA("GetRef"));
  }

}
TOP

Related Classes of com.ipc.oce.objects.OCChartOfAccountsManager

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.