View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000904 | ГРАНИТ | General | public | 2016-01-28 00:04 | 2016-08-10 15:56 |
| Reporter | ruslan | Assigned To | barry | ||
| Priority | urgent | Severity | feature | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Summary | 0000904: +FrViewer-Новое окно- АРМ Упаковщика | ||||
| Description | В принципе, где это окно реализовать больше вопрос, чем утверждение... это относительно независимый функционал, однако делать его в виде отдельного модуля как-то думаю непроизводительно - вспомогательной работы много - окно авторизации и т.д., думаю добавить пока просто кнопку на панель инструментов в FrViewer. По кнопке вызывать основное окно. Описание функционирования: пользователь считывает сканером штрих-кодов(или вводит с клавиатуры) штрих-код изделия из заказа(поле Barcode из таблицы WorkZkakazParam) в поле "Штрих-код" основного окна, если штрих-код существует, то проверяется, есть ли накладная в заказе на оприходование на указанный в настройках окна Склад, за текущую дату и существует ли позиция в приходной накладной из производства(любой) с таким штрих-кодом. Если позиция в приходе уже существует,- просто печатаем указанную в настройках окна Печатную форму, если позиция отсутствует и накладной на оприходование в заказе за текущую дату - нет - добавляем накладную и добавляем поз. в эту накладную, иначе добавляем позицию в уже существующую накладную. После этого в основном окне в виде текста выводиться служебная информация в виде "Изделие [Наименование товара] [Штрих-код](GDDKTID=) успешно добавлено в накл.№ от (DGVKTID=...)по заказу № от (ID=)". После отработки функции Окно остается на экране, курсор возвращается в поле Штрих-код, текущий штрих-код выделяется для ввода нового поверх существующего в поле значения. Если штрих-код в БД не найден- выдавать звуковой сигнал и надпись красным шрифтом в поле "Служебная информация"- "Штрих-код[значение] в базе данных НЕ НАЙДЕН!!!" Требования к основному окну: - модальное окно; - основной функционал запускается по нажатию Enter в поле Штрих-код - после отработки функции - окно с экрана не исчезает; - курсор по умолчанию в поле Штрих-код - поле Штрих-код типа TextEdit для ввода штрих-кода; - поле Служебная информация типа Text - глобальная переменная [BARCODE](типа CurOrgnID) и т.д. для передачи в печатную форму. Окно настроек, для ввода и хранения по Пользователям Гранит условно-постоянной информации: - Склад для оприходования,- поле типа Список для выбора(DBLookUpControl) из списка доступных пользователю Складов; - Дата производства - поле DateEdit по умолчанию заполняется текущей датой; - Печатная форма - Печатная форма из FrReportTree(окна Отчетные формы), список форм отфильтрован по доступным для данного пользователя отчетным формам. Почему из Отчетных форм? Мне нужна возможность настраивать печатные формы в модуле FrViewer, потому что для этикеточных принтеров корректно этикетку можно сделать, только в привязке к принтеру, а в XE2 скомпиленный FR2.5 выдает ошибку при попытке открыть форму связанную с принтером. - Флаг - Печать на принтер по умолчанию без показа окна печати, для того чтоб после считывания штрих-кода печать на принтер происходила без участия пользователя. - Флаг - Сохранять служебную информацию в файл. Если опция указана - формировать файл с служебной информацией по каждому штрих-коду, только вначале каждой строки указывать время/дату | ||||
| Additional Information | Прикладываю печатную форму с аналогичным функционалом, основная претензия к такому построению, - большое кол-во промежуточных действий пользователя при печати этикетки. Задача реализовать работу по печати одним инструментом ввода - Сканером штрих-кодов. | ||||
| Tags | No tags attached. | ||||
|
|
|
|
|
В печатной форме на кнопке Сформировать в принципе реализован код, который я описал, служебную информацию я выводил по требованию(флаг на форме) на отдельной странице. |
|
|
Так а может в другом модуле сделать под XE2. Что там у нас принципиального было с FrView, я уже не помню. Наверное в складе стоит, там и накладные. |
|
|
frvw32.zip Глань FrView XE2 |
|
|
Модуль FrfViewer не переводи на XE он нужен такой как есть на D7 потому что на ХЕ не работает нормально редактор FR2.5, глючит привязка отчета к принтеру, нет возможности сохрянять отчеты в Exel в "быстром" и корректном экспортере: Произошла ошибка: Variant or safe array index out of bounds ----- execute procedure SysConst_SetValue (6046, :NAME, :VAL) FrViewer Application.MainForm: FormFrVw(TFormFrVw) XE2 FrViewer: Тест (ГОЛОВКО ЧП) [Администратор Системы] ActiveForm: frDesignerForm(TfrDesignerForm) Дизайнер - Этикетки(прих. накл)(кол_во).FRF ActiveCustomForm: frDesignerForm(TfrDesignerForm) Дизайнер - Этикетки(прих. накл)(кол_во).FRF Сейчас нет времени решать все эти вопросы - сделай кнопку для вызова этого окна в Складе, в панели инструментов, самое главное ОТЧЕТНУЮ ФОРМУ НУЖНО ЗАГРУЖАТЬ из таблицы FRREPORTTREE |
|
|
Так а кнопка где? Или ты просто модуль пересобирал? Борь - надо было тебе меня набрать на телефон(я и Скайпе тебе писал и в ТЗ, что ЭТОТ МОДУЛЬ нужен на Д7)- это ненужная работа, этот модуль не нужен в ХЕ, мы его специально оставили на Д7 ;'(((( |
|
|
Поле "Служебная информация" куда идет? |
|
|
1. В настройке параметров Склад - убери фильтр по типу склада, сейчас у тебя попадают ТОЛЬКО производственные цеха, и проверь, чтоб список складов фильтровался по доступным для ПОЛЬЗОВАТЕЛЯ складам(я не проверял). 2. При попытке напечатать гарантированно присутствующее в закзае с штрих-кодом изделие - ошибка Произошла ошибка: Field "MSTID" not found ----- select K.ID from DgvKt KK join GddKt K on K.DgvKey=KK.ID and K.ZMID=:MSTID and K.BarCode=:BARCODE where KK.ZID = :ZID and KK.TYP=4 Производство Application.MainForm: FormWork(TFormWork) XE2 Производство: Тест (ГОЛОВКО ЧП) [Администратор Системы] ActiveForm: BarCodePrintDlg(TBarCodePrintDlg) Этикетка (печать, приход) ActiveCustomForm: BarCodePrintDlg(TBarCodePrintDlg) Этикетка (печать, приход) Базу послал на почту эксперементируй с последним заказом в Производстве, я настроил для пользователя Admin без пароля. |
|
|
work32.zip |
|
|
1. Создание приходной накладной - Номер накладной по номеру Заказа 2. Оприходование позиций - добавить информацию по позиции Х, У, Z из справочника Изделия. 3. При формировании Служебной информации сделай текст в таком формате: - если изделие оприходовано - 'Изделие '+Str([NAME])+' GDDKT ID '+IntToStr(GDDKT_ID)+' по заказу ID '+IntToStr([ZID])+ ' № '+Str([DialogForm.Query."NBR"])+' в накладную ID '+IntToStr(DGV_ID)+' № '+Str([NBR])+' успешно оприходовано!'; - если изделие существует в приходных документах : ' Изделие '+Str([DialogForm.Query."NAME"])+' GDDKT ID '+IntToStr(GDDKT_ID)+' в накладной ID '+IntToStr(DGV_ID)+' уже СУЩЕСТВУЕТ! '; |
|
|
размеры будут из позиции в заказе WORKZMST |
|
|
work32.zip |
|
|
work32.zip фокус после печати |
|
|
1.Добавь в настройку флаг "Приходовать не в складской заказ", чтоб сразу отменять привязку к Заказу. Потому что сейчас по умолчанию идет производство из складских заявок. 2. И еще есть просьба, можно после печати, когда фокус на окно возвращается выделять штрих-код(который уже напечатан, это сейчас делается) и очищать поле штрих-код. Иногда сканер не считывает штрих-код, но дает Enter и повторно печатается тот же штрих-код, что может привести к путаннице... |
|
|
"Выделять и очищать"? Зачем выделять если очищается... |
|
|
Оно по-моему и не вяжет на заявку... |
|
|
work32.zip |
|
|
При оприходовании изделий нет оприходованных позиций в Товаре в наличии. |
|
|
А можно как-то в печатную форму передавать Дату производства из Параметров формы? |
|
|
[WZDATE] work32.zip |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2016-01-28 00:04 | ruslan | New Issue | |
| 2016-01-28 00:04 | ruslan | File Added: Этикетка (универсальная_печать+приход).frf | |
| 2016-01-28 00:06 | ruslan | Note Added: 0002251 | |
| 2016-01-28 00:12 | ruslan | Description Updated | View Revisions |
| 2016-01-29 12:51 | barry | Note Added: 0002254 | |
| 2016-01-29 13:49 | barry | Note Added: 0002256 | |
| 2016-01-29 16:15 | ruslan | Note Added: 0002257 | |
| 2016-01-29 16:30 | ruslan | Note Added: 0002258 | |
| 2016-02-01 11:13 | barry | Note Added: 0002259 | |
| 2016-02-02 15:14 | ruslan | Note Added: 0002260 | |
| 2016-02-03 10:41 | barry | Note Added: 0002261 | |
| 2016-02-03 10:41 | barry | Assigned To | => barry |
| 2016-02-03 10:41 | barry | Status | new => feedback |
| 2016-02-03 16:36 | ruslan | Note Added: 0002262 | |
| 2016-02-03 16:36 | ruslan | Status | feedback => assigned |
| 2016-02-03 17:14 | barry | Note Added: 0002263 | |
| 2016-02-03 17:50 | barry | Note Added: 0002264 | |
| 2016-02-03 17:50 | barry | Status | assigned => feedback |
| 2016-02-05 14:50 | barry | Note Added: 0002268 | |
| 2016-02-05 16:03 | ruslan | Note Added: 0002269 | |
| 2016-02-05 16:03 | ruslan | Status | feedback => assigned |
| 2016-02-05 16:21 | ruslan | Note Edited: 0002269 | View Revisions |
| 2016-02-05 16:22 | ruslan | Note Edited: 0002269 | View Revisions |
| 2016-02-09 07:22 | barry | Note Added: 0002273 | |
| 2016-02-09 07:34 | barry | Note Added: 0002274 | |
| 2016-02-09 07:46 | barry | Note Added: 0002275 | |
| 2016-02-09 07:46 | barry | Status | assigned => resolved |
| 2016-02-09 07:46 | barry | Resolution | open => fixed |
| 2016-02-10 10:06 | ruslan | Note Added: 0002276 | |
| 2016-02-10 10:06 | ruslan | Status | resolved => feedback |
| 2016-02-10 10:06 | ruslan | Resolution | fixed => reopened |
| 2016-02-15 12:47 | ruslan | Status | feedback => resolved |
| 2016-02-15 12:47 | ruslan | Resolution | reopened => fixed |
| 2016-02-26 17:04 | ruslan | Note Added: 0002298 | |
| 2016-02-26 17:04 | ruslan | Status | resolved => feedback |
| 2016-02-26 17:04 | ruslan | Resolution | fixed => reopened |
| 2016-03-11 09:03 | barry | Note Added: 0002305 | |
| 2016-03-16 06:17 | ruslan | Status | feedback => resolved |
| 2016-03-16 06:17 | ruslan | Resolution | reopened => fixed |
| 2016-08-10 15:56 | ruslan | Status | resolved => closed |