|
Генератор номера в строке ТЗ | ☑ | ||
---|---|---|---|---|
0
Hикита
14.11.14
✎
11:55
|
Кто знает, как сделать так, чтобы в последующей строке Таблицы значений был номер +1
например .... 2000 2001 2002 2003 И.т.д. Написал процедуру по нажатию кнопки добавляет строку с константой выводит нормально ... &НаКлиенте Процедура Команда1(Команда) НоваяСтрока = Объект.ТаблЧасть.Добавить(); НоваяСтрока.Реквизит1 ="Любое число"; КонецПроцедуры |
|||
1
Ненавижу 1С
гуру
14.11.14
✎
11:56
|
и?
|
|||
2
Hикита
14.11.14
✎
11:57
|
(1) Ну нужно какуето процедуру генирации
|
|||
3
Hикита
14.11.14
✎
11:58
|
я пробовал брать внутренний номер строки ...пишет не может привести к типу число хотя там числовой тип и у реквизита числовой тип
|
|||
4
Ненавижу 1С
гуру
14.11.14
✎
11:59
|
ТЗ или ТЧ у тебя?
|
|||
5
Hикита
14.11.14
✎
11:59
|
&НаКлиенте
Процедура Команда1(Команда) НоваяСтрока = Объект.ТаблЧасть.Добавить(); НоваяСтрока.Реквизит1 = Элементы.ТаблЧастьНомерСтроки+Какой-нибуть там номер; КонецПроцедуры |
|||
6
Hикита
14.11.14
✎
12:00
|
(4)ой Табличная часть
|
|||
7
Kj13
14.11.14
✎
12:04
|
НомерПредыдущейСтроки = Объект.ТаблЧасть.Индекс(НоваяСтрока);
НовыйИндекс = Объект.ТаблЧасть[НомерПредыдущейСтроки-1]. Реквизит1 + 1; Как-то так |
|||
8
Kj13
14.11.14
✎
12:05
|
+(7) Это после твоей первой строчки кода.
|
|||
9
Kj13
14.11.14
✎
12:06
|
+(7) А ну и первая переменная это номер новой строки.
|
|||
10
Ненавижу 1С
гуру
14.11.14
✎
12:07
|
(6) у ТЧ есть уже НомерСтроки
|
|||
11
Hикита
14.11.14
✎
12:09
|
(7) Пишет пустую строку :(
|
|||
12
Hикита
14.11.14
✎
12:10
|
Процедура Команда1(Команда)
НоваяСтрока = Объект.ТаблЧасть.Добавить(); НомерПредыдущейСтроки = Объект.ТаблЧасть.Индекс(НоваяСтрока); НовыйИндекс = Объект.ТаблЧасть[НомерПредыдущейСтроки-1]. Реквизит1 + 1; КонецПроцедуры |
|||
13
Hикита
14.11.14
✎
12:14
|
Добавляет строку а там нету номера
|
|||
14
Hикита
14.11.14
✎
12:15
|
(10) я знаю мне просто уникальный номер нужен который будет идти по порядку
|
|||
15
Fish
14.11.14
✎
12:16
|
(13) Так это потому, что ты его нигде не присваиваешь.
|
|||
16
Kj13
14.11.14
✎
12:16
|
(11) Я ж не знаю какие-там у тебя значения в Реквизит1
|
|||
17
Kj13
14.11.14
✎
12:17
|
Вот проверил все работает
&НаКлиенте Процедура Команда1(Команда) Новаястрока = Объект.ТабличнаяЧасть1.Добавить(); Инд = Объект.ТабличнаяЧасть1.Индекс(Новаястрока); НовыйНомер = Объект.ТабличнаяЧасть1[Инд-1].Число1 + 1; Сообщить (НовыйНомер); КонецПроцедуры |
|||
18
Ненавижу 1С
гуру
14.11.14
✎
12:18
|
(14) не поверишь, но номер строки уникален и идет по порядку
|
|||
19
Kj13
14.11.14
✎
12:19
|
(18) Ну мало ли. Может он что-то другое в ТЧ индексирует.
|
|||
20
Hикита
14.11.14
✎
12:22
|
Ну просто мне уникальность на уровне всей базы нужна а не на уровне прикладной накладной (18)
|
|||
21
Kj13
14.11.14
✎
12:23
|
(14)
Тебе наверно так надо: &НаКлиенте Процедура Команда1(Команда) Новаястрока = Объект.ТабличнаяЧасть1.Добавить(); Инд = Объект.ТабличнаяЧасть1.Индекс(Новаястрока); НовыйНомер = Объект.ТабличнаяЧасть1[Инд-1].Число1 + 1; Новаястрока.Число1 = НовыйНомер; КонецПроцедуры |
|||
22
Hикита
14.11.14
✎
12:23
|
(17) а Число1 это реквизит Табл части или реквизит документа?
|
|||
23
Kj13
14.11.14
✎
12:24
|
(22) Реквизит табличной части в которой есть номер, который тебе надо увеличить на 1. Если я правильно понял твои фантазии.
|
|||
24
Kj13
14.11.14
✎
12:25
|
+(23) Суть такова.
Выясняется номер новой строки. Из предыдущей строки берется Число1, увеличивается на 1 И записывается в текущую строку. |
|||
25
Hикита
14.11.14
✎
12:29
|
(24) &НаКлиенте
Процедура Команда1(Команда) Новаястрока = Объект.ТаблЧасть.Добавить(); Инд = Объект.ТаблЧасть.Индекс(Новаястрока); НовыйНомер = Объект.ТаблЧасть[Инд-1].Реквизит1 + 1; Сообщить (НовыйНомер); КонецПроцедуры добавляет пустую строку |
|||
26
Hикита
14.11.14
✎
12:30
|
Реквизит1 это реквизит ТабЧасть
|
|||
27
Hикита
14.11.14
✎
12:32
|
получается я создаю первую строку в ТабЧасть ввожу в колонку
Реквизит1 любое число и дальше дму кнопку Команда1 и у меня создается пустое поле |
|||
28
hhhh
14.11.14
✎
12:34
|
(27) а где вы тут записываете Реквизит1?
|
|||
29
Kj13
14.11.14
✎
12:34
|
(27) Код покажи.
|
|||
30
Kj13
14.11.14
✎
12:34
|
(27) И Реквизит1 это тип Число?
|
|||
31
Ненавижу 1С
гуру
14.11.14
✎
12:35
|
Это не ты?
ID строк документа |
|||
32
Hикита
14.11.14
✎
12:36
|
(30)
Записываю в строку в колонку Реквизит1 Да тип Число |
|||
33
Hикита
14.11.14
✎
12:36
|
(31) Нет :)
|
|||
34
Salimbek
14.11.14
✎
12:40
|
(32) Мне кажется, что в (28) намекают, что где-то пропущено
Новаястрока.МойНомер= НовыйНомер; |
|||
35
Hикита
14.11.14
✎
12:47
|
Все понял Всем спасибо особенно Kj13 !
Так работает &НаКлиенте Процедура Команда1(Команда) Новаястрока = Объект.ТаблЧасть.Добавить(); Инд = Объект.ТаблЧасть.Индекс(Новаястрока); НовыйНомер = Объект.ТаблЧасть[Инд-1].Реквизит1 + 1; Новаястрока.Реквизит1 = НовыйНомер; Сообщить (НовыйНомер); КонецПроцедуры |
|||
36
Hикита
14.11.14
✎
12:53
|
А можно чтобы при нажатии F9 когда в таблице производится копирование и вставления последний строчки Реквизит1 не копировался а так же увеличивался +1 ?
|
|||
37
Ненавижу 1С
гуру
14.11.14
✎
12:58
|
(36) можно
|
|||
38
Hикита
14.11.14
✎
12:58
|
(37) А каким образом?
|
|||
39
kortun
14.11.14
✎
12:59
|
Можно еще так делать
&НаКлиенте Процедура Команда1(Команда) Новаястрока = Объект.ТаблЧасть.Добавить(); Новаястрока.Реквизит1 = Объект.ТаблЧасть.Количество(); Сообщить (Новаястрока.Реквизит1); КонецПроцедуры |
|||
40
Ненавижу 1С
гуру
14.11.14
✎
12:59
|
(35) это уникально в документе, а не в базе как ты писал в (20)
|
|||
41
Hикита
14.11.14
✎
13:00
|
(40) Д я знаю просто к этому номеру я приалюсую номер накладной
|
|||
42
Ненавижу 1С
гуру
14.11.14
✎
13:01
|
(41) и оно внезапно станет уникальным?
|
|||
43
Hикита
14.11.14
✎
13:03
|
ну номер накладной то уникальный (42)
|
|||
44
Fish
14.11.14
✎
13:06
|
(43) Вовсе не обязательно. Обычно периодичность номера - год.
|
|||
45
Ненавижу 1С
гуру
14.11.14
✎
13:07
|
(43) что будет в Реквизит1, если накладная номер 43 и строка 2?
|
|||
46
Hикита
14.11.14
✎
13:09
|
не там вообще длинный номер около 10 символов
|
|||
47
Ненавижу 1С
гуру
14.11.14
✎
13:10
|
(46) там номер строка
|
|||
48
Hикита
14.11.14
✎
13:10
|
а тогда как сделать уникальный по порядку чтобы шел ?
|
|||
49
Ненавижу 1С
гуру
14.11.14
✎
13:10
|
(48) а зачем?
|
|||
50
Hикита
14.11.14
✎
13:14
|
Ну или хотябы когда F9 к в таблице производится копирование и вставления последний строчки Реквизит1 не копировался а так же увеличивался +1 ?
|
|||
51
kortun
14.11.14
✎
13:19
|
(50) что за задача странная?
|
|||
52
Лефмихалыч
14.11.14
✎
13:21
|
долбаный позор
|
|||
53
DrZombi
гуру
14.11.14
✎
13:49
|
(50) Зачем? Что ты пишешь? :)
|
|||
54
H A D G E H O G s
14.11.14
✎
14:04
|
Её звали Никита.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |