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

Вопрос по форме Торг-12

Добавлено: 20 мар 2006, 18:49
other95
Здравствуйте!

У меня следующая ситуация :
Галактика 7.12 со всеми патчами на 15 марта 2006 года
Включая патчи по складскому учету и оперативному контуру
SKLAD02 (fix01-04) OPER02(fix01-09)

По запросу пользователей слегка надо измнить форму торг-12.
Пытаюсь откомпилить сначала стандартную...
Обнаружиаю что в новом исходнике куча инклюдов которые
успешно подключаю и я...
А также обнаруживаю необходимость подключить в проект
#include ExtAttr.vih,
Который так же подключаю
После этого форма успешно компилируется, НО при запуске отваливается по рантайму!

Ищу ошибку и обнаружиаю что она проявляется в модуле CodeMC.frn
Вот его код:
------------------------------
!Код учетной и отпускной единицы матценности
!ОКЕИ в российский формах
.begin
var piExAttr : iExtAttr;
CodeOtpEd := '';
CodeEd := '';

FROMKATMC.pNrec := comp(спецификацияМЦ_нрек);

if (FROMKATMC.GetFirst SpSopr = tsOk)
{
if (FROMKATMC.GetFirst KatOtpEd = tsOk)
{
if (FROMKATMC.GetFirst KatEd where ((FROMKATMC.KatOtpEd.cKatEd == KatEd.NRec )) = tsOk)
CodeOtpEd := piExAttr.sGetAttr(coKatEd, FROMKATMC.KatEd.NRec, 'Код');
}

if (FROMKATMC.GetFirst KatMC = tsOk)
if (FROMKATMC.GetFirst KatEd where ((FROMKATMC.KatMC.cEd == KatEd.NRec )) = tsOk)
CodeEd := piExAttr.sGetAttr(coKatEd, FROMKATMC.KatEd.NRec, 'Код');
}
end.
---------------------------------
Валится отчет у меня на вот этой строчке :
CodeEd := piExAttr.sGetAttr(coKatEd, FROMKATMC.KatEd.NRec, 'Код');

Разобравшись понимаю что за каким то... код единицы измерения стандартный отчет берет из внешнего атрибута, а у меня внешний атрибут не заполнен и не будет заполнен!

Проблему конечно решил так :
--------------------------------------
!Код учетной и отпускной единицы матценности
!ОКЕИ в российский формах
.begin
CodeOtpEd := '';
CodeEd := '';
FROMKATMC.pNrec := comp(спецификацияМЦ_нрек);
if (FROMKATMC.GetFirst SpSopr = tsOk)
{
if (FROMKATMC.GetFirst KatOtpEd = tsOk)
{
if (FROMKATMC.GetFirst KatEd where ((FROMKATMC.KatOtpEd.cKatEd == KatEd.NRec )) = tsOk)
{
CodeOtpEd := FROMKATMC.KatEd.KOD;
}
}
if (FROMKATMC.GetFirst KatMC = tsOk)
{
if (FROMKATMC.GetFirst KatEd where ((FROMKATMC.KatMC.cEd == KatEd.NRec )) = tsOk)
{
CodeEd := FROMKATMC.KatEd.KOD;
}
}
}
end.
------------------------------

Но осталось непонятным почему же все таки функция sGetAttr так злостно рушила программу!???
И зачем надо брать код единицы измерения из внешнего атрибута?
Очень хочу понять, подскажите пожалуйста.

Добавлено: 20 мар 2006, 18:58
Max_Fin
А вы уверены, что у Вас объектный интерфейс соответствует текущему? Скорее всего в каком-нить патче добавились или изменились методы.

Re: Вопрос по форме Торг-12

Добавлено: 20 мар 2006, 19:03
Max_Fin
other95 писал(а): И зачем надо брать код единицы измерения из внешнего атрибута?
Очень хочу понять, подскажите пожалуйста.
А вы посмотрите интерфейс редактирования ед. изм. поле Код - это внешний атрибут :smile:

Добавлено: 21 мар 2006, 10:42
other95
Да действительно!
Спасибо!
Я просто не нашел нового файла...
Теперь все понятно, правда я так и не понял что такое КОД единицы измерения.
В интерфейсе есть название, сокращенное название и код (который я действительно проглядел). Но у нас он не заполнен.

Добавлено: 05 апр 2006, 15:03
Max
Такая же проблема, только в версии 8.0
Патчи и фиксы подключаю те же, но понятно, что только для восьмерки
Подключил в проекте extattr.vih - скопировал в него текст из этой темы

Возникает ошибка связанная с объектным интерфейсом ExtAttr
Не подскажете, надо какой-то другой extattr.vih?

Добавлено: 06 апр 2006, 17:00
Max_Fin
Какой oper?fix?, уж признавайтесь, раз спрашивайете

Добавлено: 06 апр 2006, 17:24
Max
Установлены Oper02fix01...09
Вчера поставили fix10, но ошибка не изменилась
Я выяснил, что прототип tovn лежит в oper02fix08, поэтому компилировал с этим подключенным ресурсом
Кстати, текст ошибки
"Возникло необратимое исключение
ExIfcBadCheckSum (ExRef)
несовпадение контрольной суммы ObjInterface objExtAttr"
Если жмем "Продолжить", то еще одна ошибка
"Возникло необработанное исключение
ExObjIfcNpInit (ExRef)
ссылка не была инициализированна"

Добавлено: 06 апр 2006, 18:31
Max_Fin

Добавлено: 06 апр 2006, 18:54
Max
Лучше не стало :eek:
Те же ошибки - по две на каждую строку спецификации
Вот файл проекта:
#include inc\extattr.vih
#make "vmte\*.rtf"

В файл extattr.vih я скопировал текст из Темы про ОИ для 711

Где еще может быть ерунда?

Добавлено: 07 апр 2006, 11:13
Max_Fin
Галактика то какая? Почему от 7.11 взяли?
Если методы отличаются то и "может быть ерунда" такая.

Добавлено: 07 апр 2006, 11:19
Max
Так, по порядку:
Галактика 8.0
Тема, откуда я брал файл extattr.vih "ОИ для работы с внешними атрибутами (в 711)"
Второе сообщение, в котором исходник для "Заголовок сообщения: GAL8.00 oper02fix02"

Добавлено: 07 апр 2006, 14:17
Max_Fin
а _AttrValComp_ есть?

make должен быть либо

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

#include galnet.inc
end;

#include inc\extattr.vih 
#make "vmte\*.rtf"
либо, если нет galnet.inc, то так

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

#define _AttrValComp_
#include inc\extattr.vih 
#make "vmte\*.rtf"

Добавлено: 07 апр 2006, 17:09
Max
Ура, Получилось!!!!!!! :))))
Спасибо, Max_Fin
Дело было в этом inc'e

Re: Вопрос по форме Торг-12

Добавлено: 10 апр 2015, 09:53
solkalin
Чтобы не дублировать тему, написала в этой.
Подскажите пожалуйста по ТОРГ-12.
Тоже возникла необходимость кое-что незначительное исправить в word-вской форме документа.
При первой печати формы выдается ошибка о несовпадении контрольной суммы в L_PrnSopr objPrnSoprFun, при повторной печати ошибка не появляется
Подложила при компиляции PrnSoprFun из новых патчей (мы на 9-ке), gallnet.inc тоже. Ничего не помогает. Может еще кто что посоветует?

Re: Вопрос по форме Торг-12

Добавлено: 10 апр 2015, 17:06
edward_K
Старая тема - ваши vih не соотв. функционалу
Вам нужен PrnSoprFun.vih обновить - он обязан вместе с установкой патчей прилетать в архиве L_PrnSopr.rar в папку frm .
У меня есть от 9 от 03.02.2015. На 8 он не покатит. Ну и есть какая то настройка в cfg чтобы описалово тянуть из ресов.