Изменение табличной часть имеющегося документа (управляемые формы)

1. provnick 30.11.14 15:27 Сейчас в теме
[1C-CODE]    Запрос = Новый Запрос;
    Запрос.Текст = ............. 
            Результат = Запрос.Выполнить().Выгрузить(); 
        Для каждого Стр Из Результат Цикл
            ДокОбъект = Стр.ссылка.ПолучитьОбъект();
        Если ДокОбъект.Тарифы.Количество() < 2 И ДокОбъект.Показатели[0].Показатель = ПланыВидовХарактеристик.ком_ПоказателиРасчета.КоличествоЧеловек  Тогда
            ДокОбъект.Тарифы[0].ВидНачисления =  ПланыВидовРасчета.ком_ВидыНачисленийКоммунальныхУслуг.НайтиПоНаименованию("ВКО");
            ДокОбъект.Тарифы[0].Тариф = "100";
            ДокОбъект.Тарифы[0].КлючСвязи = 1;
        ИначеЕсли ДокОбъект.Тарифы.Количество() < 2 И ДокОбъект.Показатели[0].Показатель = ПланыВидовХарактеристик.ком_ПоказателиРасчета.Площадь Тогда
            ДокОбъект.Тарифы[0].ВидНачисления = ПланыВидовРасчета.ком_ВидыНачисленийКоммунальныхУслуг.НайтиПоНаименованию("ЭКС");
            ДокОбъект.Тарифы[0].Тариф = "31";
            ДокОбъект.Тарифы[0].КлючСвязи = 1;
        КонецЕсли;
           ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
        КонецЦикла;
Показать
[/1C-CODE]
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 298 30.11.14 15:36 Сейчас в теме
(1) provnick, а что конкретно не получается ?
Код рабочий, а "детали" - это уже надо конкретно под задачу прописывать.
У вас меняется первая строка табличной части.
Например, если она вообще пустая - то будет ошибка.
3. provnick 01.12.14 20:46 Сейчас в теме
То есть, чтобы не было ошибки, необходимо проверку выполнить на одну строку-ДокОбъект.Тарифы.Количество() = 1? Дело в том, что выборка идет, строка должна меняться, если записано ВидНачисления ЭКС, а в показателях КоличествоЧеловек, то должно значение поменятся на ВКО, а оно не меняется, поэтому и задал вопрос, хотя сейчас обратил внимание, что и документы, если заполнены и проведены обработкой, то записи в регистрах остаются прежними (причем через раз), а вот если вручную перепроведешь документ, то меняется запись (особенности конфигурации, что ли).
4. Ntari 02.12.14 07:02 Сейчас в теме
если хотите чтобы обработка меняла записи в регистре
КонецЕсли;
           ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
        КонецЦикла;

--->
КонецЕсли;
           ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
        КонецЦикла;
5. provnick 02.12.14 11:44 Сейчас в теме
Наверное так оно и есть, думал, что при перезаписи проведенного документа, автоматом перепроводит, буду проверять, долго только, записей много
Оставьте свое сообщение

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