Вход | Регистрация

  1  2   
1С:Предприятие :: 1С:Предприятие 8 общая

Обход и вычисление табличной части

↓ [Волшебник, 24.05.18 - 13:53]
Обход и вычисление табличной части
Я
   StanislavPrihodko
 
24.05.18 - 08:27
Всем привет. Хотел бы спросить у вас, обход табличной части осуществляется только через цикл Для Каждого Из Цикл и как происходит вычисление количества строк в табличной части, я пишу диплом и прошу у вас совета
 
 
   igorPetrov
 
1 - 24.05.18 - 08:30
(0) любым циклом
   Ненавижу 1С
 
2 - 24.05.18 - 08:30
для количества есть метод табличной части: Количество()
   DrShad
 
3 - 24.05.18 - 08:30
а количество через метод Количество()
все просто
   StanislavPrihodko
 
4 - 24.05.18 - 08:31
И мне преподаватель еще сказал чтобы я : При записи включил контроль заполнения реквизита Специальность в документе План и Урок это реквизит в табличной части Уроки.
Скажите внешне как мне это осуществить и я буду копаться, благодарю вас!
   StanislavPrihodko
 
5 - 24.05.18 - 08:31
(1) Спасибо
   Metman
 
6 - 24.05.18 - 08:33
КолСтрок = ТвойДок.ТЧДок.Количество()
   Ненавижу 1С
 
7 - 24.05.18 - 08:34
варианты обхода:


Для каждого Стр Из ТЧ Цикл

    //...


КонецЦикла; 




Для й=0 По ТЧ.Количество()-1 Цикл

    Стр = ТЧ[й];
    
    //...


КонецЦикла; 


й = 0;
Пока Истина Цикл

    Попытка
        Стр = ТЧ[й];    
        й = й+1;
    Исключение
        Прервать;
    КонецПопытки; 
    
    //...


КонецЦикла;
   StanislavPrihodko
 
8 - 24.05.18 - 08:35
(7) Господи, спасибо большое, я уже 2 дня на других форумах сижу, там никто так и не помог и онлайн маленький, тут за 2 минуты ответили, благодарен вам ребят, большое спасибо
   МимохожийОднако
 
9 - 24.05.18 - 08:36
ОФФ: Я думал это нашествие ботов по утрам. А это "сессия близко". Все с одного курса однако.
   FIXXXL
 
10 - 24.05.18 - 08:37
(7) с Попытка не сильно круто?
а то влепят неуд будущему коллеге :)
 
 Рекламное место пустует
   StanislavPrihodko
 
11 - 24.05.18 - 08:37
А как мне сделать при записи включить контроль заполнения реквизита Специальность в документе План и Урок это реквизит в табличной части Уроки.

Я в том плане, мне на кнопку какую-то это надо привязать или что?
   Metman
 
12 - 24.05.18 - 08:37
Книжка Радченко снимет 99% вопросов
   Metman
 
13 - 24.05.18 - 08:38
(11) ПередЗаписью проверяй
   FIXXXL
 
14 - 24.05.18 - 08:38
(11) в форме смотри События
   Metman
 
15 - 24.05.18 - 08:39
Либо в ТЧ установи проверку незаполенного
   Ненавижу 1С
 
16 - 24.05.18 - 08:39
(10) это просто варианты, некоторые эзотеричиские
можно еще через Перейти написать
   Metman
 
17 - 24.05.18 - 08:39
+(15) для Плана и Урока
   StanislavPrihodko
 
18 - 24.05.18 - 08:40
(12) Я прочитал 50 страниц и уже в своей тетради страниц 25 законспектировал, читать в таком режиме быстро не получается
   Ненавижу 1С
 
19 - 24.05.18 - 08:40
ОбработкаПроверкиЗаполнения
   StanislavPrihodko
 
20 - 24.05.18 - 08:42
(13) (14) ПередЗаписью или ПередЗаписьюНаСервере и какое отличие?
   StanislavPrihodko
 
21 - 24.05.18 - 08:43
(17) Может посоветуете как читать книжку, ну в плане просто читать или читать и конспектировать?
   Ненавижу 1С
 
22 - 24.05.18 - 08:44
(20) не в форме, а в модуле объекта
   StanislavPrihodko
 
23 - 24.05.18 - 08:45
(22) Так а модуль объекта, какой объект выбрать у меня на форме и реквизит специальность и реквизит табличной части Урок в табличной части Уроки, что выбрать то?
   StanislavPrihodko
 
24 - 24.05.18 - 08:46
(22) Извиняюсь, в модуле объекта сверху нашел ПередЗаписью
   StanislavPrihodko
 
25 - 24.05.18 - 08:47
(22) Получается ПередЗаписью мне нужно выбрать на клиенте и сервере?
   StanislavPrihodko
 
26 - 24.05.18 - 08:49
(22) Заметил что можно создать только:
Создать на клиенте
Создать на клиенте и процедуру на сервере без контекста
А создать на клиенте и процедуру на сервере(заблокировано) - нельзя выбрать, тогда без контекста значит выбирать, раз просто с сервера если заблокировано?
   StanislavPrihodko
 
27 - 24.05.18 - 08:57
Заметил что можно создать только:
Создать на клиенте
Создать на клиенте и процедуру на сервере без контекста
А создать на клиенте и процедуру на сервере(заблокировано) - нельзя выбрать, тогда без контекста значит выбирать, раз просто с сервера если заблокировано?
   Dotoshin
 
28 - 24.05.18 - 08:58
(10) Это называется нестандартный подход. По идее неуд тут не за что ставить, надо просто объяснить недостатки такого подхода.
   StanislavPrihodko
 
29 - 24.05.18 - 09:00
(28) Я просто отличник и мне дали супер крутое задание как они сказали, потому что я в будущем хочу быть программистом 1С поэтому и прошу меня валить преподавателям
   StanislavPrihodko
 
30 - 24.05.18 - 09:00
(28) Можете выше мне подсказать?
   Dotoshin
 
31 - 24.05.18 - 09:00
(18) Надо не конспектировать, а делать на компе примеры из этой книжки, это будет еще медленней чем конспектировать, но пользы будет в разы больше.
   StanislavPrihodko
 
32 - 24.05.18 - 09:02
(31) Я и конспектирую и делаю примеры на ноутбуке :)
   _Дайвер_
 
33 - 24.05.18 - 09:07
(29) Рассмешил)
 
 
   StanislavPrihodko
 
34 - 24.05.18 - 09:08
(33) Нет, чем больше валят, тем больше я знаю
   StanislavPrihodko
 
35 - 24.05.18 - 09:09
Помогите с этим пожалуйста, никто не отвечает:


Заметил что можно создать только:
Создать на клиенте
Создать на клиенте и процедуру на сервере без контекста
А создать на клиенте и процедуру на сервере(заблокировано) - нельзя выбрать, тогда без контекста значит выбирать, раз просто с сервера если заблокировано?
   _Дайвер_
 
36 - 24.05.18 - 09:12
(34) Это довольно обыденные вещи, если ты только начал изучать 1С, то бери книгу Радченко ППР и пиши "Рога и копыта". И у тебя не будет таких простых вопросов
   StanislavPrihodko
 
37 - 24.05.18 - 09:17
(36) Просто никогда не видел заблокированого варианта
   StanislavPrihodko
 
38 - 24.05.18 - 09:19
(2) Можно пример какой-нибудь, пожалуйста
   StanislavPrihodko
 
39 - 24.05.18 - 09:19
(2) Вот проверьте правильный ли он:

КолСтр = 0;
Для каждого строкаТ из ТвояТабЧасть цикл
  КолСтр  = КолСтр + ТаблПоле.ПроверитьСтроку(строкаТ )
КонецЦикла;
   Dotoshin
 
40 - 24.05.18 - 09:20
(35) А на какой специальности ты учишься, если не секрет?
   StanislavPrihodko
 
41 - 24.05.18 - 09:25
(40) Вычислительная техника и программного обеспечение
   oslokot
 
42 - 24.05.18 - 09:27
какая-то каша у Вас в голове
   StanislavPrihodko
 
43 - 24.05.18 - 09:29
КолСтр = 0;
Для каждого строкаТ из ТвояТабЧасть цикл
  КолСтр  = КолСтр + ТаблПоле.ПроверитьСтроку(строкаТ )
КонецЦикла;

Я хочу вас спросить: Вот в ТаблПоле что вставлять, если мне надо сделать При записи включить контроль заполнения реквизита специальность и реквизита табличной части Урок в табличной части Уроки. И это делается когда у нас курсовых работ меньше двух или дата документа меньше текущей даты , текущаяДата() я нашел, а вот как с Курсовыми работами - табличная часть работать не понимаю, объясните и если сможете пожалуйста пример, так понятней :)
   igorPetrov
 
44 - 24.05.18 - 09:29
(42) это опять  "vasiliyegorov"  )))
   igorPetrov
 
45 - 24.05.18 - 09:30
(43) Ты еще 5 аккаутнтов заведи на всякий случай))
   StanislavPrihodko
 
46 - 24.05.18 - 09:31
(44) Не понял вас, можно по подробнее кто это и почему это я?
   igorPetrov
 
47 - 24.05.18 - 09:32
(46) Плохая попытка)
   StanislavPrihodko
 
48 - 24.05.18 - 09:32
(47) Не пойму о чем вы, но да ладно
   igorPetrov
 
49 - 24.05.18 - 09:33
(48) Конечно, конечно )))
 
 Рекламное место пустует
   Dotoshin
 
50 - 24.05.18 - 09:34
(41) Ну тогда расскажи, простыми русским словами, что делает твой код в (39) ?
   StanislavPrihodko
 
51 - 24.05.18 - 09:35
(50) Я его скопировал на сайте, гуглил метод - Количество()
   craxx
 
52 - 24.05.18 - 09:36
Что-то нашествие студентов какое-то второй день. Зачеты уже должны быть по идее, май месяц.
   Малыш Джон
 
53 - 24.05.18 - 09:36
>>включить контроль заполнения реквизита

у реквизита в свойствах в поле "Проверка заполнения" поставь "Выдавать ошибку".
   Dotoshin
 
54 - 24.05.18 - 09:37
(51) Ты не уклоняйся от ответа. Рассказывай, что этот код делает?
   dezss
 
55 - 24.05.18 - 09:37
мда...слишком толсто...
какой курс?
   Dotoshin
 
56 - 24.05.18 - 09:38
+ (54) А метод количество надо "гуглить" в СП...
   StanislavPrihodko
 
57 - 24.05.18 - 09:39
(53) Спасибо я указал в реквизите Чтобы выдавало ошибку, у меня в реквизите надо и в реквизите табличной части Урок в табличной части Уроки. Мне в реквизите табл части тоже поставить?
   фросия
 
58 - 24.05.18 - 09:40
(55) мне больше интересео в каком вузе начинают обцчать программированию сразу с 1ски? А как же паскаль?
   StanislavPrihodko
 
59 - 24.05.18 - 09:40
Описание:

Получает количество элементов в коллекции. (56) 

Не понятно
   StanislavPrihodko
 
60 - 24.05.18 - 09:41
(58) У нас С++ и 1С, только с С++ нет проблем вообще, а тут прям завал какой-то в 1С и информации мало в интернете
   фросия
 
61 - 24.05.18 - 09:41
(59) читаю СП вслух. Понятно. Дорого.
;)
   Dotoshin
 
62 - 24.05.18 - 09:41
(59) Что конкретно не понятно?
   фросия
 
63 - 24.05.18 - 09:42
(60) я вам отвечаю что обход строк таблицы в цикле хоть в 1с хоть в с++ хоть в камушках и ракушках-одинаков!
   StanislavPrihodko
 
64 - 24.05.18 - 09:42
Количество элементов в коллекции
   StanislavPrihodko
 
65 - 24.05.18 - 09:43
(63) я знаю, но в 1С эти формы, табличные части и тд, там полегче
   StanislavPrihodko
 
66 - 24.05.18 - 09:43
С циклом наверное вот так:


Для НомерСтроки = 0 По ЭлементыФормы.Таблица.Значение.Количество() Цикл
 

А количество строк можно посчитать:



КоличествоСтрок =ЭлементыФормы.Таблица.Значение.Количество()

Вот мне друг скинул, но не знаю правильно это может быть или нет
   фросия
 
67 - 24.05.18 - 09:43
(65) напиши на с++ алгоритм -переведу тебе в язык 1с
   Dotoshin
 
68 - 24.05.18 - 09:44
(64) А здесть-то что непонятного? Слово коллекция?
   СвинТуз
 
69 - 24.05.18 - 09:44
(57)
В окне конфигурации прямо у объекта конфигурации у реквизита табличной части
   StanislavPrihodko
 
70 - 24.05.18 - 09:45
Коллекции значений 1С — это универсальные объекты Массив, Список значений, Таблица значений, Дерево значений, Структура, Соответствие.

Я хочу вас спросить: Вот в ТаблПоле что вставлять, если мне надо сделать При записи включить контроль заполнения реквизита специальность и реквизита табличной части Урок в табличной части Уроки. И это делается когда у нас курсовых работ меньше двух или дата документа меньше текущей даты , текущаяДата() я нашел, а вот как с Курсовыми работами - табличная часть работать не понимаю, объясните и если сможете пожалуйста пример, так понятней :)

А у меня табличная часть Курсовые работы, а там в описании нет табличная часть, поэтому я не понимаю
   СвинТуз
 
71 - 24.05.18 - 09:47
(70)
Модуль документа процедура передЗаписью
   dezss
 
72 - 24.05.18 - 09:48
ОФФ:
хотя стиль написания похож на студенческий...
тупо поток сознания
   igorPetrov
 
73 - 24.05.18 - 09:48
(70) Ты сам прочитай, что написал... это же бред сивой кобылы. Каша у тебя))
   СвинТуз
 
74 - 24.05.18 - 09:48
(70)
Или ПослеЗаписи но уже запросом считывать из базы и Отказ = истина
   StanislavPrihodko
 
75 - 24.05.18 - 09:49
(71) Уже сделал, мне надо чтобы он теперь посчитал мне в табличной части мои строки

Я вот не пойму, вот так или нет:
Для НомерСтроки = 0 По ЭлементыФормы.Таблица.Значение.Количество() Цикл
 

А количество строк можно посчитать:



КоличествоСтрок =ЭлементыФормы.Таблица.Значение.Количество()
   StanislavPrihodko
 
76 - 24.05.18 - 09:49
(73) Каша у моего преподавателя значит по твоим словам, я под диктовку писал
   StanislavPrihodko
 
77 - 24.05.18 - 09:50
(74) Вот это мне сейчас надо понять как сделать: включить контроль заполнения реквизита специальность и реквизита табличной части Урок в табличной части Уроки. И это делается когда у нас курсовых работ меньше двух (вот последнее предложение)
   dezss
 
78 - 24.05.18 - 09:50
(76) не исключено)
(75) в таб части количество строк считается методом таб части Количество().
   фросия
 
79 - 24.05.18 - 09:51
(70) автор вы думаете что форум это такой ресурс где бесплатно выдают готовые решения? Тут стараются подсказать, направить, а вы даже не хотите полумать, почитать и попытаться понять
   StanislavPrihodko
 
80 - 24.05.18 - 09:51
То есть курсовых работ меньше двух(полей), в табличной части, а как строки эти подсчитать я не знаю
   СвинТуз
 
81 - 24.05.18 - 09:51
(75)
Не там пишешь
   StanislavPrihodko
 
82 - 24.05.18 - 09:51
(81) Я пишу вот тут, &НаСервереБезКонтекста
Процедура ПередЗаписьюНаСервере()
    КоличествоСтрок = 0;
    Для каждого СтрокаТабЧ Из Объект.Дисциплины Цикл
        КоличествоСтрок  = КоличествоСтрок + ТаблПоле.ПроверитьСтроку(строкаТ )
 

КонецЦикла; 

КонецПроцедуры

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    ПередЗаписьюНаСервере();
КонецПроцедуры
   StanislavPrihodko
 
83 - 24.05.18 - 09:52
(81) А там я просто пример скинул
   СвинТуз
 
84 - 24.05.18 - 09:52
(75)
Нефиг было весь семестр прогуливать. Теперь за два дня наверстываешь )))
Удачи
   StanislavPrihodko
 
85 - 24.05.18 - 09:52
Я неправильный код засунул в свой код вот и спрашиваю как подсчитать
   Dotoshin
 
86 - 24.05.18 - 09:53
(75) Твои строки уже давным давно посчитаны.
Табличная часть (Tabular section)
Количество (Count)
Синтаксис:

Количество()
Возвращаемое значение:

Тип: Число.

Описание:

Получает количество строк табличной части.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример:

ВсегоСтрок = Состав.Количество();
 

"Состав" это имя табличной части в двнном примере
   СвинТуз
 
87 - 24.05.18 - 09:53
(82)
Покинь модуль формы
перейди в модуль объекта
   StanislavPrihodko
 
88 - 24.05.18 - 09:53
(29)  (84)
   StanislavPrihodko
 
89 - 24.05.18 - 09:54
(87) Я же в модуле объекта и так
   СвинТуз
 
90 - 24.05.18 - 09:56
(88)
помню я был середнячок ... Сам решал )))
Решал то что кроме меня решать не мог или не хотел.

Нынче люди интернетом порченные.

(89)
Тогда купи книгу и прочти .
Прогон Радченко у продвинутого студента займет день.
Уйдут все твои вопросы
   СвинТуз
 
91 - 24.05.18 - 09:57
(89)
хорош тролить. Если бы это было так ты бы его не записал .
Конфигуратор выдаст ошибку.
   StanislavPrihodko
 
92 - 24.05.18 - 09:58
(86) Можно пример, я не понимаю, то есть табличная часть Уроки нужно вызвать Уроки.Количество() ну это я так с примера понял
   igorPetrov
 
93 - 24.05.18 - 09:59
(88) тролль
   igorPetrov
 
94 - 24.05.18 - 10:00
(92) ты даже мысли свои не можешь формулировать... чушь какую-то пишешь )))
   Dotoshin
 
95 - 24.05.18 - 10:04
(92) Да, все правильно.
(93) Да не, скорей всего парню сунули в зубы конфигуратор и сказали - разбирайся, а спросить ему не у кого, вот он и пришел сюда. А здесь могут только пнуть в нужном направлении и не более того...
   3achem
 
96 - 24.05.18 - 10:17
Вы тоже заметили, что в последнее время на мисте появляются люди с одной и той же конфой, которую надо допилить?
(0) Молодой человек, ну ка расскажите, в каком учебном заведении вы учитесь?
   ILM
 
97 - 24.05.18 - 10:21
(95) Ну он может дать удаленный доступ, например)))
   StanislavPrihodko
 
98 - 24.05.18 - 10:40
(95) Я вызываю Объект.Уроки.Урок в другом месте через ctrl + пробел заполнялся, а у меня в процедуре на сервере без контекста не работает почему-то, ну в плане не заполняется, то есть Объект.Уроки.Урок.Количество() и он посчитает строки?
   dezss
 
99 - 24.05.18 - 10:41
(98) на сервере без контекста нет контекста...
там нет твоего Объект
   StanislavPrihodko
 
100 - 24.05.18 - 10:42
(99) Ну, а как тогда вызвать? Я понял это, но как теперь вызвать чтобы посчитало
  1  2   

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует