Làm thế nào để bạn xác nhận đầu vào quan trọng mà không thể được hiệu đính?


8

Làm thế nào để ngăn người dùng tạo các bộ đầu vào sai, khi không có cách thực tế để kiểm tra đầu vào?

Cảnh

Tôi sửa đổi một gói ERP nhỏ được viết bằng Visual FoxPro. Một phần của gói liên quan đến bản in xe tải và hóa đơn được gửi với các tài xế trên các tuyến giao hàng của họ. Thói quen in, khi được cho ăn không phải là đầu vào, sẽ cố in tất cả mọi thứ, dẫn đến việc ram và giấy in của máy in bị lãng phí trên máy in tốc độ cao.

Tôi không ở vị trí để viết lại bất kỳ thành phần giao diện GUI nào, tôi cũng không thể điều chỉnh bất kỳ khung, bộ công cụ hoặc mã bên ngoài nào khác được sử dụng trong tình huống này. Những lý do liên quan đến chính trị văn phòng, xin vui lòng không đề xuất rằng tôi có thể ghi đè khung ERP hiện tại, vì đó không phải là một lựa chọn cho tôi.

Vấn đề

Người dùng đang ở trong một môi trường áp lực cao, thời gian quan trọng. Mỗi quy trình được đo bằng phút hoặc thậm chí vài giây, điều đó có nghĩa là tôi phải giảm thiểu thời gian xử lý càng nhiều càng tốt. Do môi trường này và có thể gây mất tập trung, người dùng thường bỏ qua các hộp thoại, nhấn phím [Enter] khiến tiêu điểm nhanh chóng di chuyển qua biểu mẫu và cuối cùng chạm vào nút hành động cho hộp thoại đầu vào, dẫn đến việc chúng kích hoạt bản in tự động .

Đầu vào bao gồm phạm vi ngày, phạm vi tuyến đường và phạm vi đơn hàng.

Đầu vào cho phạm vi ngày không thể được đặt tự động thành "ngày hôm nay", vì cần phải in lại thường xuyên. Ngoài ra, người dùng cuối làm việc trong nửa đêm, tức là cuộn qua ngày làm cho điều này không thực tế mà không tạo ra thói quen tự động phát hiện thay đổi, v.v.

Đầu vào cho các tuyến đường không thể được mã hóa cứng, cũng không thể suy ra từ các tuyến đường đã được vận chuyển, vì phải in lại (xem ở trên).

Đầu vào cho đơn đặt hàng chỉ có ý nghĩa khi in các đơn hàng hoặc phạm vi cụ thể.

Vì vậy, thẳng thắn, không có cách thực tế để xác nhận đầu vào .

Nút hành động kích hoạt in ấn có thể bị chặn. Mọi đề xuất rằng hộp thoại chặn được đặt trước mặt người dùng sẽ bị bỏ qua. Tôi không được tự do thảo luận tại sao đây không phải là một lựa chọn, ngoài khái niệm đã được thảo luận ở nơi khác trên trang web (từ một điểm thuận lợi khác) và đã bị từ chối.

Chặn các bản in khi tất cả các đầu vào trống đã bị từ chối vì là một quyết định thiết kế vì phần mềm phải chứa điều này như một tính năng.

Người dùng

Người dùng đã nhiều lần được yêu cầu không làm điều này. Họ thường xuyên bỏ qua lời khuyên này. Kích hoạt sự kiện đáng tiếc này không phải là điều mà các quản đốc / quản lý của họ sẽ giải quyết, do đó không có áp lực để kết thúc hành vi.

Tổ chức

Tôi không có tiếng nói trong quy trình làm việc liên quan, chỉ sửa đổi các thành phần phần mềm hiện có bị ảnh hưởng bởi quy trình công việc đó.

Nhà cung cấp

Nhà cung cấp thứ hai cung cấp gói dưới dạng cài đặt tùy chỉnh từ nhà cung cấp phần mềm gốc. Nhà cung cấp yêu cầu tất cả các thay đổi mã được gửi lại cho họ để tích hợp vào cơ sở mã của họ. Những thay đổi đáng kể về kiến ​​trúc sẽ dẫn đến tăng chi phí trong tương lai trong quá trình di chuyển phiên bản do tùy chỉnh rộng rãi có liên quan; trong một số trường hợp, các lập trình viên thậm chí còn nói với tôi rằng họ sẽ hoàn toàn bỏ qua những thay đổi lớn như vậy và sẽ làm theo ý họ.

Phần mềm

Tôi không có ý kiến ​​gì trong việc lựa chọn hoặc cài đặt phần mềm, vì vậy việc thay đổi nền tảng là không cần thiết.

Về môi trường của phần mềm, mỗi hóa đơn được in là một cuộc gọi duy nhất. Không có cơ sở in hàng loạt và vì cách thức cơ sở in được tích hợp vào hệ thống (và cả một số ngôn ngữ ngôn ngữ) nên việc tạo một trình bao bọc xung quanh API đó là không khả thi. Ngoài ra, phần này của chương trình gọi một chương trình khác thực hiện in hóa đơn, lần lượt gọi API in báo cáo, in một hóa đơn. Thiết kế khủng khiếp, tôi biết.

Biểu mẫu đầu vào là sự kết hợp kỳ lạ của tiêu đề biểu mẫu không có hộp đầu vào, nhưng có thể chứa các thành phần GUI khác. Các hộp đầu vào được xác định trong thời gian chạy.

Mục tiêu

Phần mềm sẽ ngăn người dùng in sai tất cả các giấy tờ.

Làm thế nào bạn sẽ giải quyết vấn đề này?


5
Dường như với tôi rằng bạn cần phân tích kỹ lưỡng khả năng sử dụng phần mềm của bạn trước. Âm thanh như một cơn ác mộng để sử dụng.
Bernard

6
Vì vậy, nếu tôi hiểu việc in đúng này, mọi thứ cần phải là một tính năng, vậy tại sao không thể in tất cả là nút riêng của nó và nút in hiện tại sẽ bị chặn cho đến khi ít nhất một trường có dữ liệu?
Ryathal

8
Lâu rồi không nghe nói về FoxPro, nghe có vẻ như các bạn bị mắc kẹt vào giữa những năm 90. Trên một lưu ý sang một bên bạn nghe có vẻ căng thẳng khủng khiếp và tình hình của bạn có vẻ khá vô vọng. Họ ném bạn vào ghềnh nhưng trói tay và chân bằng dây thừng, làm thế nào để bạn giải quyết vấn đề nếu bạn tập trung vào việc không bị chết đuối?
maple_shaft

4
Tôi sẽ thay đổi đầu ra mọi thứ param thành một cái gì đó cụ thể như IN. Tạo thông số trống để xuất ra lựa chọn phổ biến nhất (có thể là bản ghi hiện tại)
SoylentGray

5
@AveryPayne: Chỉ vì công việc mới tốt hơn công việc cũ không có nghĩa là công việc mới không hút.
unolysampler

Câu trả lời:


25

Điều này thật dễ dàng, nếu họ để trống mọi thứ, bạn nhắc rằng điều này sẽ in mọi thứ, tuy nhiên, lựa chọn DEFAULT trong lời nhắc đó PHẢI hủy bỏ.

Nếu họ nhập giá trị, in bất cứ điều gì họ yêu cầu.

Bằng cách này, họ sẽ không vô tình làm nổ tung mẫu đơn và in mọi thứ. Họ sẽ rạo rực và không in gì cả. Họ sẽ cần tạm dừng và in thay đổi lựa chọn tại dấu nhắc thành OK, từ Hủy, để in mọi thứ.


2
Điều này sẽ không hoạt động - ngay khi người dùng nhận ra rằng họ phải sử dụng chuột để nhấp vào nút (hoặc nhấn tab trước khi nhấn enter), họ sẽ bắt đầu thực hiện điều đó một cách tự động mà không cần suy nghĩ gì cả.
TehShrike

7
@TehShrike, không, nó sẽ, bởi vì lời nhắc chỉ xuất hiện khi in MỌI THỨ. Vì vậy, nó sẽ phá vỡ dòng chảy bình thường của họ, khiến họ nhấn enter lần nữa vì họ mong đợi một dấu nhắc khác (và hủy bản in) hoặc dừng lại để đọc lời nhắc và chọn lựa chọn chính xác.
CaffGeek

Điều này giải quyết yêu cầu loại bỏ vấn đề "cần một Đối thoại về Ác ma (tm)", trong khi hoàn thành mục tiêu ban đầu - phá vỡ "sự tập trung" của họ (hoặc thiếu nó). Nó sẽ dừng họ trong các bài hát của họ và khiến họ thức dậy trong một giây thay vì nhấn phím [Enter]. Trong tất cả các điều kiện khác, họ có thể đi làm như bình thường mà không làm gián đoạn dòng công việc của họ. Phản ứng tuyệt vời.
Avery Payne

@AveryPayne, rất vui vì nó giúp.
CaffGeek

27

Nghe có vẻ như bạn đã có một yêu cầu để sửa một cái gì đó, nhưng mỗi khi bạn đề xuất một giải pháp (và có rất nhiều ý tưởng hay trong danh sách của bạn) thì nó lại bị bắn hạ.

Đây là điểm mà bạn cần đẩy lùi. Bạn không cần một ý tưởng mơ hồ rằng "điều này là sai; sửa nó đi." Những gì bạn cần là một thông số kỹ thuật. Hỏi những người muốn nó cố định chính xác những gì họ làm muốn làm, vì cho đến nay tất cả các bạn có là những gì họ không muốn. Điều đó thật dễ dàng: chỉ cần không làm gì, và sau đó bạn sẽ không làm bất cứ điều gì họ không muốn. Nói với họ rằng nếu họ muốn thay đổi được thực hiện, họ cần đưa ra các quy tắc cụ thể, tích cực và bạn sẽ thực hiện chúng.


Suy nghĩ rất độc đáo "bên ngoài chiếc hộp" (ick, tôi vừa mới nói cụm từ cũ đó à?), Vì vậy +1 cho bạn. :)
Avery Payne

3
Đáng buồn thay, khi "chính trị văn phòng" là lý do cho những hạn chế về bản lĩnh, các yêu cầu lành mạnh thường rất mỏng manh. Việc loại bỏ bằng vũ lực hoặc sự tập trung của "chính trị văn phòng" như một điều tồn tại sẽ giúp cải thiện chất lượng mã sản xuất trên toàn cầu theo một số đơn đặt hàng lớn.
Jason Lewis

10

Tôi sẽ cố gắng đưa ra câu trả lời cho một câu hỏi chung chung hơn: làm thế nào để tránh người dùng mắc lỗi dẫn đến thảm họa hoặc điều gì đó không thể bị hủy bỏ hoặc hoàn tác (như lãng phí giấy bằng cách in một vài trang mà người dùng không mong đợi in).

Như đã nói trong câu hỏi ban đầu:

Người dùng đang ở trong một môi trường áp lực cao, thời gian quan trọng. Mỗi quy trình được đo bằng phút hoặc thậm chí vài giây, điều đó có nghĩa là tôi phải giảm thiểu thời gian xử lý càng nhiều càng tốt.

Điều này có nghĩa rằng:

  • Sản phẩm phần mềm phải cố gắng hết sức để tăng năng suất của nhân viên. Khi mỗi giây trôi qua, trải nghiệm và năng suất của người dùng thậm chí còn quan trọng hơn so với các sản phẩm thông thường, khi mất một vài giây cho một số tính năng mà người đó thậm chí không sử dụng quá thường xuyên là chấp nhận được.

  • Người dùng quá bận rộn để chú ý đến sản phẩm phần mềm. Khi ở một môi trường bình tĩnh, tôi sử dụng một số tính năng của Microsoft Word tôi đã sử dụng lần trước cách đây một năm, nếu Microsoft Word hỏi tôi một câu hỏi, giải thích hậu quả của sự lựa chọn của tôi là gì, tôi có thể dành một hoặc hai phút để đọc câu hỏi, và thậm chí có thể sẽ đọc tài liệu. Trong trường hợp của bạn, bạn không thể đủ khả năng đó. Người dùng của bạn không có thời gian để đọc.

Hộp tin nhắn: không, không và ... không!

Như đã giải thích trong câu trả lời khác của tôi , trong hầu hết các trường hợp, hộp thư là xấu, vì hai lý do (xem Giới thiệu về khuôn mặt 3 của Alan Cooper để biết thêm chi tiết):

  • Hộp thoại đã khóc Sói! nguyên tắc kích động người dùng bỏ qua nhiều lần một hộp thoại mà không chú ý nếu ứng dụng hiển thị cùng một hộp thoại quá thường xuyên.

  • Hộp thoại làm xáo trộn quy trình làm việc: người dùng không thể tập trung vào ứng dụng, vì hộp thoại lấy tiêu điểm này đi và tương tác với ứng dụng bị đình chỉ cho đến khi hộp thoại bị tắt.

Điều này có nghĩa là các hộp thoại là một tội ác tuyệt đối trong trường hợp của bạn theo quan điểm của UX: chúng sẽ bị loại bỏ và chúng sẽ làm giảm năng suất trong một môi trường mà mỗi giây đều có giá trị.

Các phương tiện khác

Theo câu hỏi:

  • "Đầu vào bao gồm phạm vi ngày, phạm vi tuyến đường và phạm vi đơn đặt hàng bán."

  • Không có giá trị sai (ví dụ: người dùng có thể nhập ngày trước, ngày trong tương lai hoặc hôm nay trong trường đầu tiên), vì vậy không thể xác thực.

  • "Thói quen in, khi được cho ăn không phải là đầu vào, sẽ cố in tất cả mọi thứ, dẫn đến việc ram và giấy in của máy in bị lãng phí trên máy in tốc độ cao."

  • Hoàn toàn có thể yêu cầu in với dữ liệu mặc định được sử dụng.

Nói một cách chung chung hơn, nó có nghĩa là:

  • Bạn có một giá trị mặc định, thực sự có thể hợp lệ,

  • Bạn không muốn người dùng nhấn nút "In" với các giá trị mặc định do nhầm lẫn, trong khi họ có ý định thay đổi chúng.

Đây là một vài kỹ thuật bạn có thể thử:

1. Phép thuật hoàn tác

Có, người dùng đang ở trong một môi trường quan trọng về thời gian. Có, một khi máy in bắt đầu in, nó không thể dừng lại. Nhưng vẫn có một số thứ bạn có thể làm.

Ngay cả trong một môi trường quan trọng về thời gian, rất có thể việc in ngay bây giờ và in trong năm giây sẽ không thay đổi bất cứ điều gì.

Khi người dùng nhấp vào "In", hiển thị nút "Hoàn tác" nhỏ , giống như GMail thực hiện khi bạn yêu cầu xóa, do nhầm lẫn, tất cả thư của bạn. Đợi năm giây ². Ẩn "Hoàn tác" và chỉ sau đó, in.

Bây giờ, người dùng có cơ hội nhận thấy lỗi và hủy bỏ nó trước khi tác hại thực sự được thực hiện, trong khi nội dung chỉ được in với độ trễ năm giây nhỏ.

2. Nền "giá trị mặc định" riêng biệt

Có giá trị mặc định nào đáng ngờ không? ³ Với một giá trị, điều đó hiếm khi đáng ngờ. Với ba, có nhiều khả năng các trường hợp khi người dùng phải giữ cả ba giá trị theo mặc định là khá hiếm.

Trong trường hợp này, bạn có thể:

  • Đánh dấu giá trị khi nó có giá trị mặc định. Không có màu đỏ: màu đỏ là giá trị không hợp lệ. Đặt nó thành màu vàng cam và trở lại màu trắng khi người dùng thay đổi giá trị mặc định.

  • Hoặc tắt nút "In" cho đến khi thay đổi giá trị. Thêm một hộp kiểm gần đó, mà người dùng có thể kiểm tra để xác nhận rằng ý định của anh ta là in với các giá trị mặc định.

3. Tăng cường giao diện người dùng kiểm soát của bạn

Chúng tôi là Thứ Sáu, 6 ngày tháng bảy 2012 hôm nay. Điều gì sẽ là ngày thứ năm tới? Nhanh, nhanh, bạn đang chịu áp lực, bạn chỉ có một giây cho câu trả lời của mình. Ngoài ra, bạn mệt mỏi và có rất nhiều tiếng ồn xung quanh. Không dễ để trả lời, phải không?

Mọi người không thể thao túng ngày dễ dàng khi nó được viết là 1/8/1012. Saturday, 7th of January (tomorrow)là một chút dễ dàng hơn. Một giao diện đồ họa nổi bật vào thứ bảy và chủ nhật, cho thấy ngày hôm nay và phần bù còn tuyệt vời hơn nữa.

Không có gì xấu bằng "Địa điểm: NYC". Ba chữ cái đó là vô nghĩa khi bạn mệt mỏi và làm việc trong một môi trường căng thẳng; sai lầm là dễ dàng. Thay vào đó, một bản đồ đồ họa của Hoa Kỳ hiển thị một chấm đỏ cho thành phố New York hấp dẫn hơn nhiều và người dùng có nhiều cơ hội nhận thấy rằng, trong khi anh ta muốn chọn San Francisco, chấm đỏ dường như xuất hiện sai chỗ .

nhập mô tả hình ảnh ở đây

Bạn có thích không nếu GPS của bạn nói với bạn rằng bạn phải di chuyển từ 38.90403, -77.04878 sang 38.90568, -77.04665, sau đó rẽ phải và di chuyển đến 38.90565, -77.04345, sau đó rẽ trái 90 ° và chuyển sang 38.90660, -77.04345? Bạn có thể tập trung vào công việc của bạn (con đường)? Hiển thị 1/8/2012 và NYC cho người dùng bận rộn cũng thân thiện như GPS ném các tọa độ thô thay vì chế độ xem 3D của bản đồ đầy màu sắc.

Bằng cách cung cấp các điều khiển phong phú hơn và trực quan hóa dữ liệu phong phú hơn , bạn có thể giảm mức độ sai lầm của người dùng trong một môi trường căng thẳng.


Nhân tiện, điều này áp dụng cho các biến thể khác của hộp thoại. Trước đây bạn đã hỏi một câu hỏi về các hộp thoại trong đó các nút sẽ là ngẫu nhiên và điều này sẽ gây khó khăn cho việc loại bỏ. Đáng buồn thay, cách tiếp cận như vậy sẽ không giúp ích gì, nhưng chỉ làm tổn thương: người dùng vẫn sẽ loại bỏ những gì được nói bởi hộp thoại, nhưng lãng phí nhiều thời gian hơn để cố gắng đóng nó để trở lại làm việc.

² Tôi nói năm giây là một ví dụ. Bạn phải theo dõi hoạt động của người dùng trong một vài tháng để xem họ nhấp nhanh như thế nào vào "Hoàn tác". Rất có thể nó sẽ ở dưới một giây. Nếu bạn thấy độ trễ là từ 0,6 đến 1,8 giây. với trung bình 1,1 giây, bạn có thể hiển thị "Hoàn tác" trong hai giây rồi in.

Làm ơn, làm ơn, làm ơn, nói không! Bởi vì nếu có, điều đó có nghĩa là có gì đó không đúng với các giá trị mặc định của bạn. Ví dụ: nếu giá trị mặc định cho ngày là hôm nay, trong khi trong 75% trường hợp, người dùng phải đặt giá trị đó vào ngày mai, trong 10% cho ngày hôm qua và 10% cho đến ngày mai, bạn nên đặt mặc định giá trị đến ngày mai.


Lựa chọn 1 là tốt nhất trong ba. Tùy chọn 2 có thể hoặc không thể do thiết kế API kém cho giao diện. Tùy chọn 3 chắc chắn bị hỏng do thiết kế API kém (hộp văn bản và nút là những thứ duy nhất có sẵn). Tuy nhiên, cảm ơn bạn đã bình luận mang tính xây dựng . :)
Avery Payne

1
Bạn có thể quản lý tùy chọn thứ hai bằng cách thêm một số nhãn và bật và tắt khả năng hiển thị của chúng (bạn vẫn có nhãn phải không?). Đối với tùy chọn thứ ba, hãy quên nó đi cho đến khi sếp / khách hàng của bạn hiểu rằng anh ta mong đợi phần mềm chất lượng tốt với giao diện người dùng chất lượng tốt được xây dựng trên một khung công tác nhảm nhí chỉ với hộp văn bản và nút bấm giống như mong đợi một chiếc Lamborghini được chế tạo từ gỗ và một số mảnh cũ kim loại.
Arseni Mourzenko

Magic Undo chắc chắn là một điều đẹp.
Nick Chammas

@MainMa, giống như một ghi chú bên lề, API khá nguyên thủy cho những gì bạn đang cố gắng thực hiện trong # 2. Một hộp thoại có bốn nút là một lệnh gọi hàm duy nhất vẽ hộp thoại, lấy một số văn bản từ một chuỗi và tự động điền các nút bằng các từ. Có, bạn đã đoán đúng, 7 tham số - "tin nhắn", số nút, tiêu điểm nút mặc định, nút chuỗi1, nút chuỗi2, nút chuỗi3, nút chuỗi4. Không có "bố cục" hoặc "lớp lại đối tượng" có thể được áp dụng. Nhưng cảm ơn về lời đề nghị, và chắc chắn là trong khả năng của tôi để viết hộp thoại của riêng tôi và gọi nó thay vào đó ...
Avery Payne

3

Bạn có thể xác định trước khi in bao nhiêu trang sẽ được in, hoặc bằng một cách khác đo kích thước của đầu ra? Nếu vậy, hãy xác định kích thước tối đa cho sử dụng bình thường và nếu nó lớn hơn, hãy sử dụng hộp thoại xác nhận cho biết kích thước đầu ra và để không thể bỏ qua mà không cần đọc, yêu cầu người dùng nhập lại kích thước đầu ra để xác nhận.


Mặc dù có thể cố gắng tính toán số lượng trang, nhưng nó bị cấm theo thời gian, và do đó, quyết định thiết kế đã bị từ chối vì những hạn chế về thời gian được đề cập ở trên. Tuy nhiên, nếu thời gian không phải là một yếu tố, đây sẽ là một trợ giúp lớn. Tuy nhiên, hộp thoại chặn thứ cấp chạy ngược lại với bài đăng của tôi ở trên (xem đoạn 2 đến đoạn cuối trong "Vấn đề:".
Avery Payne

@AveryPayne Bạn có thể hủy in khi nó được bắt đầu không? Thay vào đó, bạn có thể có màn hình không chặn cho biết số lượng trang (được tính song song với việc bắt đầu in) với tùy chọn hủy nếu đó không phải là điều người dùng muốn làm, vì vậy bạn chỉ lãng phí một vài trang trong khi người dùng nhận ra sai lầm.
JGweissman

+1, đơn giản vì cho đến nay, đây là câu trả lời thực tế duy nhất đã được đưa ra. Tuy nhiên, tôi vẫn không thể chấp nhận phần hộp thoại chặn của nó.
Avery Payne

Tôi ước mình có thể, nhưng cái móc để in là "hại não" nhất - nó nhấp nháy một hộp thoại cho mỗi bản in. Tôi sẽ cố gắng làm rõ điều này trong câu hỏi, cảm ơn vì đã chỉ ra điều này.
Avery Payne

3

Làm thế nào bạn sẽ giải quyết vấn đề này?

Rõ ràng tách các trường hợp sử dụng. Có một trường hợp "in một cái gì đó ngay bây giờ" có thể dẫn đến đầu ra vô tận. Khắc phục điều này để cung cấp tất cả các mặc định đúng.

Có một trường hợp "in lại một số điều trước đó" là một yêu cầu đặc biệt (không chuẩn) trong đó các đầu vào có thể được kiểm tra cẩn thận.

Đầu vào cho phạm vi ngày không thể được đặt tự động thành "ngày hôm nay", vì cần phải in lại thường xuyên.

Sai.

Đầu vào có thể được đặt tự động ngay hôm nay mà không ảnh hưởng gì đến các yêu cầu in lại thường xuyên.

Những tác động có thể nào mà tự động được đặt thành "ngày hôm nay" sẽ xảy ra đối với các yêu cầu in lại? Hãy liệt kê chúng trong câu hỏi.

Đầu vào cho các tuyến đường không thể được mã hóa cứng, cũng không thể suy ra từ các tuyến đường đã được vận chuyển, vì phải in lại (xem ở trên).

Sai.

In lại và in lại là một trường hợp đặc biệt. Họ không bao giờ có các trường mặc định và là ngoại lệ, không phải là quy tắc.


1
"thông qua đầu vào với ngày sai"? Đầu vào nào? Có hai trường hợp sử dụng riêng biệt: Ngày mặc định và ngày trở lại. Vui lòng làm rõ.
S.Lott

2
@ S.Lott Đây là một nhận xét nhiều hơn một câu trả lời.
Josh K

3
@PersonalNexus: Có thể. Câu hỏi khá khó để giải quyết vì nó chứa đầy những giả định.
S.Lott

2
@AveryPayne - Vậy tại sao không vô hiệu hóa khả năng in mà không có tham số?
SoylentGray

1
Vui lòng thảo luận mở rộng để trò chuyện .
Josh K

2

Cho phép tôi khôi phục vấn đề.

Trạng thái hiện tại: nhấn một cách mù quáng Enterkhiến các ram giấy được in.

Trạng thái mong muốn: nhấn một cách mù quáng Enterkhông gây ra các luồng giấy được in.

Giải pháp: thay đổi phần mềm để nhấn một cách mù quáng Enterlàm bất cứ điều gì , bất cứ điều gì , ngoài việc gây ra các ram giấy được in.

Điều đó khá nhiều cho bạn vấn đề về những gì nó nên làm thay thế. Cá nhân, tôi sẽ hỏi các nhà khai thác những gì họ muốn. Tôi đoán là một cái gì đó giống như in các hóa đơn khẩn cấp nhất chưa được in. Để lại khả năng in tất cả, nhưng đòi hỏi một quyết định có ý thức để làm như vậy.


2

Bạn có một tình huống trong đó quy trình mặc định hiện tại đang tạo ra sự lãng phí và tốn thời gian cho người dùng của bạn.

Vô hiệu hóa khả năng chỉ nhấn enter bằng mọi cách bằng cách tập trung vào nút "đặt lại thông số" (tạo một nếu cần) vì vậy nếu họ nhấn enter, nó vẫn ở trên màn hình đó, nhưng không làm gì cả. Tôi sẽ tạo một số loại nút nóng cho các lựa chọn phổ biến nhất để tự động điền vào biểu mẫu với các tham số đó để giúp người dùng thoát ra. Nhưng điều này sẽ giải quyết vấn đề của bạn ngay cả với các nút nóng.


Các trường đầu vào được "động" thêm vào lúc chạy (không có bố cục thời gian thiết kế) ... nhưng các nút được mã hóa thành biểu mẫu, vì vậy việc thêm các nút mới là một gợi ý tuyệt vời.
Avery Payne

Việc thêm động làm phức tạp mọi thứ nhưng tôi nghĩ bạn vẫn có thể điền chúng ngay cả trong foxpro nếu có giá trị trong việc tìm ra nó.
SoylentGray
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.