Имя: Пароль:
1C
1C 7.7
v7: не заполняется ТЧ документа через внешнюю обработку
, ,
0 mpbakunov
 
06.12.11
23:05
в документе РН вызывается внешняя обработка, которая из xls файла заполняет ТЧ документа. Обработке передается Контекст документа

Процедура ЗапонитьПоЗаявке()
   ОткрытьФорму("Отчет",Контекст,"D:\1C\MEGA\Обработки\Заполнение РН на основании заявки.ert");            
КонецПроцедуры // ЗапонитьПоЗаявке


в обоаботке переменной Док присваивается переданный параметр

док=Форма.Параметр;

далее идет обработка xls таблицы, нахождение нужного ТМЦ и заполнение ТЧ документа РН

код заполнения

док.новаяСтрока();
док.Товар=спрТМЦ.ТекущийЭлемент();
док.Кво=кво;

вот эти 3 строки выполняются и вижу через отладчик что и товар и Кво имеют значения, НО ТЧ документа не заполняется! Что я делаю не правильно?
41 Злопчинский
 
07.12.11
00:07
Если ФС.СуществуетФайл(ИмяФайла) = 0 Тогда
- поставить самым первым оператором
42 mpbakunov
 
07.12.11
00:09
(39) да это я уже пробовал всякое. согласен! изначально была одна строка.
43 Злопчинский
 
07.12.11
00:10
если реквизит артикул - с галкой "сортировка"
используй вместо цикла в цикле
Спр.НайтиПоРеквизиту() - юудет быстрее раз в 10...
.
Господи, забери леди гагу, тимати, бритни спирс, токио отель, да хоть всех сразу и верни нам фредди меркури.
44 mpbakunov
 
07.12.11
00:11
(43) Артикул - Периодический
45 andrewks
 
07.12.11
00:11
(43) лучше Кобейна
46 mpbakunov
 
07.12.11
00:12
(43) Спр.НайтиПоРеквизиту() - не покатит
47 mpbakunov
 
07.12.11
00:12
(45) Поддерживаю!
48 Tonik
 
07.12.11
00:12
(41) ну и где ты это вычитал? в (28) я писал, что документ открывает пользователь.
и что надо в (0) я прекрасно понял. у меня именно таки и реализованно. товар добавляется в открытый пользователем не записанный документ. никаких СоздатьОбъект нету
49 Злопчинский
 
07.12.11
00:13
(44) Артикул..? Периодический..? это сильное колдунство!
50 Tonik
 
07.12.11
00:14
(36) а вызов Сформировать где?
51 mpbakunov
 
07.12.11
00:14
(49) это артикул - код Покупателя ТМЦ в его ИБ его нет в типовойЮ он периодический потому что может изменится у покупателя
52 mpbakunov
 
07.12.11
00:14
(50) в обработке
53 Злопчинский
 
07.12.11
00:14
(48) ну ничего.. ничего...
54 andrewks
 
07.12.11
00:15
(48) хорош уже свистеть-то.
55 Tonik
 
07.12.11
00:15
(54) на спор?
56 Tonik
 
07.12.11
00:16
(54) на коньячок?
57 mpbakunov
 
07.12.11
00:17
Ладно, народ! Спасибо за помощь! Все заработало! И кому то еще помогу коньячок выспорить! :)
58 andrewks
 
07.12.11
00:19
(55) давай. и вопли потом, что ты перепутал добавление/удаление строк ТЧ с изменением строк ТЧ не кидай. ты несколько раз повторил, что всё понял
59 Дядя Васька
 
07.12.11
00:20
(55) Вот дятел упертый. Создай пустую конфу без ВК, с одним справочником, документом и обработкой которая создаст этот документ описанным способом. Кидай сюда. Если получится - снимаем шляпу. Только нифига у тебя не получится.
60 Tonik
 
07.12.11
00:23
(58) итак есть конфа. в ней 1 документ у него ТЧ. один справочник.
по клику из открытого и еще не записанного пользователем документа вызывается внешняя обработка, в нее передан контекст этого документа. она добавит несколько строк в этот документ, закроется, пользователь увидит свой не записанный документ с новыми строками.
никакие ВК не использовать.
я правильно все изложил?
ставка 0.7 Henessy VSOP.
(59) сам дятел
61 Дядя Васька
 
07.12.11
00:25
(60) Ну как вариант. Вообще не совсем так: есть обработка, нажимаешь на кнопку, открывается форма нового дока с заполненной ТЧ, док не записан. Впрочем по твоей версии тоже ничего не выйдет.
62 Tonik
 
07.12.11
00:26
(61) ты ставочку-то поддерживаешь?
63 Дядя Васька
 
07.12.11
00:27
(62) Если сделаешь как в (61) то удваиваю :)
64 Дядя Васька
 
07.12.11
00:28
+(63) (60) я думаю тоже не получится, но с этой стороны не проверял, (61) не получится точно.
65 andrewks
 
07.12.11
00:29
(60) уточни релиз платформы, а также - не собираешься ли из этой обработочки открывать форму дока
66 Tonik
 
07.12.11
00:30
(63) так не делал, врать не буду. может и не заработает.
(65) 7.70.027. обработка только заполнит ТЧ
67 Дядя Васька
 
07.12.11
00:31
(65) Думаю это непринципиально. Если документ не записан, через контекст он ТЧ не заполнит. Если не работает на 27-м, вряд ли заработает на более древнем. Попал он на пиво при любых условиях задачи :)
68 Tonik
 
07.12.11
00:32
(67) т.е. ставку ты ставишь?
69 Дядя Васька
 
07.12.11
00:32
(66) Ждем мд :)
70 Дядя Васька
 
07.12.11
00:32
(68) Да легко )
71 Дядя Васька
 
07.12.11
00:33
+(70) Единственное условие - документ именно не записан. Записать, а потом Удалить(1) не считается.
72 Tonik
 
07.12.11
00:34
(70) принято. завтра к 12-13 часам. щас пока поработать надо.
73 Tonik
 
07.12.11
00:34
(71) естественно.
74 Дядя Васька
 
07.12.11
00:35
(72) Надеешься что утонет? Тут кнопка есть - темы с моим участием :)
75 Tonik
 
07.12.11
00:37
(74) нет. мне стыднее сбежать, чем признать поражение.
а щас просто надо доделать, а то клиент ноет
76 Дядя Васька
 
07.12.11
00:39
(75) ну лады... В обед правда у клиента буду, возможно и не до мисты будет. Но вечерком загляну.
77 andrewks
 
07.12.11
00:49
(66) ты слишком шикарно поставил на такой безвыигрышный лот. если сделаешь - вышлю тебе на арарат 0,5 и выскажу мегареспект. если проиграешь - удовлетворюсь публичным посыпанием пепла типа "ах, я такой-сякой дятел, не слушал, а мне ведь говорили. беру свои слова обратно"
78 GreyK
 
07.12.11
01:07
(0) Вставляешь во внешнюю печатную форму, проверяешь и убеждаешься, что для этой задачи формекс не нужен :)

//******************************************************************************
// Печать(Докум)
//
// Параметры:
//  Нет
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//
Процедура Печать(Докум, Устройство=0, КолвоКопий=1)
   Перем НачПовт, КонПовт;
   
   //Бла,бла,бла
   
   КоличествоПользователейФормексаВНенужнуыхМестах = 9999;
   Для Сч = 1 По КоличествоПользователейФормексаВНенужнуыхМестах Цикл
       Докум.НоваяСтрока();
   КонецЦикла;
   
КонецПроцедуры // Печать()
79 Злопчинский
 
07.12.11
01:10
(78) а где присовение какого-нить реквизита...?
80 GreyK
 
07.12.11
01:13
(79) Совсем обленился? Ну можешь в количество (если оно есть в тч) загнать количество любителей ВК на форуме :)
81 GreyK
 
07.12.11
01:24
(0) Если конфа типовая, тогда меняем:
ОткрытьФорму("Отчет",Контекст,"D:\1C\MEGA\Обработки\Заполнение РН на основании заявки.ert");            
на :
ОткрытьФорму("Отчет",глВзятьКонтекст(Контекст),"D:\1C\MEGA\Обработки\Заполнение РН на основании заявки.ert");
82 Злопчинский
 
07.12.11
03:27
(81) неа.. не получается...
83 Злопчинский
 
07.12.11
03:40
тестовый набор: вперед!
http://zalil.ru/32215890
84 Дядя Васька
 
07.12.11
03:49
(83) На windows 7 кстати работает...
85 Дядя Васька
 
07.12.11
03:52
+(84) Ажно ради интересу на виртуалку 2003 стал ставить. На вынь 7 если сидишь в форме дока, т.е. как в сабже, работает на заведомо пустой конфе, с одним доком. Если новый док делать через ОткрытьФорму() как в (61) описал, не работает, что в общем неудивительно.
86 Дядя Васька
 
07.12.11
03:56
Хотя не, гоню, в твоей версии не работает. Вот, лови: http://zalil.ru/32215906
87 Злопчинский
 
07.12.11
04:10
(86) так не прокатит ;-)
сделай чтобы форма обработки открылась, и пользователь интерактивно в открытой форме поработал...
88 Дядя Васька
 
07.12.11
04:14
(87) Вон оно чо Михалыч... Ну тогда получается что с Tonik'ом у нас боевая ничья :)
89 Злопчинский
 
07.12.11
04:18
(88) нифига. финт со статусом возврата - это не полноценная работа внешней формы;
вариант-то из 87 - не работает...
условий на вариант использования внешней обработки не было наложено; итого: испытываем в общем случае; товой вариант - узкий частный случай...
90 Злопчинский
 
07.12.11
04:20
со статусом возрата работает видимо потому, что до тех пор, пока не отработала ПриОткрытии - в параметре сохраняется контекст. а как только форма полноценно открылась - все пипец.. - почитай что возвращает ОткрытьФорму в переданном параметере...
91 Дядя Васька
 
07.12.11
04:20
(89) Ну я о чем и говорю. Т.е. теоретически без ВК заполнить можно, практически к сабжу неприменимо, так как там еще загрузка из файла идет, соответственно в обработке как минимум это самый файл выбрать надо, и ПриОткрытии() не катит.
92 Дядя Васька
 
07.12.11
04:22
(90) Внутри обработки в нем все еще контекст. Но кривенько.
93 GreyK
 
07.12.11
04:35
(67) А так работает и с открытой формой :)
//======================================================================
Процедура кнЗаполнить()
   ОткрытьФормуМодально("Отчет",глВзятьКонтекст(Контекст),КаталогИБ()+"ExtForms\ЗаполнитьТЧбезИзвратов.ert");
КонецПроцедуры // кнЗаполнить
94 GreyK
 
07.12.11
04:35
(93) > (87)
95 Дядя Васька
 
07.12.11
04:46
(93) Не работает.
96 Дядя Васька
 
07.12.11
04:47
+(95) В (83) как раз этот вариант.
97 GreyK
 
07.12.11
05:21
(95) В (83) немодально.
98 GreyK
 
07.12.11
06:28
Ещё можно вот так:

Перем КонтекстДокумента;

//*******************************************
Процедура кнСформировать()
   Перем Конт;
   
   Спр = СоздатьОбъект("Справочник.Нечто");
   Если Спр.Выбрать(" выбери Нечто",)=0
   Тогда
       Возврат;
   КонецЕсли;

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

//======================================================================
Процедура ПриОткрытии()
   КонтекстДокумента = Форма.Параметр;
КонецПроцедуры // ПриОткрытии

В документе обрабатываем подбор.
99 Песец
 
07.12.11
07:19
(0) Во внешней обработке:
Процедура ПриОткрытии()
ддд=глВзятьКонтекст(Контекст);
ОткрытьФормуМодально("Отчет",ддд,КаталогИБ()+"ExtForms\ЫшшоОднаФорма.ert");
Докум   =  Форма.Параметр.Получить("Контекст");
Докум.НоваяСтрока();
Докум.РеквизитСтроки = ддд;
Статусвозврата(0);
Возврат;
КонецПроцедуры // ПриОткрытии()

ЫшшоОднаФорма.ert

Процедура Сформировать()
Форма.Параметр=ддд;//ддд реквизит формы для интерактивной работы
КонецПроцедуры
100 KRV
 
07.12.11
07:23
! сто! (а тема о чем?)
101 ksupalo
 
07.12.11
07:28
Используй стандартный механизм Обработка заполнения ТЧ - -там передается Объект и его ТЧ - его и заполняем

В HELP все подробно есть.
102 Mikeware
 
07.12.11
07:31
(100) как всегда, о соотношении радиусов, и дефектах длинной полимерной молекулы...
103 GreyK
 
07.12.11
07:41
(102) Так и запишем, ты не участвуешь в распитии коньяка из спора в (56)-(58)
104 Mikeware
 
07.12.11
07:44
(103) ок. Вообще предпочитаю не пить :-)
105 Песец
 
07.12.11
07:46
(103) Дык, это... (99) соответствует требованиям (60) или как?
106 Песец
 
07.12.11
07:49
(105)+ ...и/или (71)
107 Tonik
 
