Имя: Пароль:
1C
1С v8
Автоматизированное заполнение табличной части
0 cube033
 
24.09.12
13:28
Добрый день. Пишу свою первую внешнюю обработку.
Конфигурация отраслевая из сферы ЖКХ.
Локальная задача - она же причина тупика:
Программно создаю документ, необходимо заполнить табличную часть.
На форме документа есть ПанельУправленияУслуги на ней кнопка-меню с именем "Заполнить", в ней пункт меню с тем же именем "Заполнить".
Варианты заполнения:
1. Программно наполнить каждую строчку данными - самый верный на мой взгляд способ, но невероятно сложный из-за составных данных в колонках и иерархией в 4 ступени внутри одного поля одной строки.
2. Нажать кнопку заполнить.
   2.1 Программное нажатие кнопки.
       Нигде не смог найти способ, как это сделать.
       Пробовал с помощью COMОбъект("WScript.Shell");  не смог поставить фокус на пункте меню. При обращении к элементам формы Панель еще можно найти, а меню на ней уже не находит.
   2.2 Можно открыть полученную форму и дать пользователю нажать на кнопку, тогда хромает автоматизация (это вариант на случай если сдамся, но ведь отгадка так близко))
3. Вызвать процедуру, ту же, что и нажатие кнопки заполнить.
3.1 Процедура требует параметра. При нажатие передаётся параметр "Кнопка", в модуле документа нигде не задается. У меня естесственно переменная "кнопка" не определена.
Можно искать переменную Глобально, но она так часто вызывается, что большая трата времени (тоже вариант)
3.2 Процедура бестолковая для моей ситуации ибо она просто проверяет отборы и вызывает ещё 3 функции
ЗаполнитьТабличнуюЧастьУслуги(Объект);
ЗаполнитьДеревоУслуг();
УстановитьВидимость();

Даже если разобраться - что является "объектом" и передать его - вторая функция вызывает ошибки.
Конфигурация на поддержке - экспорт функциям приписать нельзя.
Складывается ощущение, что при программном создании не все переменные инициализируются.
Пробовал открыть форму, выполнить функции, закрыть форму - не помогает.

В конце концов кажется проще всего программно нажать кнопку заполнить, знать бы как...
Не понимаю почему у двух объектов одинаковое имя "Заполнить".

Еще немного путаюсь с обращением к объектам:
Всегда считал
ЭлементыФормы. - обращение к свойствам
Объект. - обращение к данным
В моей версии никакого "Объект" нет.
1 Goggy
 
24.09.12
13:32
Вам, месье, лучше получить сначала хоть базовый опыт например на бесплатных видеоуроках, раз не интересно книжки читать.
Потому что судя из ваших рассуждений у вас он отсутствует...
2 WED
 
24.09.12
13:41
(0) У кнопки "Заполнить" есть событие (процедура), которое вызывается при её интерактивном нажатии. Программно вызываете эту процедуру, а еще лучше (если конфа грамотно написана), ту процедуру заполнения, что вызывается из процедуры нажатия кнопки.
3 WED
 
24.09.12
13:44
И объектом является тот документ, который открыт и в котором эта кнопка нажимается
4 dva1c
 
24.09.12
14:09
Согласен с (1).
(0)Почитай для начала... м-м... Посмотри для начала, какой-нибудь видеоурок.
5 cube033
 
24.09.12
14:14
WED, Собственно об этом пункт 3.1 и 3.2
Кнопка вызывает процедуру "КоманднаяПанельЗаполнить(Кнопка)"
3.1
Процедура КоманднаяПанельЗаполнить(Кнопка)    
   ..... ///Пропущена небольшая часть не принципиального кода
   Если Кнопка.Имя = "ЗаполнитьИспользоватьОтбор" Тогда
       Если мСписокОбъектов = Неопределено Тогда
           мСписокОбъектов = Новый СписокЗначений;
       Иначе
           мСписокОбъектов.Очистить();
       КонецЕсли;
       ДействиеЗаполнить(мСписокОбъектов);
       ЗаполнитьТабличнуюЧастьУслуги(мСписокОбъектов);
   Иначе
       ЗаполнитьТабличнуюЧастьУслуги(Объект);
   КонецЕсли;    
   ЗаполнитьДеревоУслуг();    
   УстановитьВидимость();    
КонецПроцедуры

Я не могу вызвать из своей обработки КоманднаяПанельЗаполнить процедуру с параметром (Кнопка), ибо у меня нет такой переменной. Фактически от этой переменной нужно только свойство ".Имя". я пробовал:

Кнопка = Новый Кнопка;
Кнопка.Имя = "ЗаполнитьИспользоватьОтбор";
форма.КоманднаяПанельЗаполнить(Кнопка);

Но ".Имя" не найдено и присвоение провалилось

3.2
Пробовал вызывать только:
форма.ЗаполнитьТабличнуюЧастьУслуги(Объект);
форма.ЗаполнитьДеревоУслуг();    
форма.УстановитьВидимость();

Но "ЗаполнитьДеревоУслуг();" не найдена


Goggy, это конечно да, но только в идеале. На практике я работаю внедренцом-консультантом, а программирую подпольно, пока начальство не сильно интересуется, что я делаю. Тут как раз цитата подходящая вывелась на страничке: "Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс, 1996 г."
А красный диплом программиста непристижного колледжа, позволяет мне пытаться сделать, что-нибудь полезное.
На данный момент создана форма размещены элементы, приспособлена под себя выборка данных донорской конфы, Создается, заполняется и проводится один документ, вот на втором документе пока тупик.
6 kosts
 
24.09.12
14:16
Если поступить в лоб то так

Процедура МоёЗаполнение()
   КоманднаяПанельЗаполнить(Неопределено);
КонецПроцедуры
7 Fish
 
24.09.12
14:17
(5) "А красный диплом программиста..." - почём купил диплом?
8 kosts
 
24.09.12
14:19
Очень долго будешь мучиться гадая со свойствами и методами.
Проще посмотреть хотя бы несколько бесплатных видео уроков и многое проясниться...
9 cube033
 
24.09.12
14:22
Fish - не надо издеваться, написано же НЕпристижного Колледжа. Там это не трудно и без денег.
Видеоуроки - вещь растяжимая, хотя бы направление нужно, ибо времени нет, а проблема мелкая.
10 kosts
 
24.09.12
14:24
(6) Не дочитал, если в другой обработке заполнение документа, то не так конечно...
11 Fish
 
24.09.12
14:25
(9) А я не издеваюсь. Просто после твоей фразы: "Я не могу вызвать из своей обработки КоманднаяПанельЗаполнить процедуру с параметром (Кнопка), ибо у меня нет такой переменной" - у меня возникли серьёзные сомнения, что ты вообще что-то понимаешь в программировании.
12 cube033
 
24.09.12
14:27
Сейчас поясню наглядней.
13 hhhh
 
24.09.12
14:33
(12) так попробуйте

Кнопка = Новый Структура("Имя", "ЗаполнитьИспользоватьОтбор");
14 cube033
 
24.09.12
14:37
15 cube033
 
24.09.12
14:39
16 cube033
 
24.09.12
14:42
http://kempilorama.ru/image/3.jpg

код донора
17 Fish
 
24.09.12
14:43
(16) А в вашем непрестижном колледже упоминали такое слово, как "Отладчик"?
18 snegovik
 
24.09.12
14:45
Чем именно ты хочешь заполнить табличную часть? Какими данными?
19 cube033
 
24.09.12
14:45
Там тихонько упоминали 1С, целых штук 10 практических занятий по методичке.
20 Fish
 
24.09.12
14:47
(19) Жуть :) В общем для тебя самый простой выход - это скопировать в свою обработку процедуры:
   ЗаполнитьТабличнуюЧастьУслуги(Объект);
   ЗаполнитьДеревоУслуг();    
   УстановитьВидимость();    

Необходимые параметры и переменные посмотреть в отладчике и прописать в своей обработке.
21 cube033
 
24.09.12
14:48
snegovik - речь о начислении ЖКХ-шных услуг. Подтягиваются данные о показаниях счетчика. В зависимости от превышений (или нет) норм, данные распределяютя (норма/сверхнормы) и умножаются на тариф. Данные почти все есть для ручного заполнения.
22 Fish
 
24.09.12
14:50
(19) И дело здесь не в 1С. Такой инструмент, как отладчик и как его использовать - должен знать любой программист ИМХО. А про то, как передавать параметры в процедуры и функции - тем более.
23 Шапокляк
 
24.09.12
14:53
(22) Да у товарища конфа на поддержке, а про создание внешних обработок заполнения табличных частей в методичках непрИстижного колледжа не написано, хотя и не факт, что конфа по ЖКХ поддерживает этот механизм.
24 snegovik
 
24.09.12
14:58
Что-то подобное делал, только забыл уже, как именно. Вроде сначала перебирал документы, как объекты, получал их форму, открывал форму программно, обращался к процедуре, которая производит заполнение. Затем записывал документ и закрывал форму.
25 cube033
 
24.09.12
15:03
Немного не о том речь, не хочу вступать в полемику о вечном. Но...
Шапокляк, Прошлый документ удачно создан и табличная часть его заполнена, документ проведен все счастливы. Новый документ чуть сложнее ввиду составной структуры полей табличной части, поэтому ищу обходные пути. Опыта мало, не спорю, но даже если я оставлю обработку как есть, она уже удобней, чем её отсутствие.
Fish, я так понимаю - Вас смутило одноименное название переменной "Кнопка" и параметра процедуры "Кнопка". Это было для удобства, но это не главное в проблеме. Если мы хотим передать переменную в качестве параметра - эта переменная должна подходить по типу, а такой переменной у меня нет.
26 cube033
 
24.09.12
15:04
snegovik - пытаюсь проделать ту же схему, но у меня большая проблема с синтаксисом и обращением к объектам в 1с. В итоге в следующем скрине мой неудачный код.
27 cube033
 
24.09.12
15:09
http://kempilorama.ru/image/4.jpg


{Форма.Форма.Форма(182)}: Метод объекта не обнаружен (КоманднаяПанельЗаполнить)
       Форм.КоманднаяПанельЗаполнить(Кнопка);
28 Торин
 
24.09.12
15:13
(5)если есть возможность изменить конфигурацию -- проставьте у процедуры ЗаполнитьДеревоУслуг()  свойство ЭКСПОРТ - и она будет находится.
если менять конфу нельзя - тогда как Вам советуют в (20) - скопируйте все эти три процедуры в свою обработку... Но тут может быть следующая проблема - возможно они используют другие функции/процедуры документа и их тоже придется копировать...
29 kosts
 
24.09.12
15:13
Перекопируй функцию КоманднаяПанельЗаполнить() с зависимыми функциями к себе в обработку и где есть обращение к свойствам документа подставляй "ДокументОбъект."
30 kosts
 
24.09.12
15:14
На форму вообще забей
31 kosts
 
24.09.12
15:17
Что бы не париться с передачей ДокументОбъект в процедуры, помести эту переменную на уровень модуля (т.е. в начало модуля).
32 cube033
 
24.09.12
15:18
По поводу сообщения 20

ЗаполнитьТабличнуюЧастьУслуги(Объект);
ЗаполнитьДеревоУслуг();    
УстановитьВидимость();    

В самом первом сообщении писал об этом - пункт 3.2 - результат:
{Форма.Форма.Форма(194)}: Метод объекта не обнаружен (ЗаполнитьДеревоУслуг)
       форм.ЗаполнитьДеревоУслуг();
33 Fish
 
24.09.12
15:20
(32) Да зачем тебе форма? ЦЕЛИКОМ копируешь эту процедуру в свою обработку, и вызываешь её как внутреннюю процедуру твоей обработки, а не формы документа.
34 cube033
 
24.09.12
15:20
Торин, конфигурация на поддержке. "возможно они используют другие функции/процедуры документа и их тоже придется копировать..." там всё слишком переплетено
35 cube033
 
24.09.12
15:21
Fish, тестирую
36 hhhh
 
24.09.12
15:22
(35) сам что ли не можешь посмотреть, где расположена процедура ЗаполнитьДеревоУслуг() ?? Что ты фигню на форум выкладываешь?
37 Торин
 
24.09.12
15:22
Простановка функции/процедуре свойства экспорт НЕ МЕНЯЕТ ее функционала, просто она становится доступна из внешнего кода...
Кстати, процедура УстановитьВидимость() Вам не нужна...
38 Fish
 
24.09.12
15:24
(37) Возможно, что и ЗаполнитьДеревоУслуг() тоже не нужна. Надо смотреть, что именно заполняется в этих процедурах.
39 cube033
 
24.09.12
15:25
Хотя нет не тестирую. Я конечно мало что понимаю. нет смысла копировать себе эту процедуру, ибо как написано в пункте 3.2 описания проблемы:
"Процедура бестолковая для моей ситуации ибо она просто проверяет отборы и вызывает ещё 3 функции"
Для данной ситуации добавлю - 3 локальных функции.
Сейчас как раз изучаю ЗаполнитьДерево..()
40 cube033
 
24.09.12
15:38
Дерево тоже не работает - много на что ссылается.
В модуле данного документа 89 взаимосвязанных процедур и функций - выдирать их по одной смысла нет.
Либо бороться с иерархическим добавлением строк в табличную часть с распределением (норма/сверхнормы), либо нажимать кнопку программно.
41 Торин
 
24.09.12
15:49
(40) Нет такого понятия -- "нажать кнопку программно". Правильно сформулированная проблема звучит так - "получить контекст модуля документа". Вам необходимо чтобы эти три функции/процедуры выполнялись не в контексте Вашей обработки, а в контексте модуля документа...
К сожалению, ЕДИНСТВЕННЫЙ способ это сделать -- это сделать так, чтобы все необходимые Вам функции/процедуры имели свойство Экспорт
42 cube033
 
24.09.12
15:53
"сам что ли не можешь посмотреть, где расположена процедура ЗаполнитьДеревоУслуг() ?? Что ты фигню на форум выкладываешь?" hhhh, читайте внимательней.
43 cube033
 
24.09.12
15:57
"К сожалению, ЕДИНСТВЕННЫЙ способ это сделать -- это сделать так, чтобы все необходимые Вам функции/процедуры имели свойство Экспорт" - к сожалению - это не приемлимо.
"получить контекст модуля документа" - я вот как раз надеялся что для этого достаточно получить его форму. Ошибался..
44 snegovik
 
24.09.12
17:49
(41) Да ну, я программно открывал форму, запускал процедуру, висящую на кнопке, и накакого Экспорта не добавлял. Только вот хоть убей, забыл как делал)
45 hhhh
 
24.09.12
17:59
(44) видимо это

Форма (Form)
ПодключитьОбработчикОжидания (AttachIdleHandler)
Синтаксис:

ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>)
Параметры:

<ИмяПроцедуры> (обязательный)

Тип: Строка.
Имя процедуры, подключаемой в качестве обработчика ожидания.
<Интервал> (обязательный)

Тип: Число.
Интервал времени в секундах с точностью до 1/10 секунды, через который будет осуществляться вызов процедуры (положительное число).
Если указано значение меньше 1, то значение третьего параметра должно быть равно Истина.
<Однократно> (необязательный)

Тип: Булево.
Признак однократного выполнения обработчика ожидания.
Истина - указанный обработчик ожидания будет выполнен один раз.
Значение по умолчанию: Ложь
Описание:

Подключает указанную процедуру в качестве обработчика ожидания. Процедура будет вызываться в период ожидания системы каждый раз по истечению указанного интервала времени.
46 snegovik
 
24.09.12
20:27
(45) Вспомнил: Открывал программно форму, делал в процедуре ПриОткрытии() в форме запуск нужной процедуры, висящей на кнопке. Потом, после завершения процедуры, записывал документ и закрывал форму.
47 kosts
 
25.09.12
06:20
Можно попробовать в качестве эксперимента.
Создаем новую форму в обработке. Но меняем тип формы на ДокументОбъект.МойДокумент.
Полностью копируем форму и процедуры документа в эту новую форму.
Теперь эта форма как бы форма документа. Далее делаем с ней что хотим (если получится)...
Делаем как в (46).

Работа с формой такая.
В форме обработки создаем нашу форму документа, заполняем необходимыми данными и затем открываем.
В процедуре ПриОткрытии() делается заполнение, и форма сразу же закрывается.

Но это в теории, но можно попробовать
48 cube033
 
25.09.12
06:20
snegovik, "Открывал программно форму" - видимо речь о форме, на которой находиться кнопка. В этом случае "делал в процедуре ПриОткрытии() в форме запуск нужной процедуры, висящей на кнопке" - требует изменения этой самой формы, в моем случае - не вариант.
49 cube033
 
25.09.12
06:23
kosts, классно, сейчас попробую)
50 kosts
 
25.09.12
07:18
+ к (47) можно просто форму документа скопировать в свою обработку
51 kosts
 
25.09.12
07:19
Функции "модуля документа" тоже скопируй в "модуль формы документа"
52 kosts
 
25.09.12
07:25
+ к (47) Заполнить документ возможно получиться через
Форма.ДокументОбъект.НужныйРеквизит = ...;

экспериментируй...
53 cube033
 
25.09.12
07:25
Создал новую форму моей обработки, создал все реквизиты идентичные документу донора, включил реквизиты в форму. Скопировал весь код в модуль моей новой формы.

Список ошибок слишком большой, чтобы засорять форум. В итоге:
Переменная не определена (Ссылка),(Услуги),(ДеревоПоПоказаниямПУ),(ДеревоУслуг),(Дата),(мСписокЛСОбъекта),(УслугиПоПоказаниямПУ),(Номер)

Процедура или функция с указанным именем не определена (ВсегоДнейВМесяце),(ПолучитьСписокЛСОбъекта),(ПересчитатьСуммуСтрокиТЧ),(ПересчитатьСуммуСтрокиТЧ),(ПересчитатьСуммуСтрокиТЧ),(ЭтоНовый),(УстановитьВремя),(ЗаполнитьТабличнуюЧастьУслуги),(УстановитьДоговорВладельцаПарковочногоМеста),(РассчитатьПоказания)

Опять мешает мое непонимание предмета. Весь код модуля скопирован, соответственно переменные и продедуры/функции, отсутствующие в модуле должны быть глобальнымы...
Не скопированы пока элементы формы - тоже проблема, код к ним обращается.
54 cube033
 
25.09.12
07:26
Блин, упустил пару моментов...
55 kosts
 
25.09.12
07:27
(53) Просто скопируй целиком форму документа.
56 Мимохожий Однако
 
25.09.12
07:47
(0)Как точно называется конфигурация?
57 cube033
 
25.09.12
07:48
Скопировал. Думаю - что теперь с ней делать. Мне в итоге нужно создать новый документ и заполнить ЕГО данными, свою скопированную форму я смогу наполнить необходимыми данными, а дальше.
58 cube033
 
25.09.12
07:48
"Учет в управляющих компаниях ЖКХ, ТСЖ и ЖСК" ВДГБ
59 cube033
 
25.09.12
07:49
Вот это пока не понял: "Создаем новую форму в обработке. Но меняем тип формы на ДокументОбъект.МойДокумент. "
60 Мимохожий Однако
 
25.09.12
07:51
Как называется документ, который заполняешь? Как называется табличная часть? Есть ли в конфигурации документы, у которых уже есть обработка заполнения табличной части?
61 cube033
 
25.09.12
07:51
У формы есть "Тип значения" он в скопированной форме равен "ДокументОбъект.КВП_НачислениеУслуг", а то есть мой документ
62 cube033
 
25.09.12
07:52
Документ КВП_НачислениеУслуг
63 kosts
 
25.09.12
07:52
(59) Ты это уже сделал просто скопировав форму.
64 cube033
 
25.09.12
07:52
ТЧ УслугиПоПоказаниямПУ
65 kosts
 
25.09.12
07:55
(57) >Скопировал. Думаю - что теперь с ней делать. Мне в итоге нужно создать новый документ и заполнить ЕГО данными, свою скопированную форму я смогу наполнить необходимыми данными, а дальше.

Теперь сделай то ради чего все копировали, измени процедуру при открытии на:

Процедура ПриОткрытии ()

// стары код

   ВызовпроцедурыЗаполнения(Панель.Кнопки.МояКнопка);
   Закрыть();
КонецПроцедуры

как то так...
66 Мимохожий Однако
 
25.09.12
07:55
Открой ИТС и набери в поиске "внешняя обработка заполнения табличной части".
67 kosts
 
25.09.12
07:56
(66) Он так не хочет делать, хочет через форму.
68 Мимохожий Однако
 
25.09.12
07:58
(67) Будет два тоннеля )))
69 Мимохожий Однако
 
25.09.12
07:58
(64) Покажи структуру табличной части.
70 cube033
 
25.09.12
07:58
kosts, это я уже сделал
Но в любом случае - я создаю документ, он у меня есть в переменной
Как открыв мою форму - объяснить ей, что речь идет о конкретном документе.
Я заполню форму, получу данные, но их надо поместить в форму документа, ибо документ должен быть сохранен и наполнен данными
71 cube033
 
25.09.12
08:02
http://kempilorama.ru/image/5.jpg  Структура ТЧ
72 dsdred
 
25.09.12
08:07
Толи я спросони толи неувидел.
Немогу понять какими данными автор хочет заполнить.
Данные от куда брать при нажатии на клавишу Заполнить? Тоесть в каком они виде?

П.С. Видел я тех кто на красные дипломы шел. Ну неставьте тройку я на красный диплом иду и чуть не слезы (а иногда и слезы), аж противно было с ними учится.
73 dsdred
 
25.09.12
08:11
ДокОбъект = Ссылка.ПолучитьОбъект();
ТЗ=ДокОбъект.ТаблицаДанных;

Ну и через цикл заполнить, или какойто другой метод нужен?
П.С.Просто еще непроснулся
74 kosts
 
25.09.12
08:12
(70) > "о конкретном документе"

Зачем процедурам заполнения знать что речь идет о конкретном документе. Или там используется ссылка на записанный документ?
75 cube033
 
25.09.12
08:12
dsdred, ни разу не выпрашивал оценки - принципиально. Иногда договаривался с преподавателями, не спорю. Кому интересно, или кто любит без разбора говорить неуважительно/нелицеприятные вещи не по делу - могу обширно объяснить всю специфичность в ситуации с моим колледжом, институтом итд... Но ввиду никомунеинтересности данного вопроса, флудить не буду, просто попрошу не провацировать меня на флуд, лишним высказываниями.
76 cube033
 
25.09.12
08:17
kosts, в итоге нужно получить документ, заполненный данными, поэтому нужна ссылка на документ.

Попробую скопировать данные табличной части моей формы в ТЧ целевого документа.
77 dsdred
 
25.09.12
08:17
(70) А если вновь созданный документ записать и взять ссылку вновь записанного а потом по ссылке передать данные?
78 cube033
 
25.09.12
08:17
Так и делаю
79 cube033
 
25.09.12
08:18
Скрин кода обработки в 27 сообщении
80 Мимохожий Однако
 
25.09.12
08:26
(76)Добавь в свою обработку реквизит с типом Ссылка для документа КВП_НачислениеУслуг.
...
Если будешь идти по стандартному пути подключаемой обработки ТЧ.То посмотри:
Для обработок заполнения ТЧ необходимо указывать внешнюю обработку (файл на диске, с расширением epf), список объектов и их ТЧ, для которых необходимо использовать данную обработку.

В типовых конфигурациях объектами,  использующими данный механизм, являются все документы, содержащие хоть одну табличную часть.

Перед открытием формы объекта в командных панелях табличных полей (источником данных для которых является табличная часть объекта), которым соответствуют определенные строки  в справочнике ВПФО, программно добавляются пункты в подменю "Заполнить" (если подменю "Заполнить" отсутствует на командной панели, оно создается).

При нажатии на созданную перед открытием кнопку подменю "Заполнить" происходит сохранение соответствующей обработки на диск во временный файл,  для сохраненной внешней обработки вызывается процедура:
Копировать в буфер обмена

Инициализировать (Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта)

где:

   Объект – ДокументОбъект, СправочникОбъект. Откуда был произведен вызов процедуры заполнения внешней обработки;
   ИмяТабличнойЧасти  – Строка. Имя табличной части, для которой вызвана обработка;
   ТабличноеПолеОбъекта  – Элемент формы: Табличное поле. Табличное поле формы, для которого вызвана обработка.

Наличие экспортной процедуры "Инициализировать()"  в модуле объекта обработки с видом "Заполнение табличных частей" обязательно. В теле данной процедуры должен располагаться программный код, заполняющий табличную часть в соответствии с назначением обработки.

Обработка так же может иметь в своем составе макет "Параметры_Авторегистрации",  используемый для автоматического заполнения принадлежности печатной формы в справочнике "Внешние обработки". Макет должен состоять из 2-х колонок – "полное имя объекта" и "имя табличной части".
81 cube033
 
25.09.12
08:36
Уперся в проблему - как обратиться к другой форме внешней обработки.
Вариант сначала обратиться к внешней обработке не нравится - ибо путь.
82 kosts
 
25.09.12
08:40
(81)

Форма=ЭтотОбъект.ПолучитьФорму("Руководители");
83 Мимохожий Однако
 
25.09.12
08:45
(81) ИМХО. Через формы - левой рукой правое ухо через спину. Стандартный путь многократно короче.
84 cw014
 
25.09.12
08:48
Подскажи имя кнопки, нажатие которой ты хочешь эмулировать?
85 Мимохожий Однако
 
25.09.12
08:54
(84) в первом сообщении:
"На форме документа есть ПанельУправленияУслуги на ней кнопка-меню с именем "Заполнить", в ней пункт меню с тем же именем "Заполнить". " )))
86 cube033
 
25.09.12
09:01
Чего то мозг вскипает - посыпались ошибки в тех местах где всё работало - "НовыйДокумент.Дата = ТекущаяДата();"  "Значение не является значением объектного типа (Дата)" Всё настолько вроде просто... Не понимаю...
МимохожийОднако, какой пункт считается стандартным?
87 cube033
 
25.09.12
09:02
Подключение внешней обработки ТЧ?
88 Мимохожий Однако
 
25.09.12
09:02
(87)ИМХО. Да.
89 Мимохожий Однако
 
25.09.12
09:03
(86)Попробуй РабочаяДата
90 cube033
 
25.09.12
09:07
С датой проблема глубже зарыта. В утренней копии обработки тот же код работает, с тех пор добавилась новая форма, куча рекыизитов и еще одно использование текущей даты.
91 Мимохожий Однако
 
25.09.12
09:09
Отложи в сторонку первый тоннель и начни рыть второй, стандартный.
92 cw014
 
25.09.12
09:16
(85) Не факт что свойство "Имя" у кнопки является "Заполнить". Это может быть заголовок, а вот имя может быть тот замысловатый "ЗаполнитьИспользоватьОтбор"
93 cube033
 
25.09.12
09:16
Обработку ищу пока, а в чем её суть? Откуда она берет данные?
94 Fish
 
25.09.12
09:16
Похоже, задача явно непосильная для программиста с красным дипломом. :)
95 cube033
 
25.09.12
09:17
http://kempilorama.ru/image/1.jpg Вот на Этом скрине про Имя
96 Мимохожий Однако
 
25.09.12
09:19
(92) см (95) )))
97 cw014
 
25.09.12
09:21
(95) ЗаполнитьТабличнуюЧастьУслуги - процедура в модуле формы, объекта или менеджера?
98 cube033
 
25.09.12
10:19
Модуль менеджера этого документа пуст
99 cube033
 
25.09.12
10:40
"Похоже, задача явно непосильная для программиста с красным дипломом. :)" и без опыта работы программистом, и вообще не работающего по специальности, особенно для первого практического применения встроенного языка 1С...
100 cube033
 
25.09.12
14:25
Обработка почти готова)
http://kempilorama.ru/image/6.jpg
Решено заставлять пользователя нажимать кнопку открывающегося документа. Заодно дополнительный контроль за правильностью начислений.