Имя: Пароль:
1C
1C 7.7
v7: Программное изменение размеров окна формы 1с 7.7 - подскажите решение
0 jah1111
 
16.08.20
15:24
Если оно существует
20 uno-group
 
17.08.20
09:09
(16) При активации нужного для редактирования элемента просто открываешь модально окно с виртуальной клавой где отображаешь нужную информацию и вводимое значение.
21 jah1111
 
17.08.20
10:14
(20) а как можно перехватить не просто активацию колонки ТЧ, а дабл-клик (когда курсор в ячейке ТЧ появляется)?
22 Ёпрст
 
гуру
17.08.20
11:31
(21) приначалередактирования
23 jah1111
 
17.08.20
21:58
(19) нет, не снята...
24 jah1111
 
17.08.20
21:58
(22) спасибо, думал это только для 8-ки
25 Ёпрст
 
гуру
17.08.20
22:08
(23) сними эту галку
26 jah1111
 
17.08.20
22:31
(25) блин устал... чего только не пробовал... и галку снимал... форма формексом причесана, может в этом причина?
27 Ёпрст
 
гуру
17.08.20
22:33
(26) без кода лень телепатировать. Выложи свою поделку на файлопомойку или сам мд
28 Злопчинский
 
17.08.20
22:48
(20) это правильно.
а еще правильнее - при работе с тсд\тачем - пошаговые действия\экраны, где не надо ничего активизировать - потому как элемент в который надо вводить данные - единственный активный.
29 Sserj
 
18.08.20
04:32
(26) А попробуй Formex-ом не через Окна.РазмерОкна (что-то он меня тоже когда-то подводил), а через РасширениеФормы.Ширина/Высота. Эти вроде и на модальных окнах хорошо работали.
30 uno-group
 
18.08.20
08:31
(21) Как по мне с ТЧ в ТДС вообще не удобно работать нет перевода строки и трудно всю информацию вывести, я обычно на таблице в режиме ввода данных реализую ТЧ.
А в ТЧ ПриНачалеВыбораЗначения можно юзать, но там еще для строк и чисел надо включить, что они вводятся через выбор
забыл синтаксис
31 jah1111
 
18.08.20
09:14
(30) пишу

Если Брутто.ПриНачалеРедактирования() = 1   тогда  
        сообщить("началось редактирование");
        КонецЕсли
32 jah1111
 
18.08.20
09:14
(31)  и нифига
33 jah1111
 
18.08.20
09:17
34 Sserj
 
18.08.20
10:15
(33) Не знаю в чем прикол, но судя по всему 7-ка запоминает отступы от табличной части и размеры кнопок.
Если взять твой документ "тест" и в нем ничего не меняя в модуле все кнопки сделать маленькими и поместить в верхний левый угол, а табличную часть растянуть на все свободное место. То документ начинает отлично изменять размер окна.
Видимо надо как то переработать интерфейс чтобы кнопки не были по сторонам табличной части.
35 jah1111
 
18.08.20
10:46
(34) и мне так кажется, но в то же время віглядит странно, что разработчики формекса этого не учли, иначе, получается, можно изменять размер оконо толко с пустыми формами....
36 Sserj
 
18.08.20
10:52
(35) Да видимо размер документов особо не нужно менять было. Если просто удалить ТабличнуюЧасть с формы, то все работает вообще идеально.
Я потыркался, видимо как то движок запоминает расположение кнопок, если многострочную часть сместить ниже всех кнопок то формы ровно по кнопкам изменяет размер. И на это не влияет свойство формы Изменяет размер.
37 Ёпрст
 
гуру
18.08.20
11:12
(35) на вот

Процедура кнЗгорнути()  
    АтрФ = СоздатьОбъект("АтрибутФормы");// пока не работает.
    АтрФ.УстановитьАтрибут(Форма,"МногострочнаяЧасть");
    АтрФ.УстановитьКоординаты(0,0,1,1);

    Окна = СоздатьОбъект("Окна");
    Окна.Минимизировать(Форма);
    Окна.РазмерОкна(Форма,10,10);    
КонецПроцедуры
38 uno-group
 
18.08.20
11:24
В при открытии прописываешь...
Редактирование(<?>)
Синтаксис:
Редактирование(<Флаг>)
Назначение:
Определяет возможность редактирования значения непосредственно в элементе диалога для полей ввода типа Число, Строка, Дата, Счет.
Параметры:
<Флаг> - число: 1 - значение элемента редактируется как обычно ; 0 - значение не редактируется, но может выбираться кнопкой выбора. Отличие от метода ''Доступность '' в том, что ''Доступность'' отключает и кнопку выбора.
Замечание:
Доступ к методу возможен только в контексте Модуля формы через атрибут Форма.
А потом отлавливаеш в...
Процедура ПриНачалеВыбораЗначения(<?>,)
КонецПроцедуры
Синтаксис:
ПриНачалеВыбораЗначения(<ИдентЭлемДиалога>,<ФлагСтандОбр>)
Назначение:
Предопределенная процедура после выбора значения в форме выбора (выбор может быть инициирован в немодальном режиме интерактивно, при помощи элемента диалога с ''педалькой'').
<ИдентЭлемДиалога> - идентификатор элемента диалога, которым инициализирован выбор значения.
<ФлагСтандОбр> - флаг, изначально, при вызове процедуры равен 1, если в теле процедуры значение этого параметра поменять на 0, то стандартный процесс выбора значения не будет происходить.
Замечание:
Данная процедура может располагаться только в программном модуле формы.
39 Sserj
 
18.08.20
11:51
(37) Так тоже не работает. Ему нужно чтобы форма документа стала размером с кнопку "Развернуть". А она никак не становится меньше крайне правых и крайне нижних кнопок.
40 Ёпрст
 
гуру
18.08.20
12:00
(39) я не кнопки привел пример, а сам принцип, что всё сворачивается
41 Ёпрст
 
гуру
18.08.20
12:00
до кнопки - пусть сворачивает до левого и верхнего угла с учетом высоты и ширины контрола
42 jah1111
 
18.08.20
12:01
(39) ну это, думаю настраиваемо.
43 jah1111
 
18.08.20
12:04
я вот задумался, как получать параметр расположения от соседнего свернутого окна, чтобы их ровненько рядышком друг за другом складывать вдоль границы основного окна.
44 jah1111
 
18.08.20
12:04
(38) спасибо попробую
45 jah1111
 
18.08.20
12:04
(37) спасибо!
46 jah1111
 
18.08.20
12:40
(43) а может и ненадо... сначала уменьшаем, потом минимизировать(форма) и окна штатным образом разместятся
47 Ёпрст
 
гуру
18.08.20
12:43
Короче, если хочешь красоты, то нужно пользоваться классом привязок, тогда там как надо всё сворачивается и разворачивается, а не так как сейчас:

штатно, все контролы "едут" за первой в порядке обхода таблице значений (или многострочной частью, если она есть).
48 Злопчинский
 
18.08.20
15:35
(43) нахера?
вот до чего приводит перетягиваниена ТСД\сенсор десктопных принципов работы. охереть.
мучайся дальше.
49 uno-group
 
18.08.20
17:07
(0) Может опишешь что нужно получить в конечном итоге, а не то как ты это себе представил и пытаешься реализовать.
С ТДС обычно работает чел с 1 извилиной И тут чем проще интерфейс тем меньше шансов, что он накосячит. а все его косяки на тебя повесят, программа работает неправильно.
50 Злопчинский
 
18.08.20
17:29
(49) ну я как бы посоветовал аналогичное ТС, что на других принципах такой фейс надо делать. но у ТС - свое видение мира. я меня принцип простой последнее время - самоубиваться не мешать. наблюдать. получится - хорошо, не получится - мне хоть какое-то развлечение.
51 Djelf
 
гуру
18.08.20
17:42
(50) Это если он выложит свое творение, а если нет, мы можем потерять нестандартное решение.
Терминалы и СканерыШК не предусматривают вбивание кучи символов, нет шк - иди к тому кто за это отвечает.
Воткнуть заполнение товара на складе можно, и даже с тсд, но это выглядит издевательством!
52 jah1111
 
18.08.20
18:23
никаких ШК на пластиковых ящиках с апельсинами (и прочими фруктами овощами) нет и быть не может.
кладовщик должен принмать товар на складе с листом бумаги, записывая позиции попалетно-поящещно, брутто-нетто, а потом еще 1 человек вбивает его записи в 1с. Идея - сократить этот процес до 1го человек/компутора, с возможностью печати приемки по выгрузке товара, и печати этикетки на термопринтере на каждую палету отдельно для маркировки (вместо записей на плете маркером).
53 Ёпрст
 
гуру
18.08.20
18:27
(52) и ты на планшете хочешь 7.7 показывать на весь экранчик для этого ? Не то решение выбрал..проще уж норм средстваи онлайн обмен с 1с-иной
54 jah1111
 
18.08.20
18:31
(53) я только учусь... может шишки набью, может доволен останусь.

про средства онлайн обмена впервые у Вас в посте прочитал
55 jah1111
 
18.08.20
18:39
а если доведу до ума - поделюсь, может кому тоже будет удобно. Основная конфа, доведена почти до совершенства у меня на фирме в 7.7, вот приходиться интегрироваться в нее.
56 jah1111
 
18.08.20
19:32
(38) Процедура ПриНачалеВыбораЗначения(елемент,фсо)       - работает только по педальке
57 jah1111
 
18.08.20
19:33
А ПриНачалеРедактирования не работает
58 Злопчинский
 
18.08.20
20:24
(52) смишно.
59 Злопчинский
 
18.08.20
20:25
(55) хорошо, что пипл не видел этого монстра... ;-)
60 jah1111
 
18.08.20
20:42
(59) а вот тут ты зря, конфа не мной писана и очень, очень профессионально
61 Злопчинский
 
18.08.20
21:01
(60) пару скринов обычных форм документов/справочников покажи - посмотрим...
а то я повидал таких профессионально написанных, немного конечно, но повидал.
Епрст - так наверное его вообще от них тошнит, поэтому и убежал на 8-ку... там если и тошнит, то красиво, авангардизмом... ;-)
62 jah1111
 
18.08.20
21:17
(61) зачем?
63 jah1111
 
18.08.20
21:26
Хотя че уж, вот: https://ibb.co/P4SDm90 (61)
64 victuan1
 
19.08.20
05:20
(63) Профессионализм на скрины не попал. Видимо, надо глубже смотреть, в код))
65 Злопчинский
 
19.08.20
15:25
(64) ну, не самый худший вариант. для "профессионально написанной конфы" можно сказать норма
66 jah1111
 
19.08.20
19:59
(65) ато....
(22) так приначалередактирования в 7.7 работает или нет не пойму. у меня не работает, причина во мне или в 7.7? :)
67 Злопчинский
 
19.08.20
22:59
(66) причина в коде
68 Ёпрст
 
гуру
20.08.20
00:19
(66) реквизит чего хоть? В строке таб части/ реквизит шапки? Какой тип..?
69 victuan1
 
20.08.20
05:05
(65) Я не утверждаю, что на скринах виден НЕпрофессионализм, я утверждаю обратное - на скринах НЕ виден профессионализм ;)(по этим скринах нельзя судить о профессионализме - на формах обычный стиль укр. типовых).
70 uno-group
 
20.08.20
08:48
(52) Бред вводить не маркированный товар на ТСД. Поставщик должен прислать электронную накладную. кладовщик ее экспортировать. Тек кого не продавите на электронный документооборот. Водит вручную накладную на компьютере. печатает ярлыки. Идет принимает введенную накладную на ТСД и маркирует товар. В крайнем случае у поставщика планшетка с штрих кодами не маркированного товара. Он находит нужный ШК сканирует его и вводит количество. На кассах супермаркета видел девочки яйца и т.п. сканируют с карточек, а не пытаются их ввести вручную при том что клава и экран там гораздо удобнее для этого чем у ТСД.
71 Злопчинский
 
20.08.20
12:48
(70) примерно так.
причем этикетирование прихода может одновременно выполнять функцию подсчета.
в этом случае даже без тсд в некоторых случаях можно обходиться
72 jah1111
 
20.08.20
16:34
(70) как же вы далеки от реалий оптовой торговли импортом за кеш...
73 jah1111
 
20.08.20
16:36
(68) яцейка ТЧ, тип  - число, или поле ввода  тип - число
74 jah1111
 
20.08.20
16:39
(71) ТСД не интересует, штрих код не нужен, нужна наклейка с информациией на палете. 1 палета - одна позиция, ввел данные, рспечатал наклейку, прклеил и ждешь когда подвезут другую.
75 Злопчинский
 
20.08.20
16:42
(72) какие проблемы? у мну склад на 5500 ячеек узкопроходных и еще мезонина тыщи 2 ячеек - все импорт. за кеш или не за кеш - один хрен. все упирается в складскую логистику. Сейчас исклад есть где импорт тоже, своего бренда, производство в Китае. - какие проблемы?
76 Ёпрст
 
гуру
20.08.20
16:43
(73) ячейка чего ? Табличной части документа ? Там другие предопределенные события, смотри в сп
77 Злопчинский
 
20.08.20
16:44
(74) и в чем проблемы?
78 Злопчинский
 
20.08.20
16:46
(74) "прклеил и ждешь когда подвезут другую." - давно есть мобильные принтеры этикеток. ждать не надо.
а то ждешь-ждешь.. Петро! га?! ну де ты? та мине тут бригадир на упаковку отправил..."
79 Ёпрст
 
гуру
20.08.20
16:48
(74)
>>>> 1 палета - одна позиция, ввел данные, рспечатал наклейку, прклеил и ждешь когда подвезут другую.

Это не верный подход.
Правильнее - напечатал N-ое количество разных этикеток, потом где надо, пиликаешь эту этикетку и клеишь на паллет. Усё
80 Ёпрст
 
гуру
20.08.20
16:48
И ничего не ждешь
81 Злопчинский
 
20.08.20
16:48
ну и обычно, когда 1паллета-1позиция зачастую уже известно и количество паллет и количество на паллете. Штрымдячиь загодя нужные этикетки, и клеишь по факту разгрузки паллет с фуры. и проклейка и пересчет. если одна -две паллеты неполняе приходят - то можно и перепечатать пару этикеток
82 Злопчинский
 
20.08.20
16:51
(79) у мну еще проще было. паллетная пищевка. 1 паллета = 1 артикул.
рулон этикеток с номерами паллет. тсд. жмак на шк артикула - ввод количества в виде "4 3 12" - ввод срока в виде 14 2 2020" или "2020 2 14" - ляп этикетку паллеты  и жмак по ее ШК. все. и по кругу...
83 jah1111
 
20.08.20
17:10
(81) Обычно пока доедет 3-4% веса уходит, плюс не каждый иностранец тебе пакинг лист даст, единицы дадут, да и допишут еще парочку лишних кг на паллету. А покупатель перед покупкой обязательно звесит. Плюс на анализы заберут несколько ящиков (да да, такие массштабные анализы, чиновники небось на "анализных товарах магазины продуктовые держат). Часть паллет покупают прямо на выгрузке в режиме аврала.
84 Djelf
 
гуру
20.08.20
17:10
Предлагаю напечатать таблицу Windows-1251 с QR-кодами и сканировать каждый символ в наименовании, количестве и сумме, а также организовать таким же образом полноценное создание карточек товара (кладовщик же не знает что к нему приедет и зачем?).
Получится быстро и эффективно! А то эти, там на своих компах черт знает что тыкают. На складе виднее!
85 jah1111
 
20.08.20
18:14
(79) задача не маркировать ШКом, задача промаркировать количество ящ, брутто-нетто. Палеты не всегда уходя целыми, их разбирают частями, кладовщик видит промаркированную палету с инфой на ее основе делает отвес товара.
86 Злопчинский
 
20.08.20
18:25
(83) я в курске.
87 Злопчинский
 
20.08.20
18:26
(85) особенно хорошо такой отвес делать, когда на хранении еще потеряет вес или наберет.
88 jah1111
 
20.08.20
18:51
(87) фрукты вес не набирают, а потеряет - это вряд ли, товар такого толка что долго его никто не хранит. день-два.
в расходном документе можна сделать функцию "печать наклейки отвеса" и клеить на остаток товара
89 Злопчинский
 
20.08.20
19:30
(88) по всякому бывает. еще например когда заказывают голый вес, а отгрузка в ящичках идет.. которые естсетсвенно никто не взвешивает ни при приемке ни при отгрузке.
90 jah1111
 
20.08.20
22:50
(89) бывает... что в приемка в ящиках а там либо недовес либо перевес, получаешь в ящиках отгружаешь по брутто-нетто (или потому что тебе так выгодней, или чтоб клиенты не возмущались).

помогите с ПриНачалеРедактирования в 7.7 и с установкой кнопки "Печать" на печатную форму, которая вызывает диалоговое окно печати, или хотя бы напрямую отправляет табличную форму на пинтер. Это, я так понимаю ОбработкаЯчейкиТаблицы()?
91 Злопчинский
 
20.08.20
22:55
и что непоянтного с ПриНачалеРедактирования ?
92 Ёпрст
 
гуру
20.08.20
22:59
93 Ёпрст
 
гуру
20.08.20
23:01
(92)
2.да, это ловится в ОбработкаЯчейкиТаблицы и там тупо Таб.Напечаттать(0) или 1... или вызов своего меню с выбором принтера.
Но красившее, или табличный документ на форме в виде йокселя или tabledoc, или хотя бы пустую таблицу снизу, тогда хоть на форме можно православную кнопку сделать и выбор принтёра
94 Ёпрст
 
гуру
20.08.20
23:17
95 jah1111
 
20.08.20
23:41
(91) а в том что ПриНачалеРедактированияСтроки()  - событие которое качается каждой ячейки строки, а ПриНачалеРедактирования() - отдельного элемента.
96 jah1111
 
20.08.20
23:50
(94) как же круто...! научите....
97 big
 
21.08.20
05:09
(96) Это результат применения внешней компоненты Йоксель.
http://yoksel.net.ru/HomePage
98 uno-group
 
21.08.20
08:53
(90) Что приезжает зарание известно, ассортимент в 1 машине наименований 20. Вводишь накладую на обычном компе с весом от поставщика. Кладовщик при приемке выбирает нужную позицию, получает данные с весов -далее распечатывается ярлык с весом брутто и нетто и номером яцейки куда поставить товар. Этот вес фиксируется в весе склад. Далее отдел снабжения сравниваете вес поставщика и вес склада при необходимости составляет акт расхождений поставщику или акт списания. Не надо задачи которые положено решать на компьютере перекладывать на ТСД. Ну получится у тебя вместо 2 человек по 30 минут перепихнуть это все на одного человека который будет тратить 2 часа, толку от такой автоматизации.
99 jah1111
 
21.08.20
16:27
(98) ага, а если товар уже пришел, а поставщик веса выслать не удосужился (что бывает сплошь и рядом), то мне конечно же фуру не разгружать, ждать пока вышлет. Уже клиенты на загрузку стоят, а я такой "ничего продать не могу - поставщик накладную не сбросил" :)
100 Злопчинский
 
21.08.20
16:54
(99) в чем проблема? приемка по факту - никто не отменял. взвесить и этикетку напечатать - навоз-вопрос.
101 jah1111
 
23.08.20
15:14
(95) что по этому поводу можете подсказать?
как перехватить активную ячейку ТЧ?
102 jah1111
 
23.08.20
15:17
(101) точнее редактируемую ячейку ТЧ
103 Mikeware
 
24.08.20
08:02
(101) что значит "перехватить"?
104 jah1111
 
24.08.20
09:43
(103) двойной клик по ячейке (мигает курсор в ячейке) - как перехватить событие и обратится к ячейке?
105 Mikeware
 
24.08.20
10:10
(104) Не Начало редактирования, а именно двойной клик?
тогда формексом.
106 jah1111
 
24.08.20
10:47
(105) можно и НачалоРедактирования, но не ПриНачалеРедактированияСтроки так как событие касается всей строки, а начало редактирования конкретного элемента (ячейки ТЧ, к примеру).

пишу:
Перем ФокусКлв;

Процедура ПриНачалеРедактированияСтроки()
    ФокусКлв = Форма.АктивныйЭлемент();  // пытаюсь зафиксировать в глобальной переменной элемент ТЧ для редактирования
        Шар = "Клава";                        
        Форма.ИспользоватьСлой("Основний,"+Шар,2); // появление на форме вирт. цифр. клавиатуры
    
