|
|
|
Генератор номера в строке ТЗ | ☑ | ||
|---|---|---|---|---|
|
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
|
Её звали Никита.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |