Имя: Пароль:
1C
1C 7.7
v7: Таблица в режиме ввода данных (только просмотр)
0 Franchiser
 
гуру
10.05.18
12:55
Хочу сделать следующую возможность:
Пользователь нажимает кнопку, открывается новый отчет (в режиме ввода данных), в этот отчет из эксель пользователь через буфер вставляет колонку и по кнопке клолонка загружается в первоначально открытую обработку.
Как сделать, чтобы в отчет в режиме ввода данных можно было вставить данные из буфера, не могу отключить "только просмотр" ?
1 ugorchina
 
10.05.18
13:02
(0) что значит не можете отключить "только просмотр" ?
2 HawkEye
 
10.05.18
13:03
(0) самое правильно решение - не использовать таблицу в РВД )))
3 ugorchina
 
10.05.18
13:04
(2) в Рукавах высокого давления? :-)
4 HawkEye
 
10.05.18
13:05
(3) в них тоже не надо )))
5 ugorchina
 
10.05.18
13:08
(4) поржал )
6 vtolga
 
10.05.18
13:12
Возьми обычную таблицу. А если нужно обрабатывать введенные данные, то веди их и прочитать можно. Как-то так:
для ке=2 по ном цикл  
ячейка7=Таблица.Область("R"+Сокрлп(строка(ке))+"C7");
КоличествоВЗаказ=Число(Ячейка7.Текст);
Если Число(КоличествоВЗаказ)<>0 тогда  
ячейка=Таблица.Область("R"+Сокрлп(строка(ке))+"C13");
номенклатураВЗаказ=ячейка.расшифровка();
ТаблицаДляЗаявки.НоваяСтрока();
ТаблицаДляЗаявки.номенклатура=номенклатураВЗаказ;
ТаблицаДляЗаявки.Количество=КоличествоВЗаказ;
ячейка7.текст=0;
конецесли;    
    конеццикла;
7 Franchiser
 
гуру
10.05.18
13:43
(6) если брать обычную таблицу, то ее нужно как-то сохранять а потом выбирать файл - так не интересно.
Может кто помнит что нужно чтобы в РВД можно было печатать данные, или там только в конкретные поля можно?
8 vtolga
 
10.05.18
13:44
Не надо ее сохранять. В свойствах формы ставишь не "таблица в режиме ввода данных", а "использовать таблицу"->"Пустую".
В остальном работа аналогична.
9 vtolga
 
10.05.18
13:46
В эту таблицу можешь вывести любой отчет с использованием макета. Но - ее можно читать и обрабатывать.
10 vtolga
 
10.05.18
13:47
И в нее можно вставлять из буфера.
11 ugorchina
 
10.05.18
13:52
посветите мне что есть РВД?
12 1C programmer
 
10.05.18
14:09
Режим Ввода Данных
13 Franchiser
 
гуру
10.05.18
14:20
(9) если указать пустую таблицу, как пользователь поймет в какую колонку вбивать данные?
Тут я сделал заготовку: назвал столбец по-своему, сделал рамочки на колонке.
14 Franchiser
 
гуру
10.05.18
14:21
(10) не вставляется из буфера и в пустую таблицу
15 Franchiser
 
гуру
10.05.18
14:23
Хотя нет вставляется если вручную отключить режим просмотра
16 vtolga
 
10.05.18
14:26
В эту пустую таблицу вывести можно что угодно (в том числе и заголовки) с использованием обычного макета, как при печати.
17 Franchiser
 
гуру
10.05.18
14:27
хорошо а как к ней вообще обратиться? Например, хочу программно снять "только просмотр" при открытии.
18 Franchiser
 
гуру
10.05.18
14:33
Разобрался:     Таблица.ТолькоПросмотр(0);
OpenConf смутил - не дает набить слово Таблица.
19 vtolga
 
10.05.18
14:36
Таблица.ВывестиСекцию("Шапка");    
Таблица.показать();
    Таблица.Толькопросмотр(0);
20 Franchiser
 
гуру
10.05.18
14:42
(19) Шапка же в другой таблице, не в пустой...

     Таб=СоздатьОбъект("Таблица");
     Таб.ИсходнаяТаблица("Таблица");
     Таб.ВывестиСекцию("Шапка");
     Таблица  = Таб; ///тут как нужно?  
     Таблица.Толькопросмотр(0);
21 Franchiser
 
гуру
10.05.18
14:48
(19) отлично, все получилось. Таблица (пустая) которая является расширением формы вывелась одноименная таблица из макете)
22 Злопчинский
 
11.05.18
02:58
буквально на днях тупо нанрисовал обработку
1. копируем из экселя нужные данные
2. вставляем на форму в строку неограниченной длины (поле ввода, сногострочное)
3. вставляется с разделением табуляторами
4. жмем загрузить и зашибись..

прикрутил эту хрень как ВПФ с системой плугинов (типа как плагины для UChoice) - под каждый справочник своя загрузка

https://www.screencast.com/t/rHk6ZPrwjVRF
23 ADirks
 
11.05.18
08:14
(22) А если используется 1С++, то можно и без реквизита на форме.

оКлипборд = СоздатьОбъект("БуферОбмена");
стрНомера = оКлипборд.Получить();

дальше уж дело техники
24 Franchiser
 
гуру
11.05.18
11:12
(22), (23) круто, а можно ли встать на список значений на форме и вставить значения из буфера?
25 Franchiser
 
гуру
11.05.18
11:20
+(24) используя контекстное меню по правой кнопке?
26 Franchiser
 
гуру
11.05.18
13:04
(23) сделал, через "БуферОбмена" )
27 Злопчинский
 
11.05.18
13:17
(23) спсб за подсказку.
28 Franchiser
 
гуру
11.05.18
13:28
оКлипборд = СоздатьОбъект("БуферОбмена");
            стрКодыМХ = оКлипборд.Получить();
            
            
            
            стрКодыМХ = СтрЗаменить(
            СтрЗаменить(стрКодыМХ,Симв(10),","),
            Симв(13),"");
            
            
            
            стрКодыМХ = СтрЗаменить(
            стрКодыМХ,
            ",",""",""");
            
            
            стрКодыМХ = """" + стрКодыМХ;
            
            
            стрКодыМХ = стрКодыМХ+"""";
            
            
            
            СпКодов = СоздатьОбъект("СписокЗначений");
            СпКодов.ИзСтрокиСРазделителями(стрКодыМХ);
            
            
            СпрМестаХранения = СоздатьОбъект("Справочник.МестаХранения");
            
            
            СписокМХИмпорта = СоздатьОбъект("СписокЗначений");
            
            
            
            Для Сч = 1 По СпКодов.РазмерСписка() Цикл
                КодСклада = СокрЛП(СпКодов.ПолучитьЗначение(Сч));
                
                Если КодСклада <>"" Тогда
                    
                    Если  СпрМестаХранения.НайтиПоКоду(КодСклада) = 1 Тогда
                        СписокМХИмпорта.ДобавитьЗначение(СпрМестаХранения.ТекущийЭлемент(), КодСклада);    
                    КонецЕсли;
                    
                    
                КонецЕсли;
                
            КонецЦикла;
            
            СписокМХИмпорта.Выгрузить(ВыбМХ);
29 Злопчинский
 
11.05.18
13:41
тоже [U]впендюрил[/U] внедрил в загрузку
https://www.screencast.com/t/1fzPSU7F4y4f
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.