#4
by Aprobator
в типовых примера куча. Ну взять к примеру туже обработку РедактированиеКонтактнойИнформации.
#8
by Aprobator
если при открытии обработки правильно указан элемент владелец, то значение из обработки будет передано непосредственно в него. Например: [1С] Процедура ПриНачалеВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ИспользуемаяОбработка = Обработки.ИмяОбработки.Создать; ФормаОбработки = ИспользуемаяОбработка.ПолучитьФорму(,Элемент); ИспользуемаяОбработка.ОткрытьФорму; КонецПроцедуры [1С] Ну и в самой обработке прописать ОповеститьОВыборе(ВозвращаемоеЗначение)
#11
by Cthulhu
ежели модально ея открываешь - то через параметр. ежели не модально - то сложнее но тоже можно: 1) вызваЮЩая процедура: 1.1) +(невидимый) реквизит "строка неогр.длины многострочный" на морду; 1.2) процедура, которая: 1.2.1) отрубает обработку ожидания (Форма.ОбработкаОжидания("",0); 1.2.2) из реквизита п.1.1 получает (с помощью (ЗначениеИзСтрокиВнутр) и как надо обрабатывает всё, что вернула открытая обработка 1.3) При открытии формы (немодальном) - передать в параметре свой (открываЮЩей формы) контекст 2) вызваЕМая обработка, при закрытии и по факту необходимости вернуть значение, инициировав действия в отрываЮЩей эту обработку форме: 2.1) Через контекст открываЮЩей формы, дёрнутый из параметра при открытии - иницииорвать в открываЮЩей форме выполнение процедуры п.1.2 обработкой ожинания в 1 секунду - типа "КонтВызываЮЩейФормыИзПараметра.Форма.ОбработкаОжидания("ТаСамаяПроцедураСмПункт1точка2",1);" 2.2) Через тот же контекст открываЮЩей формы, дёрнутый из параметра при открытии - установить в реквизит п.1.1 значение, равное внутреннему представлению объекта (обычно - СЗ), содержащено всьо, что надо вернуть - типа "КонтВызываЮЩейФормыИзПараметра.ТотСамыйРеквизитСмПункт1точка1=ЗначениеВСтрокуВнутр(ОбъектВКоторомВсёШоНадоВернутьОткываЮЩейФормы);"
#18
by Aprobator
так же как и мне - твое мнение о моих привязанностях. Тебя местные тролли покусали что ли?
#20
by Cthulhu
: потому что через переменную не получится. даже через переменную модуля. не веришь - проверь. и это - вполне себе не сложно и один раз применив уже на автомате и бысто употребимо.
#21
by Cthulhu
для каждого взаимодействия строго говоря любой пары обработок - корячить глобальник - некрасиво. использовать только сами обработки - правильнее.
#22
by Cthulhu
: а при условии, что я тут по теме излагаю мнения, а ты топыришь пальцы - угадай, кому из нас с тобой логичнее было бы сдриснуть из этого разговора в пешее эротическое?.. да, ты угадал - тебе.
#28
by Aprobator
хм - и что экспортную функцию в обработку, которая возвращает результат работы обработки не впихнуть?
#31
by Cthulhu
: судя по тупости, не позволяющей тебя осознать прочитанное при рвущем пукан желании потяффкать - тебя можно разве что пожалеть.
#34
by Guk
почитал, интересно тут у вас. короче, правильный ответ в . при открытии формы обработки передается переменная в качестве параметра открытой формы. в самой обработке этот параметр доступен как Форма.Параметр. в него же и записывается результат работы обработки. после закрытия обработки результат доступен в документе в переменной, которую передавали при открытии формы обработки...
#41
by Aprobator
не помню уже ) А под рукой нет. Кроме того, насколько мне помнится при использовании ОткрытьФормуМодально там можно вернуть в результат работы этого метода все. Только вот в самой обработке надо для этого что то прописать. Типа Закрыть(ВозвращаемыйРезультат). Но, точно утверждать не берусь. Давненько это было )
#43
by Guk
понятно, мы говорим о разных вещах. ты говоришь о визуализации для пользователя, а я про форму в конфигураторе. просто я считал, что для действий описанных в не надо уточнять, что визуально форма естественно не открывается...
#45
by Aprobator
фига се. Я в свое время с 7 ки специально во франь свалил, чтобы 8 ку освоить. С тех пор так редко редко, что то по мелочи перепадало. Если в руки то взять - вспомню конечно. Но, потихоньку все стирается.
#46
by Cthulhu
: не-а. при статусвозврата в параметре в место вызова останется ровно то, что передавали в форму. такая вот инструментальная тонкость. не веришь - проверь. ;)
#47
by Torquader
Параметр корректно работает только при ОткрытьФормуМодально, в противном случае, система создаёт копию параметра. Да и вообще, если в параметр передавать список или таблицу значений, то её содержимое прекрасно меняется вне зависимости от того, как вызывали форму. Только при вызове нужно сначала скопировать таблицу в локальную переменную, чтобы не затереть основную.
#49
by Andreyyy
Передать параметры через ОткрытьПодбор("Твоя обработка", Параметры) В обработке передать результат через Форма.ВыполнитьВыбор(Результат) Получить результат через ОбработкаПодбора(Результат)
#54
by Пенза58
Сейчас передаю значение через глобальную переменную: гэлДокРасписанияПриЗаполнении=ДокРасп.ТекущийДокумент; Как правильно было написать? Вот код обработки:
#57
by Ёпрст
вообще конечно, зачетно выбирать все документы из базы, даже одного вида.. смотреть в тч дока.. лепить какие то тз.. Но ничего , с годами это пофигизм проходит.
#62
by Пенза58
Общая задача учет расписания преподавателей и классов. Есть некоторое количество классов и две смены. Создается учебная группа и надо, чтобы её урокам поставились классы, время занятий и преподаватели. В частности "выбирать все документы" аналог регистра сведений.
#63
by Ёпрст
Один хрен, твой код в топку.. слишком не оптимально и медленно всё.. теже выборки из ТЗ для поиска по 2-м колонкам.
#65
by Ёпрст
чтобы ответить на этот вопрос нужно знать структуру хранения данных. Один хрен, выборки из тз, перебор всех документов за период.. это всё очень медленно.
#67
by Пенза58
> структуру хранения данных Какую структуру ты предложишь. Вот надо хранить данные о расписании. Есть группа надо знать в какой день, в каком классе, в какой час(можно упростить пускай будет хотя бы смена вечерняя или дневная), какой преподаватель, будет проводить занятия. Как предлагаешь это хранить? > выборки из тз Что с ними не так? Как по другому? > перебор всех документов за период Альтернативой является работа с периодическими реквизитами справочников. Но тут опять же надо перебирать все группы, и искать были у них занятия в интересующем периоде или нет. Предложи свой вариант, как получить дни в которые были занятия и кто вел и в какое время.
#68
by Пенза58
> ну а преобразование ссылки в строку..это вообще моветон Почему? Эти же данные нигде не хранятся постоянно.
#73
by Ёпрст
если основное представление элемента - наименование, то Строка(ЭлементТвой) = ЭлементТвой.Наименование (или =код, или = основной реквизит справочника, если длина кода и наименования =0) Дык вот, изменили наименование - п..ц котёнку.
#82
by Пенза58
Туда никогда не передается ссылка в чистом виде. Ссылка предварительно обрабатывается Функция КодПрепода(Препод)
#84
by Ёпрст
:)))))))) реквизиты Час01-17 какой тип то имеют хоть ? Чего, нельзя было один реквизит Час сделать ?
#85
by Ёпрст
ДатаДень нахрена ? ДатаДок не есть тоже самое ? Нужно новвое расписание - новый документ, не ? Или вы всегда одним документом всё делаете ?
#86
by Пенза58
Предложи свой вариант? Есть задача учета расписания группы, с классами и преподавателями. И есть задача автоматического заполнения расписания, причем если класс занят, то искался другой класс, если в дневную смену все классы заняты, искался, в вечернюю, если все занято день занятий перносился на другую дату. Когда дата и класс определены подобрать преподавателя который будет вести занятия и который в это время свободен.
#87
by Пенза58
> ДатаДень нахрена ? > ДатаДок не есть тоже самое ? Разумеется нет. Это дата занятия, группа учится может неделями. И в тч, могут быть десятки дат, связи с датой документа вообще никакой.
#88
by Пенза58
> Нужно новвое расписание - новый документ, не ? Для каждой группы свой документ и в нем свое расписание.
#89
by Ёпрст
Ну ладно, зачем тебе 17 реквизитов Час ? Это еще посмотри на досуге, хотя на инфопомойке еще была куча поделок на 7.7
#90
by Пенза58
> реквизиты Час01-17 какой тип то имеют хоть ? Можно сказать булево 1-0 > Чего, нельзя было один реквизит Час сделать ? Как это так? Урок может быть на несколько часов.
#93
by Пенза58
Я там не увидел про функцию автоматического создания расписания. Т.е. там человек сидит и сочиняет расписание, здесь же программа автоматически это делает.
#94
by Torquader
Всё в одном документе - это очень плохо. Особенно плохо - делить часы на параметры табличной части. Что такое расписание - это связь "кто кого когда и где", то есть соединение четырёх сущностей: 2) Группа студентов (в справочнике) 3) Аудитория (в справочнике) 4) Время проведения занятия (число). Также можно рассматривать дату, как пятый параметр, но она есть в шапке документа. Что мешает сделать табличную часть, где задавать все четыре параметра, связанные друг с другом ? Конечно, более правильно будет преподавателя или группу перенести вообще в шапку документа, чтобы в одном документе задавалось расписание для одного преподавателя (или группы).
#95
by Пенза58
> Всё в одном документе - это очень плохо. Почему? И как по-другому? > Особенно плохо - делить часы на параметры табличной части. Почему? И как по-другому? > 4) Время проведения занятия (число). Ты не путай теплое с мягким, Дата занятия это одно, время занятия это другое. Например на одну и ту же дату может быть и физ подготовка и право - эти дисциплины ведут разные преподаватели. > Также можно рассматривать дату, как пятый параметр, но она есть в шапке документа. Т.е. ты предлагаешь на каждый учебный день отдельный документ? И в этом документе будут все группы учащихся? Т.е. когда создается расписание для группы - то открывать и закрывать десятки документов вместо одного? Что-то я сомневаюсь, что это хорошая идея. > чтобы в одном документе задавалось расписание для одного преподавателя (или группы). У меня сейчас 1 группа - 1 документ. Группа может учится и пять дней и три месяца (или даже больше), допустим в среднем дней двадцать. Ты предлагаешь создать двадцать документов вместо одного?
#96
by ADirks
Тебе документов жалко что-ли? Можно вообще запилить 1 док - одно занятие. Ты же ведь не станешь заставлять пользователей эти документы редактировать?
#98
by ADirks
В таких случаях для редактирования делается отдельный интерфейс. Редактировать непосредственно документы - издевательство над людями.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v7: v7 : НДС при возврате
- v7: Что нужно чтоб подключить ККМ Меркурий 112F к 1с V7 Торговля + склад
- v7: v7.7 премещение элемента справочника
- v7: 1С v7.7 Бух учет (получить остаток по складам)
- v7: v8: v7: Кто-нибудь сумел скачать комплект отчетности за I квартал 2007 года
- v7: 1С V7.7 в сети
- v7: 1C:V7 starter program (for SQL) - обнаружена ошибка
- v7: Перенос данных Бухгалтерия из v7 в v8
- v7: v7 Перехват глобального события ПриЗаписи() или ОбработкаПроведения()
- v7: Как получить таблицу значений средствами Formex
- v7: Форма.Параметр Форма.Закрыть() Как передать параметр из закрываемой формы
- v7: как получить параметр (ошибка при выполнении функ) из выполняемой строки
В этой группе 1С
- Планы обмена, Зарегистрировать Изменения
- Колонка резерва товара в отчёте "Ведомость по товарам на складах"
- Маркетинговая акция в 1с 8.2 розница 2.0
- v8: Программно заменить схему компоновки в тонком клиенте
- Ордерная схема в УТ11 - не создаются ордера...
- Ребята. файл слишком длинное имя имеет и не может восстановиться что делать
- создание штрихкодов для номенклатуры
- Обороты за разные периоды в одном запросе.
- PostgreSQL - удаление соединений
- УФ: изменение строки табличной части
- Ввод начальных остатков только по НУ
- Сбилась нумерация после обновления на 3.0
- Как определить SHA1 fingerprint сертификата, находящегося на сайте?
- Продление отпуска в связи с больничным в УПП.
- Запись не верна! Не совпадает активность записей. Как полечить?
- Как УИД объекта метаданных сделать таким же как типовой?
- Штрих-код стал выдавать при сканировании 14 цифр вместо 13
- ВПФ для УТ11
- v7: ИТЗ: Итерирование после изменения индекса невозможно!
- Расчет при увольнении УПП 1.3.44.1