Имя: Пароль:
1C
1С v8
Загрузка данных из табличного документа - обработка события
0 vechiy
 
17.02.12
14:49
Коллеги, кто писал обработку события для обработки "загрузка данных из табличного документа"?
Как обратиться к полю, сравнить со значением и поменять на нужное?
Загружаю .xls. Номер нужной колонки - 4.
Есть представление реквизита "Счет кт".
Пишу нечто вроде:
Если [Счет кт]="91.01.1" тогда [Счет кт]="91.01"; Конецесли;
Но собственно ничего не происходит
1 DrShad
 
17.02.12
14:52
а что должно было произойти?
2 DrShad
 
17.02.12
14:52
и куда грузишь? в справочник? регистр? документ?
3 luckyluke
 
17.02.12
14:54
А если так?
Если ТекстЯчейки = "91.01.1" Тогда
Результат = ПланыСчетов.Хозрасчетный.НайтиПоКОду("91.01")
КонецЕсли;
4 vechiy
 
17.02.12
15:15
(2) в табличную часть документа.
(3) не, так не получается
Непонятно как к текущей ячейке обратиться
5 DrShad
 
17.02.12
15:18
так если в документ то причем здесь события?
6 Reset
 
17.02.12
15:22
Невнятное описание
7 ale-sarin
 
17.02.12
15:22
Режим загрузки данной колонки надо поставить "Вычислять".
А в выражении меняй параметр "Результат".
Там же все написано.
8 ale-sarin
 
17.02.12
15:23
(0) Читай (6). Объясняй понятнее.
9 luckyluke
 
17.02.12
15:24
(4) текстЯчейки
10 Reset
 
17.02.12
15:25
(4) Что такое текущая ячейка?
11 Reset
 
17.02.12
15:26
(9) не факт, он может иметь в виду реквизит строки ТЧ. С терминологией и изложением сложности у ТС
12 Reset
 
17.02.12
15:27
Кстати, вопрос в (1) - в точку) Автор, что тебе надо?)
13 ale-sarin
 
17.02.12
15:27
Объясни нормально.
Есть два этапа. 1 - загрузка из Экселя в табдокумент, 2 - загрузка из таб документа в куда-то.
Вопрос, ты о чем?
14 ale-sarin
 
17.02.12
15:28
Если ты хочешь поменять значения на первом этапе, то зачем это надо?
Если на втором этапе, то (7).
15 vechiy
 
17.02.12
15:30
(13), (12)
в .xls может встречаться ячейка со значением "91.01.1", надо её менять при загрузке на "91.01" или при встрече значения "91.01.1" искать счет 91.01
16 ale-sarin
 
17.02.12
15:31
(15) Еще раз, смотри (7).
17 DrShad
 
17.02.12
15:32
(15) и (3)
18 Reset
 
17.02.12
15:33
Если ТекстыЯчеек[4]="91.01.1" тогда
19 ale-sarin
 
17.02.12
15:33
(17)+1. Я сразу и не увидел, что все в (3) написано.
20 DrShad
 
17.02.12
15:35
(18) а это где писать?
21 Reset
 
17.02.12
15:35
не, здесь скучно, я пойду отсюда)
22 Reset
 
17.02.12
15:36
(20) Ну, там есть событие "После добавления строки"
23 DrShad
 
17.02.12
15:53
(21) В тексте выражения можно использовать следующие предопределенные параметры:
  Объект         - Записываемый объект
  Отказ          - Признак отказа от записи объекта
Встроенные функции, функции общих модулей.

как там проверять тексты ячеек?
24 DrShad
 
17.02.12
15:53
+(23) сорри немного не ту справку глянул
25 Reset
 
17.02.12
15:54
(23)
В тексте выражения можно использовать следующие предопределенные параметры:
  Объект         - Записываемый объект
  ТекущиеДанные  - Содержит данные загружаемой строки табличной части.
  ТекстыЯчеек    - массив текстов ячеек строки
Встроенные функции, функции общих модулей.

Текст сверху меняется при переключении м/у страницами
26 Reset
 
17.02.12
15:54
(24) нп
27 vechiy
 
17.02.12
16:22
Всем спасибо, вот так нормуль:
Если ТекстыЯчеек[5] = "91.01.1" Тогда
Результат = ПланыСчетов.Хозрасчетный.НайтиПоКОду("91.01")
иначе
Результат = ПланыСчетов.Хозрасчетный.НайтиПоКоду(ТекстыЯчеек[5]);
КонецЕсли;

Да, надо не в событие писать, а выражение для строки