Страница 1 из 2

Внешние атрибуты проводок и другое

Добавлено: 25 дек 2013, 17:41
Иван
Добрый день!
Подскажите пожалуйста, возможно ли в ТХО добавить функцию установки внешнего атрибута формируемой проводки, а также даты прошлого периода проводки!

Re: Внешние атрибуты проводок и другое

Добавлено: 25 дек 2013, 18:44
edward_K
TXOAPI рулит. Дату можно и так поставить - для этого нужно дату поставить в циклическую обработку , в поле дата "авто" заменить на что то другое(по правой кнопке например на режим 1) и функцией TxoSetDate(в выборе алгоритмов закладка "обще используемые функции) эту дату выставить.

Re: Внешние атрибуты проводок и другое

Добавлено: 25 дек 2013, 19:35
Алексей
а зачем атрибут к проводке? мы, что нам нужно, пишем в содержанием с разделителем, например = и потом функцией достаем что нужно. первую позицию, вторую или третью из содержания.

Re: Внешние атрибуты проводок и другое

Добавлено: 26 дек 2013, 11:07
Иван
а можно дату выбрать вручную как-то?
у нас некоторые регистры настроены на эти внешние атрибуты (вдр 3.1, 3.2) и хотелось бы , чтобы перед проведением открывался бы соответствующий каталог аналитики и пользователь бы выбирал то, что на до поставить у этого документа

Re: Внешние атрибуты проводок и другое

Добавлено: 26 дек 2013, 11:28
edward_K
1. Так дату или аналитику?
2. Для аналитики есть режим "по выбору", но вообще это плохой тон - при массовом перепроведении хозопераций будет совершенно невозможно работать - документа не видно, что ставить неизвестно. Вся аналитика должна заполняться с документа, либо со связанных, либо с ВА или с внешних КАУ.
3. Для даты вроде нет.
4. Все, что незя в настройках можно в TXOAPI.

Re: Внешние атрибуты проводок и другое

Добавлено: 26 дек 2013, 11:49
Den
Иван писал(а):Добрый день!
Подскажите пожалуйста, возможно ли в ТХО добавить функцию установки внешнего атрибута формируемой проводки, а также даты прошлого периода проводки!
То что Вы хотите, можно сделать только через ТХО АПИ.

Re: Внешние атрибуты проводок и другое

Добавлено: 26 дек 2013, 11:51
Иван
дело в том, что у нас документы проводятся по одному и все строго выверяется по каждому, т.к. документы заполняют грубо говоря инженеры, а бухгалтеры только привязывают проводку и заставить инженеров заполнять все очень сложно
в общем можно получить примерчик TXOAPI как запрограммировать функцию установки внешнего атрибута, чтобы он был как Выбор из каталога? (ну если она не громоздкая конечно , а если громоздкая то хотя бы намекните как это сделать :smile: )
дата также требуется...

Re: Внешние атрибуты проводок и другое

Добавлено: 26 дек 2013, 12:00
edward_K
В доке TxoApi.rar + TxoApi.pdf
Вот пример реализации выбора

Код: Выделить всё

#include AttrTablePick.vih
InterFace  ....
var  refAttrTablePick     : AttrTablePick;
create view
as select
  ...
, refAttrTablePick.sGetValue(coContDoc, w_prim_Attr_ID, ContDoc.Nrec) (fieldname=w_prim)

.....
Для TXOAPI это добавляете в события окна
HandleEvent
cmPick:
{ case curfield of 
  #w_prim:
  { refAttrTablePick.PickValue(coContDoc, w_prim_Attr_ID/*AttrNam.NRec*/, ContDoc.Nrec)
    ReScanPanel(#ContDoc)
    ReScanPanel(#Appointments)
  }
  end;
}
end;

Если же вам надо просто выбрать аналитику не во внешний атрибут, то ищите на форуме GetKau и ExtAttr

Re: Внешние атрибуты проводок и другое

Добавлено: 26 дек 2013, 19:11
Иван
подскажите пожалуйста, откомпилил пример TXO API
из TxoApi.rar , а там не появился алгоритм в списке VIP
Компилил Demo5.vip
ресурсник подключил

Re: Внешние атрибуты проводок и другое

Добавлено: 26 дек 2013, 19:30
edward_K
Сервис - утилиты - запуск внешнего интерфейса
проверяйте из какой компоненты идет Txo_AskSubSch(должен из F_TxoApi)
А да - перед стартом галки в cfg добавьте Vip.VisibleAllInterface=On
Если там есть, то идем дальше, иначе приводите лог компиляции (Vip_res.Log обычно)
В обычном списке не появиться само по себе - надо сделать перерегистрацию(там по правой кнопке "обновить список алгоритмов").
Попробуйте встать на алгоритм Vip и выбрать там. В списке должен быть AskSubSch

Re: Внешние атрибуты проводок и другое

Добавлено: 27 дек 2013, 15:25
Иван
вроде разобрался...
теперь вопрос в том, каким образом получить nrec из таблицы oborot, чтобы вставить запись в таблицу внешних атрибутов?

Re: Внешние атрибуты проводок и другое

Добавлено: 27 дек 2013, 15:45
edward_K
Вы в ТХО добавляете последней проводку со своей апихой - На момент ее формирования обороты от предыдущих настроек уже будут(ну если это не операция закрытия - там свои тараканы - значения будут накоплены во временную таблицу OborotNM) - я уже как то писал об этом здесь.
Фильтровать нужно по плану счетов + Soprhoz.Nrec - Если в ТХо обрабатывается сразу несколько планов счетов, то проводку нужно добавить для каждого.

Код: Выделить всё

..
    MyPlansNo == planssch.nrec // план счетов
 and CurSoprHoz == oborot.csoprhoz
 and MyPlansNo == oborot.cplanssch
..
//**************************ОСНОВНАЯ ПРОЦЕДУРА ОБРАБОТКИ ТХО
procedure StoreCycles(hTxo : longint; buf : TTxoApiInfoDoc);
{
  set CurSoprDoc := buf.cSoprDoc;
  set CurSoprHoz := buf.cSoprHoz;
  set CurDatOb := buf.DatOb;
  set CurTidk := buf.TidkGal;
  set MyPlansNo:= buf.cplanssch ;
  //ParamParser(hTxo);
  TxoAllowRecallStoreCycles(hTxo);
  --- 
  здесь вызов вашего окна для задания значений с ВА
  _loop oborot
  ...
Я например пробивал нужную группу дескрипторов по ВА к подразделениям.

Re: Внешние атрибуты проводок и другое

Добавлено: 27 дек 2013, 19:59
Иван
сделал код для примера, ТХО пишет что объект непроинициализирован на строке objExtAttr.coSetAttrID

Код: Выделить всё

var
	objExtAttr : iExtAttr;

procedure StoreCycles(hTxo : longint; buf : TTxoApiInfoDoc);
{
	TxoAllowRecallStoreCycles(hTxo);
	set CurSoprHoz := buf.cSoprHoz;
	_loop oborot{
		TxoDebugMsg(hTxo, 'Txo_OborotExtAttr', 'oborot.nrec='+oborot.nrec);
		objExtAttr.coSetAttrID(1502, oborot.nrec, 28147497671065947, 28147497671065688, 'Сырье и материалы') ;
	}
}

Re: Внешние атрибуты проводок и другое

Добавлено: 28 дек 2013, 02:36
edward_K
Ну на этот счет не раз писали - посмотрите extattr.var. Если не хотите возится с loadvipinerface то объявляете переменную с типом интерфейс а не его описания. А еще лучше подул чист соотв var если есть. И следите чтобы ваша переменная не совпадала по имени ни с описателем фейса ни с фейсом.

Re: Внешние атрибуты проводок и другое

Добавлено: 30 дек 2013, 15:40
Иван
Вот такая ошибка вываливается, что она означает?
Изображение