[Logo] Форум ПАРУС
Доп. колонка в реестре контрактов - Создано ли БО (под релиз 10.2013)  XML
Индекс форума » 7.хх Бухгалтерия
Автор Сообщение
TANKA
Новичок

Зарегистрирован: 08.11.2012 17:14:27
Сообщений: 125
Оффлайн

Добрый день!
Раньше пользовались много лет колонкой, которая отображала, создано ли БО из контракта.
Варианта было 2:

Похуже:
iif(!empty(GetTableField ('obligbs' ,'rn', GetTableField ('rzaksp3' ,'rn', GetTableField ('rzaksp2' ,'rn', vRZAKDC.rn, 'F_MASTER'), 'F_MASTER'), 'F_RZAKSP3')), 'Есть', '')

..и получше:
ExecScript("select ObligBS.RN From ObligBS Inner Join RZakSp3 On RZakSp3.RN = ObligBS.RZAKSP3_RN Where (RZakSp3.Head_RN = vRZakDC.RN or RZakSp3.Head_RN = vRZAKDC.rn_pardoc) to Screen NoConsole" + Chr(13) + "Return IIF(_Tally > 0,'есть БО','')")

После обновления на октябрьский релиз ни та, ни другая не работает!
Может, кто-нибудь сумеет поправить запрос с учетом изменений? Будем очень благодарны!
GASENKO
Пользователь

Зарегистрирован: 25.10.2012 22:14:41
Сообщений: 861
Оффлайн

Связь записи реестра гос.контрактов и бюджетного обязательства с расшифровкой осуществляется через стандартную таблицу связей UNIT_REF по принципу "заголовок-заголовок".
Вам необходимо переписать запрос во втором скрипте на использование unit_ref.
TANKA
Новичок

Зарегистрирован: 08.11.2012 17:14:27
Сообщений: 125
Оффлайн

GASENKO, спасибо! Вроде получилось

ExecScript("select Unit_REF.Child_RN From Unit_REF Where ((unit_ref.parent_rn=vRZAKDC.rn or unit_ref.parent_rn=vRZAKDC.rn_pardoc) and unit_ref.code='RZakMakeOblig') to Screen NoConsole" + Chr(13) + "Return IIF(_Tally > 0,'есть БО','')")

Это сообщение было изменено 1 раз. Последнее изменение было в 08.11.2013 11:48:47

TANKA
Новичок

Зарегистрирован: 08.11.2012 17:14:27
Сообщений: 125
Оффлайн

Только работает она по вновь созданным БО, а как увидеть старые БО, созданные на предыдущих релизах?
SARGEANT
Опытный пользователь

Зарегистрирован: 01.02.2013 14:12:25
Сообщений: 1981
Оффлайн

так а старый скрипт показывает старые?
если показывает - то объединить новый со старым через OR
ну значение первого _Tally сохранить в какой-нибудь переменной, естественно.
как же еще?

а если и старый не показывает старые - то, очевидно, никак, то есть информации об этих связях в базе нету теперь.
TANKA
Новичок

Зарегистрирован: 08.11.2012 17:14:27
Сообщений: 125
Оффлайн

SARGEANT wrote:так а старый скрипт показывает старые?
если показывает - то объединить новый со старым через OR
ну значение первого _Tally сохранить в какой-нибудь переменной, естественно.
как же еще?

а если и старый не показывает старые - то, очевидно, никак, то есть информации об этих связях в базе нету теперь.


Старая показывает старые :) С объединением не получается, не подскажите, как сохранить _Tally в переменную? не могу найти примеров.

Это сообщение было изменено 1 раз. Последнее изменение было в 11.11.2013 07:49:47

SHIBANOV
Пользователь

Зарегистрирован: 06.11.2012 10:30:16
Сообщений: 515
От: Алексей Шибанов
Оффлайн

Два запроса можно объединить в один с использованием предложения UNION.
[Email] [ICQ]
TANKA
Новичок

Зарегистрирован: 08.11.2012 17:14:27
Сообщений: 125
Оффлайн

SHIBANOV wrote:Два запроса можно объединить в один с использованием предложения UNION.


Алексей, спасибо!

Колонка получилась такая, вдруг кому-нибудь пригодится:

ExecScript("select Unit_REF.Child_RN From Unit_REF Where ((unit_ref.parent_rn=vRZAKDC.rn or unit_ref.parent_rn=vRZAKDC.rn_pardoc) and unit_ref.code='RZakMakeOblig')"+" union select ObligBS.RN From ObligBS Inner Join RZakSp3 On RZakSp3.RN = ObligBS.RZAKSP3_RN Where (RZakSp3.Head_RN = vRZakDC.RN or RZakSp3.Head_RN = vRZAKDC.rn_pardoc) to Screen NoConsole" +chr(13)+ "Return IIF(_Tally > 0,'есть БО','')")

Это сообщение было изменено 1 раз. Последнее изменение было в 11.11.2013 08:26:42

SARGEANT
Опытный пользователь

Зарегистрирован: 01.02.2013 14:12:25
Сообщений: 1981
Оффлайн

отлично!

что касается «как сохранить _Tally в переменную?», то не понятно, в чем затык.
Как обычно пишем всю жизнь в Фоксе, так и здесь. То есть например:

ExecScript("select Unit_REF.Child_RN From Unit_REF Where ((unit_ref.parent_rn=vRZAKDC.rn or unit_ref.parent_rn=vRZAKDC.rn_pardoc) and unit_ref.code='RZakMakeOblig') to Screen NoConsole" + CHR(13) + "__pt1 = _Tally" + CHR(13) + "select ObligBS.RN From ObligBS Inner Join RZakSp3 On RZakSp3.RN = ObligBS.RZAKSP3_RN Where (RZakSp3.Head_RN = vRZakDC.RN or RZakSp3.Head_RN = vRZAKDC.rn_pardoc) to Screen NoConsole" +chr(13)+ "Return IIF(_Tally > 0 OR __pt1 > 0,'есть БО','')" )

Это сообщение было изменено 1 раз. Последнее изменение было в 11.11.2013 11:09:30

TANKA
Новичок

Зарегистрирован: 08.11.2012 17:14:27
Сообщений: 125
Оффлайн

SARGEANT wrote:
что касается «как сохранить _Tally в переменную?», то не понятно, в чем затык.
Как обычно пишем всю жизнь в Фоксе, так и здесь.


Затык в том, что в фоксе не писала :D Спасибо за помощь, буду знать!

Это сообщение было изменено 1 раз. Последнее изменение было в 11.11.2013 11:11:27

 
Индекс форума » 7.хх Бухгалтерия
Перейти: