Получение данных из ячейки табличной части документа.

1. BuryMeInVegas 13.09.19 15:27 Сейчас в теме
У меня очередной вопрос. Имеется документ с табличной частью. Имеется реквизит этой табличной части "РезультатОбзвона", он может принимать только 3 варианта: "Отправлено коммерческое предложение, запланирован звонок на другую дату."; "Запланирован звонок на другую дату." и "Подписан договор.". При проведении документа, если выбран вариант "Подписан договор.", документ должен быть проведён по регистру "ПодписанныеДоговоры".
Думал это сделать следующим образом:

Если "Значение ячейки табличной части" = "Подписан договор." Тогда
Движение = Движения. ПодписанныеДоговоры. Добавить ();
Движение. Период = Дата;
Движение. Контрагент = ТекСтрокаДанныеОЗвонке. НаименованиеКонтрагента;
Движение. ПодписанДоговор = Истина;
КонецЕсли;

Но никак не могу разобраться, как же получить значение этой ячейки через модуль документа, подскажите, пожалуйста. Заранее благодарю!
По теме из базы знаний
Найденные решения
3. sommid 13.09.19 16:54 Сейчас в теме
(1) нужен цикл по строкам табличной части.. посмотрите любые примеры любых документов с табличными частями

что-то вроде:
Для каждого ТекСтрока из <ИмяТабличнойЧасти> Цикл
    Если ТекСтрока.<ИмяРеквизитаТабличнойЧасти> = "Подписан договор." Тогда 
        Движение = Движения. ПодписанныеДоговоры. Добавить (); 
        Движение. Период = Дата; 
        Движение. Контрагент = ТекСтрокаДанныеОЗвонке. НаименованиеКонтрагента; 
        Движение. ПодписанДоговор = Истина; 
    КонецЕсли;
КонецЦикла;


а вообще, конечно, правильнее запросом получить нужные данные и уже по ним формировать движения. Но это скорее всего для вас пока будет сложно ).
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. danjer74 3 13.09.19 15:31 Сейчас в теме
(1)Запросом к табличной части этого документа. В условие добавить и все. Потом просто обойти результат запроса. Нужные записи будут сделаны в регистр
3. sommid 13.09.19 16:54 Сейчас в теме
(1) нужен цикл по строкам табличной части.. посмотрите любые примеры любых документов с табличными частями

что-то вроде:
Для каждого ТекСтрока из <ИмяТабличнойЧасти> Цикл
    Если ТекСтрока.<ИмяРеквизитаТабличнойЧасти> = "Подписан договор." Тогда 
        Движение = Движения. ПодписанныеДоговоры. Добавить (); 
        Движение. Период = Дата; 
        Движение. Контрагент = ТекСтрокаДанныеОЗвонке. НаименованиеКонтрагента; 
        Движение. ПодписанДоговор = Истина; 
    КонецЕсли;
КонецЦикла;


а вообще, конечно, правильнее запросом получить нужные данные и уже по ним формировать движения. Но это скорее всего для вас пока будет сложно ).
4. nomad_irk 76 13.09.19 16:58 Сейчас в теме
(3)как же любят бегать по всей тч......а если там строк 100к, а нужна 1?

Используйте поиск по ТЧ.....
5. sommid 13.09.19 17:02 Сейчас в теме
(4) ну, особенно с исходным вопросом, где человек не может обратится к реквизиту табличной части.
И уже если не "бегать по строкам табличной части", то как я и написал - запросом, а не поиском ;)
6. nomad_irk 76 13.09.19 17:04 Сейчас в теме
(5) Запросом нельзя напрямую получить данные, если объект не записан в БД, а поиском - можно.

Более того, запрос - это доп. ресурсы сервера 1с и сервера sql на обработку, а тч уже в памяти, ничего, кроме, поиска делать не нужно.
7. sommid 13.09.19 17:17 Сейчас в теме
(6) вы собрались делать движения по незаписанному документу?)
Уверен, что речь про обработчик проведения.

Насчет доп. ресурсов - посмотрите как сейчас организовано проведение в типовых - во всех документах используется метод ИнициализироватьДанныеДокумента() - где все необходимые данные для движений получаются запросами.
8. sommid 13.09.19 17:22 Сейчас в теме
+(7) Но можно и поиском при желании, не спорю.
Но не думаю, что будет колоссальная разница между найти строки поиском и делать по ним цикл и между циклом по всей табчасти с проверкой условия. Думаете поиск принципиально по другому работает? это уже на вкус и цвет.
Тем более судя по задаче - там 3 варианта => рядом появится еще 2 проверки с движениями по своим регистрам.

когда представляешь несколько возможных вариантов реализации - только в плюс, так что автору повезло)
10. nomad_irk 76 13.09.19 17:24 Сейчас в теме
(7) с чего вы взяли, что речь идет про типовую конфигурацию управляемого приложения?
Автор спрашивает в общем, следовательно ответ тоже должен быть в общем.
11. sommid 13.09.19 17:29 Сейчас в теме
(10) "про типовую конфигурацию управляемого приложения" - это лишь пример того какой подход используется сейчас, чем он не применим в "общем"? запросы использовать можно, модули менеджера тоже, экспортные функции тоже работают.
что-то я не понимаю, чему вы противитесь
9. shatunovs 13.09.19 17:23 Сейчас в теме
(6)
Запросом нельзя напрямую получить данные
При проведении документа уже можно запросом
12. nomad_irk 76 13.09.19 17:31 Сейчас в теме
(9)согласен, но это доп. нагрузка.
Вообще, решение довольно странное. Имхо, должен быть документ, который только нужные строки содержит, а не отдельные, учитываемые в регистре. Ну да ладно.....
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот