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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

other95
Новичок
Сообщения: 23
Зарегистрирован: 03 янв 2006, 18:58
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение 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 так злостно рушила программу!???
И зачем надо брать код единицы измерения из внешнего атрибута?
Очень хочу понять, подскажите пожалуйста.
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Сообщение Max_Fin »

А вы уверены, что у Вас объектный интерфейс соответствует текущему? Скорее всего в каком-нить патче добавились или изменились методы.
Жду выхода Вселенная 2.12!
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

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

Сообщение Max_Fin »

other95 писал(а): И зачем надо брать код единицы измерения из внешнего атрибута?
Очень хочу понять, подскажите пожалуйста.
А вы посмотрите интерфейс редактирования ед. изм. поле Код - это внешний атрибут :smile:
Жду выхода Вселенная 2.12!
other95
Новичок
Сообщения: 23
Зарегистрирован: 03 янв 2006, 18:58
Откуда: Санкт-Петербург
Контактная информация:

Сообщение other95 »

Да действительно!
Спасибо!
Я просто не нашел нового файла...
Теперь все понятно, правда я так и не понял что такое КОД единицы измерения.
В интерфейсе есть название, сокращенное название и код (который я действительно проглядел). Но у нас он не заполнен.
Max
Новичок
Сообщения: 24
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Урал
Контактная информация:

Сообщение Max »

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

Возникает ошибка связанная с объектным интерфейсом ExtAttr
Не подскажете, надо какой-то другой extattr.vih?
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Сообщение Max_Fin »

Какой oper?fix?, уж признавайтесь, раз спрашивайете
Жду выхода Вселенная 2.12!
Max
Новичок
Сообщения: 24
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Урал
Контактная информация:

Сообщение Max »

Установлены Oper02fix01...09
Вчера поставили fix10, но ошибка не изменилась
Я выяснил, что прототип tovn лежит в oper02fix08, поэтому компилировал с этим подключенным ресурсом
Кстати, текст ошибки
"Возникло необратимое исключение
ExIfcBadCheckSum (ExRef)
несовпадение контрольной суммы ObjInterface objExtAttr"
Если жмем "Продолжить", то еще одна ошибка
"Возникло необработанное исключение
ExObjIfcNpInit (ExRef)
ссылка не была инициализированна"
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Сообщение Max_Fin »

Жду выхода Вселенная 2.12!
Max
Новичок
Сообщения: 24
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Урал
Контактная информация:

Сообщение Max »

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

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

Где еще может быть ерунда?
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Сообщение Max_Fin »

Галактика то какая? Почему от 7.11 взяли?
Если методы отличаются то и "может быть ерунда" такая.
Жду выхода Вселенная 2.12!
Max
Новичок
Сообщения: 24
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Урал
Контактная информация:

Сообщение Max »

Так, по порядку:
Галактика 8.0
Тема, откуда я брал файл extattr.vih "ОИ для работы с внешними атрибутами (в 711)"
Второе сообщение, в котором исходник для "Заголовок сообщения: GAL8.00 oper02fix02"
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Сообщение 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"
Жду выхода Вселенная 2.12!
Max
Новичок
Сообщения: 24
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Урал
Контактная информация:

Сообщение Max »

Ура, Получилось!!!!!!! :))))
Спасибо, Max_Fin
Дело было в этом inc'e
solkalin
Постоянный гость
Сообщения: 60
Зарегистрирован: 23 ноя 2011, 11:59

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

Сообщение solkalin »

Чтобы не дублировать тему, написала в этой.
Подскажите пожалуйста по ТОРГ-12.
Тоже возникла необходимость кое-что незначительное исправить в word-вской форме документа.
При первой печати формы выдается ошибка о несовпадении контрольной суммы в L_PrnSopr objPrnSoprFun, при повторной печати ошибка не появляется
Подложила при компиляции PrnSoprFun из новых патчей (мы на 9-ке), gallnet.inc тоже. Ничего не помогает. Может еще кто что посоветует?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

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

Сообщение edward_K »

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