07.12.11
09:55
каюсь, обманул, у меня, в конечном счете, модально открывается форма. точнее первая обработка открывает вторую модально. но это не так важно.

есть 2 варианта:
1. открыть форму модально. это не противоречит, а скорее, наоборот приветствуется в (0).
2. все делать в процедуре ПриОткрытии внешней формы. например так


Перем Док;

Процедура ЗагрузитьИзФайла()
   ИмяФ = "";
   ФС.ВыбратьФайл(0, ИмяФ,,,);
   Сообщить("Буду грузить товар из " + ИмяФ);
   СпрТов = СоздатьОбъект("Справочник.Номенклатура");
   
   Док.НоваяСтрока();
   СпрТов.НайтиПоКоду(1);
   Док.Товар = СпрТов.ТекущийЭлемент();
   Док.НоваяСтрока();
   СпрТов.НайтиПоКоду(2);
   Док.Товар = СпрТов.ТекущийЭлемент();
КонецПроцедуры


Процедура ПриОткрытии()
   Док = Форма.Параметр.Получить("Док");
   ЗагрузитьИзФайла();
   Форма.Закрыть();
КонецПроцедуры

пример http://zalil.ru/32216303
108 Ёпрст
 
07.12.11
09:58
(107)Короче, коньяк проср@л.
109 Mans
 
07.12.11
10:07
(107) да, коньяк те еще рано, начинай с тоника
110 Tonik
 
07.12.11
10:09
(108) с фига ли? работает, ровно так, как требовалось в (0) и в (60)
111 Ёпрст
 
07.12.11
10:21
(110) Читай вниматочно - требовалось заполнение табличной части документа через контекст открытой формы, НЕ МОДАЛЬНО и БЕЗ передачи параметра в открываемую форму документа, просто через контекст.
Так что раз проср@Л, не будь тряпкой - отдай долг.
112 Tonik
 
07.12.11
10:25
(111) где условие про модальность?
и что в твоем понимании "просто через контекст"? просто передаем контекст во внешнюю форму.
если имеется в виду это "ОткрытьФорму("Отчет",Контекст...", то у меня ровно так и сделано. а передача контекста через список значений это для удобства, если убрать список, то ничего не изменится
113 Mans
 
07.12.11
10:25
один черт (0) конфу правит, можно попробовать:
ТупоЖдем=глМегаУниверсальныйЧитательЕхеля(Контекст,..........................);
114 Ёпрст
 
07.12.11
10:28
(112)Ладно, будем считать тебя тряпочкой.
А так, читай ветку с начала.
115 GreyK
 
07.12.11
11:07
(114) Смею заметить что решение (61) через подбор (ограничения на подбор нет) показанно в (98).
Т.к. по заявлению в (61) профит удваивается, то я расчитываю на бутылочку каньяка :)
116 GreyK
 
07.12.11
11:19
+(114) В условиях задания не указано, что форма обязательно должна быть открыта, там сказано про "некое действие".
Т.к. этот код:

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

добавляет строки в контекст, то спор выигран!
117 GreyK
 
07.12.11
11:21
(116) +(115)
118 Ёпрст
 
07.12.11
11:23
Ёпта.. через правку документа можно сделать х-вой тучей способов.
Речь была за создание строк через контекст открытой формы.

Так что, спор проср@н.
119 Mikeware
 
07.12.11
11:28
(118) учись выкручиваться, как проср@вшие :-))
120 GreyK
 
07.12.11
11:34
(118) Притензии не принимаются :)
Во первых: в типовых обычно всегда есть ОбработкаПодбора() и тогда (98) прокатывает:
//*******************************************
Процедура Сформировать(КакиеТоДанные)
   Перем Конт;
   ОткрытьФорму("Документ.Учет",Конт,);
   КонтекстДокумента.ОткрытьПодбор("Обработка.КакаяТоСуществующаяВстроеннаяОбработка",,КонтОбработки,,);
   КонтОбработки.Форма.ВыполнитьВыбор(КакиеТоДанные);
   КонтОбработки.Форма.Закрыть();
КонецПроцедуры

Во вторых: в (0) документ самопальный, можно писать хоть что.
В третих: в типовых есть дополнительные печатные формы, т.ч. можно сделать заполнение ничего недописывая.
121 Tonik
 
07.12.11
11:50
(119) +1
(120)
могу только чуть-чуть подправить.

во внешней обработке

Процедура Сформировать()
   Конт2="";
   Док.ОткрытьПодбор("Справочник.Номенклатура",,Конт2,,);
   Конт2.Форма.ВыполнитьВыбор("");
   Док.ПолучитьСтрокуПоНомеру(Док.КоличествоСтрок());

   Док.Форма.Обновить();
   Конт2.Форма.Закрыть();
КонецПроцедуры

ну а саму внешнюю обработку открываем  через ОткрытьФорму("Отчет",Контекст
122 andrewks
 
07.12.11
16:23
чё-то я совсем запутался, кто кому проср@л.
мудрый all, рассуди

вариант с подбором интересен, но не соответствует условиям спора.
отсутствие модальности было оговорено в не заполняется ТЧ документа через внешнюю обработку , подразумевалось при споре, но прямо в посте со спором не указано. у меня двойственные чувства, взываю к коллективному разуму
123 orefkov
 
07.12.11
17:32
(122)
Тут два варианта - либо использовать ВК (formex точно, turbobl, 1C++ - вроде тоже помогают)
Либо извращаться с повторным открытием, но тогда док должен сам уметь заполняться, что не совсем точно соответствует чистой задаче.
124 Tonik
 
07.12.11
17:53
(123) чистая задача: внешняя обработка должна заполнить документ.
про модальность или наличие интерфейса пользователя у этой обработки в задаче нет ни слова.
125 Песец
 
07.12.11
18:59
(122) В каких буквах какого поста "отсутствие модальности было оговорено" или "подразумевалось при споре"?

  Tonik
60 - 07.12.11 - 00:23 (58) итак есть конфа. в ней 1 документ у него ТЧ. один справочник.
по клику из открытого и еще не записанного пользователем документа вызывается внешняя обработка, в нее передан контекст этого документа. она добавит несколько строк в этот документ, закроется, пользователь увидит свой не записанный документ с новыми строками.
никакие ВК не использовать.
я правильно все изложил?
ставка 0.7 Henessy VSOP.

  Дядя Васька
61 - 07.12.11 - 00:25 (60) Ну как вариант. Вообще не совсем так: есть обработка, нажимаешь на кнопку, открывается форма нового дока с заполненной ТЧ, док не записан. Впрочем по твоей версии тоже ничего не выйдет.

  Tonik
62 - 07.12.11 - 00:26 (61) ты ставочку-то поддерживаешь?

  Дядя Васька
63 - 07.12.11 - 00:27 (62) Если сделаешь как в (61) то удваиваю :)

За 0,7 предложено несколько решений, путем вызова из первой обработки из ПриОткрытии() второй модальной обработки можно не менять конфу, задействовав механизм внешних печатных форм.
126 Злопчинский
 
07.12.11
20:01
Внешняя форма должна представлять полную функциональность общения с конфигурацией - любые действия пользователь может выполнить из обработки - окрыть по кнопкам разные что надо, заполнить на форме обработки любые принадлежащие обработкке реквизиты, в т.ч запполнить табличную часть нового незаписанного документа. все остальное - это сушественное ограничение функциональности внешней обработки и не может быть признано как удовлетворяющей задаче. Исполнители хитрят, пользуясь тем что полностью условия не обговорены были или обговорены туманно - и реализуют мелкий частный работающий вариант с ограниченной функциональностью, хотя имхо - если не оговорены граничные условия - задача д.б. решена на поле общих (т.е. максимально возможных требований/возможностей).
127 Злопчинский
 
07.12.11
20:03
(99)
Во внешней обработке:
Процедура ПриОткрытии()
ддд=глВзятьКонтекст(Контекст);
.
Контекст - это что?
.
128 Злопчинский
 
07.12.11
20:03
Присоединяюсь к (111) - Тоник слил.
129 Tonik
 
07.12.11
20:31
(126) 1 - модально. 2 - через подбор. никаких ограничений.
ни логике, ни условиям это не противоречит.
130 andrewks
 
07.12.11
22:28
(125) читай ветку сначала - с зарождения спора, с 22-го поста. там про модальность как раз и обсасывалось.
в 60-м посте это прямо не указано - да, косяк. один забыл, второй проморгал. но контекст разговора очевиден.

но в ветке промелькнуло решение, которое удовлетворяет контексту спора - оно в (86).
ведь ничто не мешает воткнуть в ПриОткрытии()  ФС.ВыбратьФайл(), а обязательность выбора файла именно кнопкой с морды обработки не была заявлена.

посему готов выслать Дяде Ваське на телефон денежный эквивалент арарата :)
131 Ёпрст
 
07.12.11
22:32
(130) высылай мне, правда я пью Наири или Праздничный, на крайний случай, Ахтамар.
132 andrewks
 
07.12.11
22:33
(131) :) ты-то с какого боку?
133 Ёпрст
 
07.12.11
22:46
(132) не жмись!
а я так, просто так.
134 Злопчинский
 
08.12.11
00:25
(129) Если форма внешней обработки открыта, показана юзеру на экран, и юзер может совершить некие интерактивные действия !!на форме внешней обработки!! - например: жмакнуть кнопку "подбор" - подобрать нужный состав - и через такой подбор контекст родительского документа (нового, незаписанного) успешно заполниться - то вообщем, тут можно и согласиться что в какой-то мере условие выполнено, но в какой-то мере - ибо над подобранным составом (номенклатуры) могут потребоваться совершить какие-то дополнительные действия - отфильтровать по неким сложным условиям, провести некую предварительный "обсчет" подобранного состава перед тем, как его запихнуть в ТЧ дока (самый тривиальный вариант такого обсчета - приведение цен к виду "НДС и сверху  и в составе рассчитывается без погрешностей округления")... да, можно возразить что такие действия можно вынести в форму подбора и обрабатывать все там...
.
я открыт к консенсусу... вопрос с формой подбора надо посмотреть внимательнее... посмотрю по (1210 - может быть интересное...
135 GreyK
 
08.12.11
05:35
Осталось услышать (60)
136 Злопчинский
 
08.12.11
07:31
(135) из соображенйи Поппера или как его там - по (60) автор из 60 - говорит сделю так значит задача решена (типа я привожу утверждение, которое подтверждает что некая теория верна). Я же говорю - что также как у автора в (60) сделаю также как автор - пользователь не получит того чего хотел, т.е. я приведу утвеждение в контексте тех же исходных данных что в (60) и покажу что в противовес утверждения (60) - не сработает  - значит утверждение автора (60) об истинности теории - ложно.. ;-) а как известно, достаточно одной ложности, чтобы опровергнуть 100 истинностей, т.к. истины - истинны в частных случаях, а в общем случае - теория ложная... автор (60) может выдвинуть возражение что никто _вроде бы_ не требовал общего решения задачи... - но тогда у автора не решение научно й задачи, а всего лишь курсововй проект ;-)
137 GreyK
 
08.12.11
08:20
(136) Ну ты выдал...
Но эта речь не тянет на бутылку коньяка. Истина дороже! :)
138 Mans
 
08.12.11
08:34
а как звучало (22), хоть на трнспарант, а счас чет скуксился, виляет, ну хоть Гжелку sms-кой вышли
139 Песец
 
08.12.11
13:02
(127) Контекст первой формы.

//Модуль первой обработки, форма которой открывается из документа
//с передачей в нее контекста документа (возможно нового не записанного):
Процедура ПриОткрытии()
ПеременнаяДляОбменаДаннымиСоВторойОбработкой=глВзятьКонтекст(Контекст);
//открывается модально другая обработка для ничем не ограниченных интерактивных действий с базой данных.
ОткрытьФормуМодально("Отчет",ПеременнаяДляОбменаДаннымиСоВторойОбработкой,КаталогИБ()+"ExtForms\ЫшшоОднаФорма.ert");
//сюда попадаем после всех интерактивных действий во второй обработке и ее закрытия
Докум   =  Форма.Параметр.Получить("Контекст");
Докум.НоваяСтрока();
Докум.РеквизитТабличнойЧастиДокумента = ПеременнаяДляОбменаДаннымиСоВторойОбработкой;
Статусвозврата(0);
Возврат;
КонецПроцедуры // ПриОткрытии()


//Модуль второй обработки ЫшшоОднаФорма.ert
Процедура Сформировать()
Форма.Параметр=РеквизитВторойФормыДляИнтерактивнойРаботы;
КонецПроцедуры

//Наверное, можно обойтись и одной обработкой,
//открывая две ее формы и проверяя что передано в параметре.
140 GreyK
 
08.12.11
16:09
(138) Это ты зря. Всё показано и расписанно. И этими методами я давно пользуюсь.
Формекс в таких задачах для ленивых, тупых фикси, которые суют в конфу всё что могут, лишь-бы мозги не напрягать.
А мне, как фришнику, можно использовать только встроенныые в платформу и ОС средства.
2 + 2 = 3.9999999999999999999999999999999...