|
v7: Не входит в процедуру ПриВыбореЯчейкиТаблицы | ☑ | ||
---|---|---|---|---|
0
Artemon Chempion
05.03.21
✎
12:49
|
Добрый день! Помогите, пожалуйста!
Из формы журнала документов запускается процедура, которая в итоге выводит таблицу в режиме ввода данных(Таб.ТолькоПросмотр(0)) для возможности бухгалтерии удалить не нужные строки. Стоит задача, чтобы при двойном щелчке по одной ячейке оставшиеся строки сохранялись в excel, а по другой - выгружались в СЗ или ТЗ для последующей передачи во внешнюю обработку. Подскажите, как мне попасть в процедуру ПриВыбореЯчейкиТаблицы кликами по определенным ячейкам. В данный момент они никак не реагируют, редактируются как и вся таблица((( Процедура ПриВыбореЯчейкиТаблицы(Адрес,ТекЗн) Адрес = Сред(Адрес,2,Найти(Адрес,":")-2); НС = Число(Сред(Адрес,1,найти(Адрес,"C")-1)); НК = Число(Сред(Адрес,найти(Адрес,"C")+1)); Если НС = Таб.ВысотаТаблицы() тогда Если НК = 9 тогда //сохраняем ИначеЕсли НК = 13 тогда //открываем форму КонецЕсли; КонецЕсли; КонецПроцедуры Спасибо!!! |
|||
1
Builder
05.03.21
✎
12:53
|
Таблица точно в режиме ввода данных?
|
|||
2
Artemon Chempion
05.03.21
✎
12:56
|
(1) Да.
Вот конец процедуры формирования таблицы: ИтогоПечСумма = ИтогоСумма + ТД.Итог("Сумма"); Таб.ВывестиСекцию("ИтогоСнадписью"); Таб.Опции(0, 0, 5, 0, "РеестрСчетов", "РеестрСчетов"); Таб.ВывестиСекцию("Подвал"); Таб.ОбластьПечати(2); Таб.ТолькоПросмотр(0); Таб.Показать("Реестр счетов","Для выгрузки",1); КонецПроцедуры |
|||
3
Злопчинский
05.03.21
✎
13:00
|
таб.ТолькоПросмотр(1) - пробовал?
|
|||
4
Злопчинский
05.03.21
✎
13:01
|
фу, фигню я написал
|
|||
5
Злопчинский
05.03.21
✎
13:01
|
Внимание!
Данная предопределенная процедура вызывается в модуле формы отчета (обработки) при выборе ячейки только для таблиц в режиме ввода данных. |
|||
6
Artemon Chempion
05.03.21
✎
13:04
|
(5) Таб.ТолькоПросмотр(0) разве не говорит о том, что таблица в режиме ввода данных? или я что-то не правильно понимаю?
|
|||
7
Builder
05.03.21
✎
13:05
|
(6) Нет конечно.
Открой Форму Действия - свойства формы. Вот там настраивай таблицу в режиме ввода данных :) |
|||
8
Builder
05.03.21
✎
13:06
|
+ к(7) Таблица у тебя появится прямо на форме!
|
|||
9
Злопчинский
05.03.21
✎
13:09
|
Рекомендую прочитать (5) ВДУМЧИВО
|
|||
10
Сияющий Асинхраль
05.03.21
✎
13:15
|
Я конечно уже сто лет как с семеркой не работал, но сколько помню, если у тебя таблица в режиме ввода данных то хрен ты туда добавишь программно секции как у тебя:
Таб.ВывестиСекцию("Подвал"); То бишь таблицы строки которых формируются программно не являются таблицами в режиме ввода данных. Хотя в них тоже можно извратиться и вводить данные, но чуток посложнее, делается по двойному щелчку на ячейке, причем в этом случае как раз должно быть: таб.ТолькоПросмотр(1) |
|||
11
Сияющий Асинхраль
05.03.21
✎
13:21
|
+(10) А чтобы поглядеть как работают таблицы в режиме ввода данных глянь на регламентированную отчетность. Там почти все на таких таблицах, ну и заодно обрати внимание, что там нигде нет программного формирования и вывода отдельных строк и секций таблицы, то бишь таблица выводится так как нарисована...
|
|||
12
Ёпрст
05.03.21
✎
13:22
|
(0) вы путаете понятия.
Есть просто Таблица, есть Пустая Таблица и есть РВД У вас первая, чтобы что-то поймать, форма должна быть не закрыта + использовать ОбработкаЯчейкиТаблицы |
|||
13
Злопчинский
05.03.21
✎
13:25
|
Из !!!формы журнала документов!!! таблицу РВД вы не сделаете.
|
|||
14
Калиостро
05.03.21
✎
13:41
|
+(12) форма должна быть не закрыта. Если закрыта, то сработает процедура глобального модуля ОбработкаЯчейкиТаблицы.
|
|||
15
Artemon Chempion
07.03.21
✎
12:54
|
Добрый день, Коллеги.
В форме журнала есть кнопка, запускающая процедуру, прямо в модуле журнала, ее результат - эта таблица. если таб.ТолькоПросмотр(1) и установлены флажки "Защита" работает ОбработкаЯчейкиТаблицы, но нет возможности удалить полностью строки, при снятом флажке, можно только редактировать значение ячеек, а стоит задача полностью удалять строки... (7) в действиях вообще нет свойств формы(((Требуется отредактировать, именно, в этой таблице кол-во строк и реализовать отработку двух кнопок: сохранить и выгрузить. (14) форма не закрывается. Я только начинаю программировать 1с, будьте снисходительны, если мои вопросы кажутся Вам тупыми. Подтолкните, просто, в каком направлении двигаться. Спасибо! |
|||
16
Artemon Chempion
10.03.21
✎
09:11
|
Реализовал. Не так, как хотел изначально, но думаю, прокатит. Всем спасибо за советы !!! Тему закрывайте
|
|||
17
Злопчинский
10.03.21
✎
11:31
|
(16) открывал бы обработку с ТЗ сразу и все.. Отмечаешь нужные строки и улдаляешь. или по клику на строке удаляешь или по клику на определенной колонке со значком Х удаляешь. потом по уже оставшимся данным - формируешь нужную печформу или эту ТЗ передаешь куда надо дальше
|
|||
18
Artemon Chempion
17.03.21
✎
14:07
|
Добрый день, Коллеги!!!
Новая задача от бухгалтерии) Теперь, когда они удаляют ненужные строки из таблицы, нужно чтобы сразу же менялась итоговая сумма по одному столбцу. Это вообще реально? Чтобы при удалении строки, на лету просчитывать сумму строк таблицы. Уже пол дня пытаюсь раздуплить. |
|||
19
Builder
17.03.21
✎
14:17
|
(18) Реально, но мы не знаем что ты там наваял......
|
|||
20
HawkEye
17.03.21
✎
14:28
|
(18) реально все, но проще делать как в (17)
|
|||
21
Artemon Chempion
17.03.21
✎
14:31
|
(20) Из ТЗ им не удобно визуально отбирать строки.
|
|||
22
Artemon Chempion
17.03.21
✎
14:40
|
//формирование таблицы
ИтогоПечСумма = глФРМ(ИтогоСумма + ТД.Итог("Сумма")); Таб.ВывестиСекцию("ИтогоСнадписью"); Таб.Опции(0, 0, 5, 0, "РеестрСчетов", "РеестрСчетов"); Таб.ВывестиСекцию("Подвал"); Таб.ОбластьПечати(2); Таб.ТолькоПросмотр(1); Таб.Показать("Реестр счетов","Для выгрузки",1); //потом обработка кнопок Процедура ОбработкаЯчейкиТаблицы(ТекЗн, СтандартнаяОбработка, Таб, Адрес) Адрес = Сред(Адрес,2,Найти(Адрес,":")-2); НС = Число(Сред(Адрес,1,найти(Адрес,"C")-1)); НК = Число(Сред(Адрес,найти(Адрес,"C")+1)); СтандартнаяОбработка = 1; Если НС = Таб.ВысотаТаблицы() тогда СтандартнаяОбработка = 0; Если НК = 9 тогда Если Вопрос("Хотите отобрать и сохранить в файл Excel?","Да+Нет",10) = "Да" тогда Таб.ТолькоПросмотр(0); Таб.Показать("Реестр счетов","Для согласования",1); Предупреждение("Удалите лишние строки. После закрытия таблицы, сможем ее сохранить в файл Excel"); КонецЕсли; ИначеЕсли НК = 13 тогда Если Вопрос("Выгрузить всю таблицу в бухгалиерию без изменений?","Да+Нет",10) = "Да" тогда Параметр = СоздатьОбъект("ТаблицаЗначений"); ПараметрДляПередачи.Выгрузить(Параметр,,,); ОткрытьФорму("Отчет",Параметр,"C:\Users\ВыгрузкаВБухгалтерию83_v5НаДату.ert"); КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры // ОбработкаЯчейкиТаблицы Вот нужно чтобы менялось значение ячейки ИтогоПечСумма при удалении строк. Вот, примерно, то, что я наваял) |
|||
23
Artemon Chempion
17.03.21
✎
14:58
|
https://ibb.co/JxwxZy0
а вот так выглядит таблица |
|||
24
Artemon Chempion
17.03.21
✎
15:03
|
https://ibb.co/k2dvjVm - св-ва данной ячейки, если поможет. Я так понимаю, нужно в расшифровку влепить процедуру, но как она будет вызываться при удалении ячеек мне не совсем понятно(((
|
|||
25
Artemon Chempion
17.03.21
✎
15:32
|
(19)ну же... Плиз!!!! Хоть какие-то идеи
|
|||
26
HawkEye
17.03.21
✎
15:35
|
(21) ну галку им там добавь....
(25) какие идеи то? делаешь цикл, через Область получаешь значение в нужной ячейке и суммируешь его для итога... главное озаботится знанием с какой ячейки начинать и на какой заканчивать.... |
|||
27
Злопчинский
17.03.21
✎
15:43
|
(21) это ваши проблемы. что мешает увеличить шрифт в ТЗ, разукрасить ее и прочее
|
|||
28
Artemon Chempion
17.03.21
✎
15:44
|
(26) что значит "через Область получаешь значение в нужной ячейке" ?
Я думал как-то так прописать, но как это запустить не понимаю Значение = 0; Для н = 6 по Таб.ВысотаТаблицы()-2 цикл Адрес = "R"+н+"C8"; Значение = Значение + Таб.ЗначениеТекущейЯчейки(Адрес); КонецЦикла; Возврат Значение; Я уже говорил, что плаваю, подскажите |
|||
29
Злопчинский
17.03.21
✎
15:45
|
в (26) примерно подсказали.
делай проще - ТЗ и Печформа - зеркало. по номеру строки в печформе - можно однозначно определить строку в ТЗ. Жмакнули "удалить" в печформе - удалил нахрен из ТЗ и по ТЗ полностью перерисовал форму. все. |
|||
30
Злопчинский
17.03.21
✎
15:46
|
(28) открой синтакс помощник, почитай про методы "Таблица" - не найдешь понятного что относится к "получить область" - тогда стучись. за тебя же такие тривиальные вещи мы читать не должны?
|
|||
31
HawkEye
17.03.21
✎
16:12
|
(28) не Таб.ЗначениеТекущейЯчейки(Адрес), а таб.Область(Адрес).Текст... ну и в число его естественно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |