Имя: Пароль:
1C
1С v8
Добавление строки в таб части документа.
,
0 sashaslam
 
14.09.11
17:50
Нужно чтоб при добавлении строки в табличной части документа в поле количество автоматически заносились рание сформированые данные (какоето число). При описании какого события это нужно сделать?
1 mikecool
 
14.09.11
17:51
(0) выдели таб поле, зайди в свойства, внизу будет список событий - выбери подходящее
2 sashaslam
 
14.09.11
17:54
я понимаю... просто не могу правильно выбираю ПриИзменении - тогда не можна вручную поменять, ПередНачаломДобавления - тогда не могу сылаться на Поле Количество, данные еще не определены
3 mikecool
 
14.09.11
17:59
ПередОкончаниемРедактирования
ПриОкончанииРедактирования
4 Mort
 
14.09.11
18:01
ПриНачалеРедактирования + анализ параметров НоваяСтрока и Копирование
5 Ахиллес
 
14.09.11
18:05
Советчики, мля...
(0) Посмотри какое событие висит на Единице измерения в стандартной конфе в приходной накладной.
6 Ахиллес
 
14.09.11
18:06
+5 И вообще, когда не знаешь, как сделать, смотри, как в типовых реализована аналогичная задача. Тут такого насоветуют тебе.
7 Mort
 
14.09.11
18:10
(5,6) Ты бы вместо того чтобы умничать, внимательно вопрос прочитал. А на типовые дрочить можно, но по первой.
8 Ахиллес
 
14.09.11
18:14
(7) Ты нашёл знакомые буковки в сабже и считаешь, что ты его прочитал? Реквизиты строки заполняются в "ПриИзменении", "ПриНачалеРедактирования" это вообще тут ни с какого боку.
9 rotting
 
14.09.11
18:15
(8) что автору нужно "нажал на кнопку добавить, а в новой строке уже какое-то посчитанное им значение"
10 Mort
 
14.09.11
18:16
(8) Ну давай, напиши решение через ПриИзменении. А мы посмотрим какой ты крутой кодер.
11 Ахиллес
 
14.09.11
18:16
(9) А что кроме количества других реквизитов в строке нету?
12 Ахиллес
 
14.09.11
18:19
(10) Пейсатель нетленок? Типа все вокруг нифига не умеют програмить, в типовых одно амно, ты один дартаньян, весь в белом.
13 sashaslam
 
14.09.11
18:21
вожможно так не оптимально, но я попробовал ПриИзменении, с условием что уже есть в поле Количество, если 0 тогда переношу Данные, иначе возврат... работает кажеться... возможно и не прав я
14 Mort
 
14.09.11
18:21
(12) И тленок и нетленок. Но это тут ни при чем. Я могу выложить решение через "ПриНачалеРедактирования". Если ты не можешь выложить через "ПриИзменении" это однозначно слив.
15 sashaslam
 
14.09.11
18:21
спс за советы
16 Mort
 
14.09.11
18:23
+(14) А слив будет палюбасу, потому что в типовых тоже используется ПриНачалеРедактирования для этих целей. Потому что это - азы.
17 sashaslam
 
14.09.11
18:24
понял... перенесу условие в ПриНачалеРедактирования
18 Ахиллес
 
14.09.11
18:41
(16) А ну ка...    ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);

В какой процедуре это строка?
19 Mort
 
14.09.11
18:45
(18) Да тысячи их, процедур. Откуда я только сам её не вызывал, из всяких обработок загрузки и т.п. С учетом того, что функция обновляет определенные поля ТЧ по значениям других полей ТЧ. Но она никак не производит начальное заполнение новой строки значеними по-умолчанию. Так что не подходит. Ты по задаче пример подгони.
20 Ахиллес
 
14.09.11
18:51
Вопрос не в том, что делает эта процедура, а при каком событии она вызывается при заведении документа. И почему именно по этому событию, а не в "ПриНачалеРедактирования". И рассчитанное заранее количество в строке это нифига не значение по умолчанию, потому, как оно как раз и зависит от других реквизитов строки.
21 Mort
 
14.09.11
18:54
(20) Она вызывается из всех полей от которых зависит сумма при изменении поля. И ПриНачалеРедактирования тут конечно не надо.

Однако, не съезжаем с темы и внимательно читаем вопрос (0):

"Нужно чтоб при добавлении строки в табличной части документа в поле количество автоматически заносились ранее сформированые данные (какое-то число)". Какое слово тут не понятно?
22 Ахиллес
 
14.09.11
18:55
(21) Ну и где ты в этой фразе углядел, что количество константа для всех строк и не зависит от других реквизитов?
23 Ахиллес
 
14.09.11
18:57
...пипец, а потом окажется что ТС загрузку из Экселя ваяет ;-)
24 Mort
 
14.09.11
19:12
(23) Угу, а про события автор спросил так, между прочим.

p/s Кода мы так и не увидели.
25 sashaslam
 
14.09.11
19:24
стр = элементы.Замовлення.ТекущиеДанные;
стрМатеріал = элементы.Матеріал.ТекущиеДанные;
 
 
     Если  Стр.кількість = 0  Тогда
          Стр.кількість = стрМатеріал.Кількість;
          Иначе
           Возврат;
         КонецЕсли;
26 sashaslam
 
14.09.11
19:25
данные берутся с другой табличной части
27 sashaslam
 
14.09.11
19:27
проблема когда табличная часть материалы пустая тогда ошибка
28 hhhh
 
14.09.11
19:48
Если элементы.Матеріал.ТекущиеДанные <> Неопределено Тогда
      Если  Стр.кількість = 0  Тогда
          Стр.кількість = стрМатеріал.Кількість;
          Иначе
           Возврат;
       КонецЕсли;
 КонецЕсли;
29 rotting
 
14.09.11
20:47
Может надо при активации строки первой ТЧ?
30 sashaslam
 
14.09.11
20:52
Если элементы.Матеріал.ТекущиеДанные <> Неопределено Тогда

так и сделал. Спасибо!
31 sashaslam
 
14.09.11
20:57
(29) сначала так и сделал, при записи данных в первой таблице создавал строчку во второй ТЧ и записывал количество, но при этом закладка со второй ТЧ ставала активной, а это было неудобно, не знал что сделать что б этого избежать
32 rotting
 
14.09.11
20:57
(31) активностью элементов можно управлять, озвучил бы задачу нормально сразу
33 sashaslam
 
14.09.11
21:36
(32) да, моя ошибка...
34 sashaslam
 
14.09.11
21:38
хотя я уже передела, потому что нужно уже итог по количеству с первой ТЧ, тогда впринципе второй вариант нормальный