Предлагаю на Ваш суд свою идею заполнения табличной части нового документа при его открытии.

Опубликовал defini (defini) в раздел Программирование - Теория программирования

Вот небольшой кусочек кода внешней обработки, которая открывает форму нового документа с заполненной табличной частью. Без ВК и не меняя конфигурацию.
 
Перем ДокКонт;

Процедура Сформировать()
    ОткрытьФорму("Документ.ИмяДокумента",ДокКонт);
    Sc = CreateObject("WScript.Shell");
    //добавляем новые строки, пока пустые,
    //к примеру добавим 3 строки
    Стр = "INSERT";//здесь и далее служебные клавиши в фигурных скобках
    Для к = 1 По 5 Цикл
        Стр = Стр + "ENTER";
    КонецЦикла;
    //где "к" - количество реквизитов табличной части доступных для ввода,
    //если реквизит имеет кнопку выбора значения из списка
    //тогда перед "ENTER" надо добавить "ESC", для отмены
    //интерактивного выбора
    Для с = 1 По 3 Цикл
        Sc.SendKeys(Стр);
    КонецЦикла;
    //обязательно пауза
    Форма.ОбработкаОжидания("Заполним",1);
КонецПроцедуры

//заполняем строки документа
Процедура Заполним()
    Попытка
        Если ДокКонт.КоличествоСтрок() = 3 Тогда
            Форма.ОбработкаОжидания("Заполним",0);
            ДокКонт.ВыбратьСтроки();
            Пока ДокКонт.ПолучитьСтроку() = 1 Цикл
                //ну и заполняем пустые строки
            КонецЦикла;
            ДокКонт.Форма.Обновить();
        КонецЕсли;
    Исключение
    КонецПопытки;
КонецПроцедуры

Недостаток: на медленных тачках будет довольно прикольно смотреться заполнение таблицы.

См. также

Комментарии
1. Аркадий Кучер (Abadonna) 3667 21.03.07 18:19 Сейчас в теме
Красиво! Вот только никак не въеду - зачем?
2. defini (defini) 448 22.03.07 11:54 Сейчас в теме
Данному вопросу была посвящена предыдущая статья, как я понял, стояла задача: открыть новый документ и заполнить его табличную часть, не записывая документ в базу, и не меняя кода самой конфигурации. А т.к. документ не записан, методы "ЗагрузитьТабличнуюЧасть()" и "НоваяСтрока()" не срабатывают.
3. Аркадий Кучер (Abadonna) 3667 23.03.07 17:04 Сейчас в теме
Какая задача стояла я понял, не понял я ПОЧЕМУ она ВСТАЛА...
4. defini (defini) 448 23.03.07 17:56 Сейчас в теме
:-) Да мало ли, что юзверя у человека захотели...
Меня заинтересовал сам концепт, идея.
5. Аркадий Кучер (Abadonna) 3667 24.03.07 06:46 Сейчас в теме
Ну вообще-то мой вопрос и не к тебе был, а к автору предыдущего решения ;)
6. Олег Пономаренко (O-Planet) 6669 04.04.07 06:09 Сейчас в теме
А вот мне скажите что... Ентот WScript.Shell - описан ГЕДЕ?
7. Anonymous 04.04.07 17:15 Сейчас в теме
Тебе доки нужны? Стучись в 205460258
8. Евгений Мартыненков (JohnyDeath) 290 05.04.07 10:38 Сейчас в теме
To O-Planet: посмотри сюда: http://www.script-coding.info/ .Очень толковый сайт
9. Sasha_H (logarifm) 24.04.07 17:55 Сейчас в теме
Интересно как оно будет работать на больших базах и в особенности когда много пользхователей, сдесь явно вопрос в оптимизации отвалится! Все реально зависнет!
10. artbear2 (artbear) 26.04.07 10:15 Сейчас в теме
А если просто загрузить ВК 1С++ и ФормЕкс, то НоваяСтрока() для нового документа будет отлично работать.
И не нужно никаких извращений :)
ЗЫ этой фичой пользуюсь уже несколько лет, больше трех точно.
11. artbear2 (artbear) 26.04.07 10:16 Сейчас в теме
Читать - ВК 1С++ ИЛИ ВК ФормЕКС
12. defini (defini) 448 26.04.07 14:23 Сейчас в теме
так задача стояла, без изменения конфы и ВК, вот и прикольнулся.
14. АЛьФ (АЛьФ) 06.11.08 10:37 Сейчас в теме
2(12) Так "WScript.Shell" - это уже встроенный объект 1С?
Душелов; +1 Ответить 1
15. defini (defini) 448 07.11.08 09:09 Сейчас в теме
(14) Не встроенный, но зачем изобретать велосипед, если можно использовать стандартные вещи?
16. Ёпрст (Ёпрст) 1017 07.11.08 09:17 Сейчас в теме
17. defini (defini) 448 07.11.08 09:33 Сейчас в теме
Чой-то вы проснулись? Статейка полтора года валялась тихо-мирно..
18. Илья (i132) 113 20.03.12 15:56 Сейчас в теме
(стоит указать в заголовке что это 7.7)
Добавлять из обработки в еще не записанный документ без внешних компонент и скриптов, штатными средствами можноделать через подбор: Открыть подбор в форме нвого документа, и врентуть таблицу подбора.
например в типовой торговле из формы документа вызвается глОбработкаПодбора(Контекст, ВыбЗнач, 1, 1, 1);, где выбЗнач таблицаЗначений с номенлатурой и количеством + доп реквизиты.

пример кода:

Процедура ВвестиОтменуЗаявок(ТЗ) //+Илья 160806
Перем КОнтПобора;

КОнтекстНовогоДокумента="";
ОткрытьФорму("Документ.ОтменаЗаявок#",КОнтекстНовогоДокумента,);
КОнтекстНовогоДокумента.ОткрытьПодбор("Обработка.ПустаяФорма",, КонтПобора,1);
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()=1 Цикл
КонтПобора.Форма.ВыполнитьВыбор(Тз.Заявка);
КонецЦикла;
КонтПобора.Форма.Закрыть();

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

примечание: Обработка Пустаяформа все-таки мелькает, чтобы код работал на ней должен быть хотябы один элемент, например кнопка "ОК", модуль формы может быть пустым.
Оставьте свое сообщение