Денис пишет:
Посмотрел идентификаторы в Имуществе и в Автотранспорте. Там ID C22.
Как с помощью FoxBro изменить структуру таблицы?
Думаю что следует поправиться.
Лучше сначала открывать dbc контейнер базы БЭСТа а в нем создавать таблицу. И тогда открывая контейнер можно открывать и редактировать таблицу.
На то, что при компиляции выводит не обращаем у меня выводит тоже самое.
Насчет ошибки посмотрите может ошиблись в имени функции и именно под таким именем она не объявлена ?
Скажу честно как работает DOS драйвер я понятия не имею если вы о размещении информации на чековой ленте и сделан ли в нем Discount()
как метод. Пусть они Вам консультацию дают в разрезе этого драйвера если найдут такого специалиста.
zaz q пишет:
Да про DBF понятно, можно извернуться можно и программу написать чтобы занималась переносом проводок. Просто интересно за каким в БЭСТ-5 пять или шесть вариантов выгрузки проводок, которые понимает только сам БЭСТ-5
Только для этого и нужен обмен вообще-то
А для чего еще ?
Если судить объективно, то как раз чуть-чуть изменить интерфейс событие на вход в ресстр позволяет, но именно чуть-чуть.
Что касается задач - я честно говоря не увидел потребности фильтровать заказы в реестре заказов и вроде как поставленные задачи реализуемы.
Что касается дополнительных статусов:
Предлагаю озвучить Ваше видение статусов в заказах.
Поскольку этот рассматривался. Сейчас хочется иметь представление общего случая со статусами, которые бы закрыли
в этом потребность непосредственно в централизованном решении
не только для Вашей задачи, а в принципе.
Если Вы готовы разориться на 2000 рублей вместо перехода на КПМ+ мы можем Вам предоставить небольшую доработку к ДОС КПМ и с этого момента
он станет работать с кассой посредством Win драйвера для кассы через
OLE.
Соответственно досовый драйвер, написанный при царе горохе будет
не нужен и все достоинства виндового станут доступны.
Что касается печати скидки - если не изменяет память это где-то в настройках самой кассы. У меня сейчас под рукой нет книжки, чтобы ответить точно. При случае постараюсь не забыть ответить.
1.В рабочей базе (в корне самой базы) создаем файл userbdll.txt
2.В соответствии с описанием ко второму пакету и для УРОКа 4 заносим в файл строчку
Код
Торговля\Доверенности;Пример работы с доверенностями;RunFormTest;doverenost;0
3.Заходим в БЭСТ-5 и видим пункт меню
!!!
Если раздел торговля при входе в БЭСТ-5 у Вас будет свернут и курсор
по умолчанию будет стоять на этом разделе при первом входе в базу,
то справа наименование пункта меню пользователя по этому разделу
не отразится сразу. Пошевелите курсор или разверните раздел и Вы
увидите созданный Вами пункт меню
Итак мы находимся на графической форме.
1)Жмем F12
2)В текст программы кладем код
Код
#include "hbclass.ch"
#include "BO_Const.ch"
CLASS frmDover FROM frmDoverBASE
METHOD Form_Create
METHOD Form_Close
EndClass
METHOD Form_Create() CLASS frmDover
Return .T.
METHOD Form_Close() CLASS frmDover
RETURN .T.
3)Переименовываем имя prg в ветке в левой части экрана на frmDover.prg
4)В разделе программы у нас тоже есть prg файл. Например unit.prg
Кладем в него код
Код
FUNCTION RunFormTest()
RETURN RunForm('doverenost\frmDover',.T.,{},nil)
5)Проект-компиляция активного проекта или просто F7
6) В результате у нас рядом с frmdover.prg если просмотреть список файлов появится frmDoverBase.prg. У меня был случай что он не создавался и я создавал его вручную, но теперь нормально создается
и на ошибку больше не могу выйти. Возможно это была моя ошибка а не
программы.
7)В УРОКЕ 3 смотрим создание своего пункта меню в БЭСТ-5
8)Заходим в БЭСТ и смотрим на полученное творение по Задаче 1
К сожалению я не нашел другого решенеия, когджа было очень надо кроме как делать свой интерфейс. авторизации работы с заказами - очень древний. Его изначально КБ должны поддерживать внутри.
Иначе все равно передет переключени на типовой индекс и т.д.
Что касается консигнации - то тут проще.
Делать документ консигнации по определенным заказам думаю можно через
событие картотека товаров.
Скорее всего на сегодня общего решения не найти, а отдельные локальные нужно конкретно по каждому решению рассматривать как подойти.
Есть одна мысль. Но ее проверять надо.
Если допустим делать временный файл и в событие на открытие реестра производить подмену алиаса на свой временный. То тогда список то получим думается но вот потом целый фронт работ по переносу изменений при закрытии и потеря времени на создание такого файла при открытии реестра.
В ДОС-КПМ с этим была проблема не связанная со Штрихом.
Нам при создании КПМ+ пришлось весь механизм пересматривать.
Поэтому не уверен в Вашем случае.
А вообще в драйвере виндовом к Штрих-ФРу есть такая возможность.
У меня еще великие подозрения что вы работаете через ДОС-драйвер.
Потому как к ДОС КПМу мы делали свою возможность работы с вииндовым драйвером и стабильности со штрихом по многим вопросам достигли.
Через раз - это совершенно точно не проблема Штриха.
не будем забывать что это японский аппарат очень высокого качества.
Павел вообще уникальность в БЭСТ-5 контролируется гуидами.
Поэтому нумераторы по сути очень-то не нужны.
Не знаю что там в кадрах но делать нумератор числовым это не стиль
БЭСТа. Если речь идет об уникальности то для индексов лучше иметь
поле именно символьным. Вы потом у себя делайте как хотите а пример
мы таки через символьное будем делать.
Ваша проблема связана с ошибкой округления.
К сожалению правила округления, о которых говорят поставщики
Штриха в Москве не соответствуют действительности.
В КПМ+ эта проблема решалась.
К сожалению пара случаев была зафикисрована за все время эксплуатации.
Но пока не удалось получить лог-файл чтобы переслать программистам
Штриха в качестве доказательства не соответствия их утверждения.
Тем не менее считаю что КПМ+ Вашу проблему закроет.
У нас там заложен специальный механизм выравнивания, чтобы этой проблемы не было в качестве ограничения стоит защита на разбег в 5 копеек. Случай исключительно редкий.
Для обмена в DBF формате в любом случае нужен небольшой плагин с предобработкой таблицы по одной простой причине: разные кодовые страницы и дальше уже над этим можно не задумываться.
Плагин сделать абсолютно не сложно на мой взгляд.
Заранее прошу прощения за принцип "дурная голова рукам покоя не дает" но мне кажется этот путь наиболее наглядно демонстрирующим разницу в методах создания сетки, которые будем рассматривать позже. Но хочется осветить все варианты.
1).По пункту 1 УРОКа 3 создадим таблицу
2).На созданном в графической форме объекте xbGrid из пункта А
данного урока обратимся к инспектору объекта
3)Найдем строчку columns и нажимаем на три точки
4)На экране видим надпись TDBgridColumnEh
5)В инспекторе находим строку FieldName
6)На основании описания размещенного здесь заносим в поле FieldName 'NUMDOC' в поле title-caption "No Доверенности"
7)Жмем плюс
Не знаю как у кого - у меня вылетает сообщение об ошибке и вынужден повторить 5) и 6)
8) Жму плюс и появляется вторая строка и по старому принципу заполняю 'Date_in' и 'Дата выдачи'
9)Дальше без проблем заполняем нужные столбцы и выходим в экран формы.
10) Раздвигаем столбцы и помним что пока не знаем как это на экране будет
1)Запускаем client\bin\foxbro
2)Файл - создать таблицу
3)Находим нужную базу данных
4)Открываем папку user
5)Поскольку нам надо для задачи доверенностей создадим папку dover
6)Откроем папку,напишем имя таблицы dover.dbf и жмем сохранить
7)Вводим поля следующего формата:
ID_DOV Сharacter 10 0 – уникальный идентификатор в нашем примере сделаем
его символьным
CODEDOC Character 3 0
NUMDOC Character 6 0
DATE_IN Date 8 0 - дата выписки довереннсти
DATE_OUT Date 8 0 - дата какую довереннсть дествительна
TNUM Character 6 0 - табельный номер из БЭСТ
FIO Character 80 0 – ФИО, должность
PASPORT Character 80 0 – паспортные данные
AGENTNAME Character 60 0
AGENTCODE Character 6 0 Код партнера из БЭСТ
DOC Character 1 0 – ТМЦ получены по (варианты – накладной, счету, договору ) Применим массив и одного символа нам хватит
YEAR Integer 4 0 – год к которому относится доверенность (использовал отдельно для более быстрого отбора записей) Нужно ли
год иметь поле символьным ? Вероятно нет.
STATUS Character 1 0 – статус доверенности (0-выдана, 1 – возвращена, 2- закрыта т.е. ТМЦ получены)
TTN - Character 60 0 – № накладной, дата и т.д. по которой получены ТМЦ
PRIM Character 37 0
8)После ввода всех полей жмем ОК
9) На запрос INPUT DATA RECORDS отвечаем No
A.Создаем форму 1).Запускаем client\bin\bestide.exe
2)Файл-создать новый - проект
3) Пытаюсь переименовать.
- выделяем project.bpr
- файл-сохранить как - doverenost
- выделяем doverenost.bpr
- проект-свойства проекта в строке папка и имя конечного файла
ставим doverenost.bdll
4)Файл- создать новый - форма
5) Пытаюсь изменить размеры формы
- включаем вид-инспектор свойств (должна стоять галочка)
- активируем мышкой саму форму
- в инспекторе\свойства\ClientHeight ставим допустим 500
- в инспекторе\свойства\ClientWidth ставлю допустим 700
5)Включаю вид\палитра компонентов (проверяю наличие галочки)
6)В палитре выбираю значок xbGrid и переношу объект на форму
7)Раздвигаю объект на форме до предполагаемых размеров
Как это будет в итоге на экране пока не знаю !!!
Задача 1. Создаем сетку таблицы средствами дизайнера.
Общее описание задачи.
1.Учимся создавать форму
2.Учимся средствами дизайнера назначать колонки
3.Учимся получать программу вывода графической формы на экран
Дополнительно:
к этой задаче будет создан урок 3. Цель которого как создавать
свои таблицы,индексы, пункты меню и где это размещать в БЭСТе
Коллеги начинаем новый раздел в программировании.
Раздел для меня новый и очень объемный.
Просьба соблюдать производственную дисциплину
А именно:
- обсуждаем только поднятые аспекты темы. Другие варианты и пути решения будем рассматривать последовательно и не спеша. Просьба вперед разговора не забегать
- если я не уверен в наличии другого варианта решения, но он может
иметь место, то этот фрагмент буду помечать знаком Тогда высказывать и делится своими знаниями по этому поводу приветствуется
- ограничения/неудобства обнаруженные буду помечать и также
приветствуются коментарии и поправки
- каждый урок по графике будет состоять из не менее 2 сообщений.
Первое сообщение может неоднократно мной дополняться и развиваться.
По мере того, как на мой взгляд тема урока будет раскрыта полностью
я буду размещать сообщение о том, что изложение материала закончил и
только тогда начинаем переходить к обсуждению. Просьба дожидаться окончательного размещения материала.
Марина это не получится при всем желании.
Исх. тексты в разрезе различных SP как правило не хранятся.
Вам положили текущую версию БЭСТа и она соответствует последнему
SP разумеется
В общем виде задачу принял пока из одной таблицы.
Кое какие поля изменю по их характеристикам.
Описание буду оформлять отдельным уроком.
К разработке приступил. Мне надо время чтобы детально расписать и
убедиться в корректиности написанного. Скоро опубликую
Олег я консультировался со своими системщиками. Говорят Цитрикс не причем, говорят они бы искали багу с операционке. Может что специалисты КБ подскажут ?