КонецЕсли;

Функция ПриВыбореЗначения(Об="")
    // Определение объекта фокуса ввода
    Если
        Об  = "" Тогда
        Об = Форма.АктивныйЭлемент();
    КонецЕсли;
           //Клавиатура
    Если (СтрДлина(Об)=3)и(Найти("0123456789",Сред(Об,3,1))>0) Тогда // клавиши (0..9)
        Поле=СокрЛП(Поле)+Сред(Об,3,1);                  //Поле ввода на форме куда вводится значение
        Активизировать("Поле");                          

    ИначеЕсли Об="кнЕнт" Тогда                // кнопка Энтер
        ФокусКлв=СокрЛП(Поле);
        Поле = 0;
        Активизировать("ФокусКлв");
        Шар = "Кнопки";
        Форма.ИспользоватьСлой("Основний,"+Шар,2);    
    КонецЕсли
КонецФункции

такой код не работает, а как написать правильно - хз.
107 Mikeware
 
24.08.20
11:19
(106) ПриНачалеВыбораЗначения - разве не работает?
извиняюсь, сам прловерить не могу - клюшек работоспособных под рукой просто нет.
108 jah1111
 
24.08.20
11:29
(107) нет, кажется такой предопределенной процедуры у клюшек в аресенале не имеется
109 trdm
 
24.08.20
11:39
(108) ПриНачалеВыбораЗначения - там есть
110 obs191
 
24.08.20
11:39
Есть. См."Модуль формы - Предопределенные"
111 jah1111
 
24.08.20
14:45
(110) есть, работает только при нажатии на кнопку выбора
112 jah1111
 
24.08.20
16:50
алгоритм такой: если я начинаю редактировать  элемент "А" тогда выполняется то и сё, получается некоторое значение и присваивается элементу А
113 Злопчинский
 
24.08.20
20:58
определи формально понятие "я начинаю редактировать"
114 Duke1C
 
24.08.20
21:23
(111) Ну а как ты хотел? На то оно и ПриНачалеВыбораЗначения - ВЫБОРА, не ВВОДА
115 jah1111
 
24.08.20
21:23
(113) если это ячейка в ТЧ, то это перевод ячейки в то состояние, которое возникае после дабл-клика на ней или enter  
ну смотрите... есть ТЧ, в ТЧ есть ячейки со значениями. Я хочу чтобы при двойном щелчке на ячейке открывалось модальная форма, где можна было б ввести (или исчислить) новое значение и по ОК присвоить его редактируемой ячейке. Также и с полями ввода.
Если я использую ПриначалеРедактированияСтроки, то не могу конкретно описатьв процедуре какому именно элементу надо присвоить значение.
Вот такое бы пригодилось, но не нахожу: ПриНачалеРедактирования(<елементпокоторомущелкаюмышей2раза>)

Процедура ПриНачалеРедактирования(елементпокоторомущелкаюмышей2раза)

Если елементпокоторомущелкаюмышей2раза = Вася Тогда
      Вася = значениекотороемненадоприсвоить;
КонецЕсли;

КонецПроцедуры
116 jah1111
 
24.08.20
21:26
(114) ну начит яя хоттел приначалеввода, редактирования, изменения... с возможностью поймать елемент который начинают редактировать, изменять или в него вводить :) в семерке это нереализуемо?
117 Duke1C
 
24.08.20
21:27
(115) Форма.АктивныйЭлемент() тебе в помощь
118 jah1111
 
24.08.20
21:30
(117) посмотрите в код в (106) и подскажите что я делаю не так
119 Duke1C
 
24.08.20
21:31
Типа:

Процедура ПриНачалеРедактированияСтроки()
    АктивЭлемем=Форма.АктивныйЭлемент();
    Если НомерСтроки>0 Тогда // На всякий случай
        Если АктивЭлемем="ТвойРеквизит" Тогда
                    СтатусВозврата(0);
                    ...Тут делаешь что тебе надо...
        КонецЕсли;
        КонецЕсли;
Конецпроцедуры