Package com.ipc.oce.objects

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

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.OCObject;
import com.ipc.oce.OCVariant;
import com.ipc.oce.metadata.objects.OCChartsOfAccountsMetadataObject;
import com.ipc.oce.varset.OCAccountType;


/**
* Предназначен для модификации элементов плана счетов. Позволяет изменять значения реквизитов элемента плана счетов и записывать его.
* Важно! У всех событий этого объекта назначены предопределенные процедуры-обработчики. Имена процедур соответствует именам событий. Процедуры должны располагаться в модуле плана счетов.
* @author Konovalov
*
*/

public class OCChartOfAccountsObject extends _OCCommonObject implements AttributeBean{

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

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

  public OCChartOfAccountsObject(OCObject object) {
    super(object);
  }
 
  /**
   * Набор свойств содержит значения реквизитов плана счетов. Доступ к значению осуществляется по имени, как оно задано в конфигураторе. 
   * @param attributeName
   * @return
   * @throws JIException
   */
  public OCVariant getAttributeValue(String attributeName) throws JIException{
    return new OCVariant(get(attributeName));
  }
 
  /**
   * Установка значения атрибута документа
   * @param attributeName
   * @param variant
   * @throws JIException
   */
  public void setAttributeValue(String attributeName, OCVariant variant) throws JIException{
    put(attributeName, variant);
  }
 
  /**
   * ПланСчетовТабличнаяЧасть.<Имя плана счетов>.<Имя табличной части>. Набор свойств содержит табличные части плана счетов. Доступ к табличной части осуществляется по имени, как оно задано в конфигураторе.
   * @param tabularSectionName
   * @return
   * @throws JIException
   */
  public OCTabularSectionManager getTabularSection(String tabularSectionName) throws JIException{
    return new OCTabularSectionManager(get(tabularSectionName));
  }
 
  /**
   *
   * @param accountingSignName
   * @return Если Истина, то по данному ресурсу ведется учет.
   * @throws JIException
   */
  public Boolean getAccountingSign(String accountingSignName) throws JIException{
    return get(accountingSignName).getObjectAsBoolean();
  }
 
  /**
   * Содержит код элемента плана счетов. Строка или число в зависимости от настроек плана счетов в конфигураторе.
   * @return
   * @throws JIException
   */
  public String getCode() throws JIException{
    JIVariant var = get("Code");
    String res = null;
    if (var.getType() != JIVariant.VT_BSTR) {
      res = String.valueOf(var.getObjectAsInt());
    } else {
      res = var.getObjectAsString2();
    }
    return res;
  }
 
  public void setCode(Object code) throws JIException{
    put("Code", JIVariant.makeVariant(code));
  }
 
  /**
   * Определяет вид счета. На активном счете будет всегда дебетовый остаток, на пассивном кредитовый, на активно пассивном, если остаток больше нуля, то дебетовый. если меньше, то кредитовый.
   * @return
   * @throws JIException
   */
  public OCAccountType getType() throws JIException{
    return new OCAccountType(get("Type"));
  }
 
  /**
   * Установка вида счета
   * @param type
   * @throws JIException
   */
  public void setType(OCAccountType type) throws JIException{
    putRef("Type", type);
  }
 
  /**
   *
   * @return Если Истина, то счет не участвует общем балансе.
   * @throws JIException
   */
  public Boolean isOffBalance() throws JIException{
    return get("OffBalance").getObjectAsBoolean();
  }
 
  public void setOffBalance(Boolean balance) throws JIException{
    put("OffBalance", new JIVariant(balance));
  }
 
  /**
   * Содержит наименование элемента плана счетов.
   * @return
   * @throws JIException
   */
  public String getDescription() throws JIException{
    return get("Description").getObjectAsString2();
  }
 
  public void setDescription(String description) throws JIException{
    put("Description", new JIVariant(description));
  }
 
  /**
   * Содержит признак пометки на удаление счета.
   * @return
   * @throws JIException
   */
  public Boolean isDeletionMark() throws JIException{
    return get("DeletionMark").getObjectAsBoolean();
  }
 
  // TODO: Добавить get.ExtDimensionTypes
 
  /**
   * Содержит строку с порядком, по которому можно делать упорядочивание выборки.
   * @return
   * @throws JIException
   */
  public String getOrder() throws JIException{
    return get("Order").getObjectAsString2();
  }
 
  public void setOrder(String order) throws JIException{
    put("Order", new JIVariant(order));
  }
 
  /**
   * Признак, что данный счет определен в метаданных и над ним нельзя производить некоторые операции.
   * @return
   * @throws JIException
   */
  public Boolean isPredefined() throws JIException{
    return get("Predefined").getObjectAsBoolean();
  }
  /**
   * Содержит ссылку на родителя счета.
   * @return
   * @throws JIException
   */
  public OCChartOfAccountsRef getParent() throws JIException{
    return new OCChartOfAccountsRef(get("Parent"));
  }
 
  /**
   * Содержит ссылку на счет. Это значение может быть записано в базу данных для полей соответствующего типа.
   * @return
   * @throws JIException
   */
  public OCChartOfAccountsRef getRef() throws JIException{
    return new OCChartOfAccountsRef(super.getRef());
  }
 
  /**
   * Содержит сам объект. Предназначено для получения объекта в модуле объекта или модуле формы.
   * @return
   */
  public OCChartOfAccountsObject thisObject(){
    return this;
  }
 
  /**
   * Предоставляет доступ к объекту описания метаданных плана счетов. Другой путь получения того же значения - через свойство глобального контекста Метаданные. Например: Метаданные.ПланыСчетов.Основной.
   * @return
   * @throws JIException
   */
  public OCChartsOfAccountsMetadataObject getMetadata() throws JIException{
    return new OCChartsOfAccountsMetadataObject(super.getMetadata());
  }
 
  /**
   * Определяет, был ли изменен объект после считывания из базы данных.
   * @return
   * @throws JIException
   */
  public Boolean isModified() throws JIException{
    return callMethodA("Modified").getObjectAsBoolean();
  }
 
  /**
   * Определяет подчиненность элемента плана счетов группе с учетом всех уровней иерархии.
   * @param ref Группа (или элемент для иерархического плана счетов с иерархией элементов), для которой определяется принадлежность элемента.
   * @return  Истина - элемент подчинен группе; Ложь - в противном случае.
   * @throws JIException
   */
  public Boolean isBelongsToItem(OCChartOfAccountsRef ref) throws JIException{
    return callMethodA("BelongsToItem", new Object[]{new JIVariant(ref.dispatch()) })[0].getObjectAsBoolean();
  }
 
  /**
   * Создает новый счет копированием существующего.
   * @return
   * @throws JIException
   */
  public OCCatalogObject copy() throws JIException{
    return new OCCatalogObject(super.copy());
  }
 
  /**
   * Получает уровень счета. Имеет смысл только для многоуровневых планов счетов. Следует учитывать, что уровень элемента может меняться, например, при переносе в другую группу (смене родителя).
   * Уровень счета начинается начиная с 0. Для элемента, не имеющего родителя, уровень будет равен 0.
   * Если ссылка пустая, вызов метода вызывает исключение.
   * @return
   * @throws JIException
   */
  public Integer getLevel() throws JIException{
    return callMethodA("Level").getObjectAsInt();
  }
 
  /**
   * Устанавливает/снимет пометку на удаление. Объект при этом не удаляется из базы данных. Окончательное удаление помеченных элементов справочника происходит при удалении помеченных объектов.
   * Если параметр установлен в Истина, то будут помечены на удаление, кроме данного элемента, все его подчиненные элементы в данном справочнике и во всех подчиненных справочниках.
   * Если параметр установлен в Ложь, то будет помечен на удаление только данный элемент.
   * Значение по умолчанию: Истина
   * @param mark
   * @throws JIException
   */
  public void setDeletionMark(Boolean mark) throws JIException{
    callMethod("SetDeletionMark", new Object[]{JIVariant.makeVariant(mark)});
  }
 
  /**
   * Устанавливает значение для нового (созданного и еще не записанного) объекта, которое будет назначено при записи в качестве ссылки. Значение не может равняться ссылке какого-либо из имеющихся в базе данных объекта данного типа. Уникальность ссылки проверяется при записи объекта.
   * @param ref Ссылка, которая будет назначена при записи нового объекта.
   * @throws JIException
   */
  public void setNewObjectRef(OCChartOfAccountsRef ref) throws JIException{
    callMethod("SetNewObjectRef", new Object[]{JIVariant.makeVariant(ref.dispatch())});
  }
 
}
TOP

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

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.