Имя: Пароль:
1C
1C 7.7
v7: Заполнение реквизитов документа
,
0 RShurik
 
10.04.14
21:32
Уважаемые программисты подскажите новичку,
Каким образом мне взять данные из печатной таблицы для заполнения нового документа
1 ТакВотЖе
 
10.04.14
21:33
что есть "печатная таблица"?
2 RShurik
 
10.04.14
21:35
Объект Таблица в которую выводятся данные
3 ТакВотЖе
 
10.04.14
21:39
это называется "таблица в режиме ввода данных"
http://www.mista.ru/kurs1c/8.htm
4 RShurik
 
10.04.14
21:40
Вообще суть в следующем:
имеется таблица в которую помещаю данные,
нужно по нажатию на ячейку формировать документ,в котором заполнить некоторые реквизиты, данными из этой таблицы
5 ТакВотЖе
 
10.04.14
21:41
в этом есть смысл? почему не делать сразу документ, без таблицы?
6 RShurik
 
10.04.14
21:52
В таблице расчитывается поле, нужно ли формировать заявку поставщику или нет, если нужно то прямо в таблице нажимамать на поле с текстом "Заявка", и формировать документ по определенному контрагенту
7 ТакВотЖе
 
10.04.14
21:57
Все регламентированные отчеты построены на таблицах в режиме ввода данных. Открывай, смотри, думай)
8 Злопчинский
 
10.04.14
22:07
(7) хрен ли думать! трясти надо! этож поколение пепси - оно думать не привыкло - только пальцем тыкать во все что видит...
9 RShurik
 
10.04.14
22:13
Вы можете пример кода привести
или хотя бы название отчета где можно глянуть,что б при нажатии на я чейку документ создавался
10 ТакВотЖе
 
10.04.14
22:17
(8) спокойно)
толерантнее надо быть ;)))
11 RShurik
 
10.04.14
22:18
Просто я только начинаю работать и еще всего не знаю
12 ТакВотЖе
 
10.04.14
22:19
(11) открываешь ЖКК и ищешь ответы на свои вопросы.
13 RShurik
 
10.04.14
22:21
Расшифруй ЖКК
14 ТакВотЖе
 
10.04.14
22:26
желто-красные книжки ))
Описание встренного языка.
Чтобы чуть-чуть научиться программировать в 1С, нужно прочить обе не по одному разу.
15 RShurik
 
11.04.14
07:52
Да я и так читаю,просто работаю и учусь одновременно
16 dk
 
11.04.14
08:29
(0) выводить таблицу научился?
тогда читай про Процедура ОбработкаЯчейкиТаблицы(<?>,,,)
17 RShurik
 
11.04.14
10:11
Процедура у меня работает по нажатию нужной мне ячейки,
я не пойму как сделать что бы получить данные из соседней ячейки
18 RShurik
 
11.04.14
10:11
Для заполнения документа
19 Ёпрст
 
11.04.14
10:26
(18) клади данные для заполнения документа в расшифровку ячейки, по которой ты потом мышой щелкаешь. Всё собственно. В ОбработкаЯчейкиТаблицы ловишь эти данные - лепишь свой документ, наслаждаешься.
20 RShurik
 
11.04.14
11:25
если я правильно понял, в расшифровку одной ячейки несколько значений записывать?
21 SleepyHead
 
гуру
11.04.14
11:29
(20) пиши туда список значений, заполненный примерно так:

Расшифровка = СоздатьОбъект("СписокЗначений");
Расшифровка.Установить("ИмяЗначения", Значение);
22 dk
 
11.04.14
11:44
(17) смотри какой адрес текущей ячейки, рассчитывай свое смещение и получай любую соседнюю через Таб.Область()
23 RShurik
 
11.04.14
13:02
(22) Можно пример с расчетом адреса ячейки
24 Ёпрст
 
11.04.14
13:26
(20) Да. Положи туда списокЗначений, например
25 Ёпрст
 
11.04.14
13:27
(23) оно не нужно тебе, используй силу.
26 dk
 
11.04.14
13:38

Процедура ОбработкаЯчейкиТаблицы(Зн,ФлагСтандОбраб,Табл,Адрес)
    
    ФлагСтандОбраб = 0;
    
    Сообщить("тек ячейка:");
    Сообщить("Зн = " + Зн);
    Сообщить("Адрес = " + Адрес);
    
    Стр = СтрЗаменить(Адрес, "C", РазделительСтрок);
    
    Р = Число(СтрЗаменить(СтрПолучитьСтроку(Стр, 1), "R", ""));
    С = Число(СтрПолучитьСтроку(Стр, 2));
    
    Яч = Табл.Область("R"+Р+"C"+(С-1));
    Сообщить("ячейка слева:");
    Сообщить("Зн = " + Яч.Текст);
    
    Яч = Табл.Область("R"+Р+"C"+(С+1));
    Сообщить("ячейка справа:");
    Сообщить("Зн = " + Яч.Текст);
    
    Яч = Табл.Область("R"+(Р+1)+"C"+С);
    Сообщить("ячейка снизу:");
    Сообщить("Зн = " + Яч.Текст);

    Яч = Табл.Область("R"+(Р-1)+"C"+С);
    Сообщить("ячейка сверху:");
    Сообщить("Зн = " + Яч.Текст);
    
    
КонецПроцедуры

Процедура Сформировать()

    таб = СоздатьОбъект("Таблица");
    таб.Вывести();
    таб.ТолькоПросмотр(1);
    таб.Показать();
    
КонецПроцедуры

в ячейках надо в поле расшифровка что-нить указать
для примера просто 1 можно
----
разберешься с этим примером - переходи на пример Ёпрст когда данные берешь не из текста, а из расшифровки
27 RShurik
 
11.04.14
16:17
Спасибо буду пробовать