Доброе утро!
Начну с того что я в 1С недавно и я в нем не селен, так сказать чайник еще.
Вот поставлена задача: В Документе ЗаказПокупателей в ФормеСписка нужно сделать ДеревоПодчиненности , чтобы при нажатии галочки выводилось значимое справочника.
Все что я смог сделать на данный момент - это добавить ТабличноеПоле в Форму списка и флажок. Как их связать и какие процедуры нужны для того, чтобы сделать задание? Может я не совсем корректно выразился, но походу обсуждения темы буду стараться объяснять подробнее.
Ну выручайте. Вроде сделал. Только не совсем то как хотелось бы. При нажатии галочки выводит только отдельным окном и не все содержимое, а только Заказ покупателя сумму и валюту.
Экстрасенсов, к сожалению, нету. Пора отпусков нынче.
Может,что-то уточнить нужно? Что-то не так описал?
Лично я вообще не понял какова задача.
Добавить дерево документов "Подчиненные документы" в форму списка "Заказы покупателей".В форму списка "Заказы покупателей"
Заполнение табличной части происходит по алгоритму ОбщейФормы.ФормаСтруктурыПодчиненности.
При смене документа дерево документов должно перезаполняться (очищается, а потом заполняется по текущему документу).
Включаться и отключаться отображение дерева должно по настройке в контекстном меню.
Должна быть кнопка "Отображать структуру подчиненности" тип Булево для формы.
Если кнопка нажата, то дерево документов отображается, если нет, то не отображается. Пользователь сам будет управлять.
Кнопка нужна для производительности.
Думаю, что так будет понятнее.
Теперь понятней. Только непонятно в чем конкретно вопрос? Или надо написать готовый код, который вы скопипастите и оно взлетит?
Был бы благодарен за пошаговые действия, которые мне надо сделать.
Процедура ОтображатьСтруктуруПодчиненностиПриИзменении(Элемент)
Если ЭлементыФормы.Список.ТекущиеДанные = Неопределено Тогда
Возврат
КонецЕсли;
РаботаСДиалогами.ПоказатьСтруктуруПодчиненностиДокумента(ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока);
КонецПроцедуры
Так сделал я, но я знаю, что это не тот вариант что мне нужен.
Вы задаете слишком абстрактные вопросы. Поэтому за ответ на такой вопрос в виде
Цитата
пошаговые действия, которые мне надо сделать
я захочу денег. А конкретный вопрос вы сформулировать не можете. Поэтому я умываю руки.
Помогите с кодом. Я хотел сам сделать, но у меня не получиться. Т.к. я не могу понять структуру Дерева подчиненности!
Процедура ОтображатьСтруктуруПодчиненностиПриИзменении(Элемент)
ЭлементыФормы.ТабличноеПоле.Видимость = ОтображатьСтруктуруПодчиненности;
КонецПроцедуры
Дальше не знаю как. Сам мучаюсь над таким

Был бы благодарен если кто нибудь поможет в написании кода.
А конкретно, когда я ставлю курсором на документ и ставлю галочку вылетало Табличное поле с данными того документа на котором стоит курсор!?
Процедура СписокПриАктивизацииСтроки(Элемент)
ЭлементыФормы.ТабличноеПоле1.Значение = ПолныеПрава.ПолучитьСписокПодчиненныхДокументов(Элемент.ТекущаяСтрока.Ссылка);
ЭлементыФормы.ТабличноеПоле1.создатьколонки();
КонецПроцедуры
Что-то не то. Выдает ошибку.
{Документ.ЗаказПокупателя.Форма.ФормаСписка.Форма(99)}: Поле объекта не обнаружено (Ссылка)
ЭлементыФормы.ТабличноеПоле1.Значение = ПолныеПрава.ПолучитьСписокПодчиненныхДокументов(Элемент.ТекущаяСтрока.Ссылка);
Возможно ли что параметр не правильно передан?
Сделал следующим методом
Функция ПолучитьСписокПодчиненныхДокументов(ДокументОснование) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СтруктураПодчиненности.Ссылка
|ИЗ
| КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) КАК СтруктураПодчиненности";
Запрос.УстановитьПараметр("ЗначениеКритерияОтбора", ДокументОснование);
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
И все равно выдает туже ошибку. Подскажите где ошибся?
В общем все сделал. Может кому пригодиться когда нибудь.
В Общем модуле "ПолныеПрава"
Функция ПолучитьПодчиненныеДокументы(тЗаказ) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ЗначениеКритерияОтбора", тЗаказ);
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Запрос.Ссылка КАК Ссылка,
| Запрос.Ссылка.Дата КАК Дата,
| ЕСТЬNULL(Запрос.Ссылка.СуммаДокумента, 0) КАК СуммаДокумента
|ИЗ
| (ВЫБРАТЬ
| ВозвратТоваровОтПокупателя.Ссылка КАК Ссылка
| ИЗ
| Документ.ВозвратТоваровОтПокупателя КАК ВозвратТоваровОтПокупателя
| ГДЕ
| ВозвратТоваровОтПокупателя.Сделка = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ВозвратТоваровОтПокупателя.Ссылка
| ИЗ
| Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателя
| ГДЕ
| ВозвратТоваровОтПокупателя.ЗаказПокупателя = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ЗаказПоставщику.Ссылка
| ИЗ
| Документ.ЗаказПоставщику КАК ЗаказПоставщику
| ГДЕ
| ЗаказПоставщику.ДокументОснование = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ЗаказПоставщику.Ссылка
| ИЗ
| Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщику
| ГДЕ
| ЗаказПоставщику.Заказ = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ЗакрытиеЗаказовПокупателей.Ссылка
| ИЗ
| Документ.ЗакрытиеЗаказовПокупателей.Заказы КАК ЗакрытиеЗаказовПокупателей
| ГДЕ
| ЗакрытиеЗаказовПокупателей.ЗаказПокупателя = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| КорректировкаЗаказаПокупателя.Ссылка
| ИЗ
| Документ.КорректировкаЗаказаПокупателя КАК КорректировкаЗаказаПокупателя
| ГДЕ
| КорректировкаЗаказаПокупателя.ЗаказПокупателя = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| НалоговаяНакладная.Ссылка
| ИЗ
| Документ.НалоговаяНакладная КАК НалоговаяНакладная
| ГДЕ
| НалоговаяНакладная.ДокументОснование = &ЗначениеКритерияОтбора
| ИЛИ НалоговаяНакладная.ДокументОснование.Сделка = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ПлатежноеПоручениеВходящее.Ссылка
| ИЗ
| Документ.ПлатежноеПоручениеВходящее КАК ПлатежноеПоручениеВходящее
| ГДЕ
| ПлатежноеПоручениеВходящее.ДокументОснование = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ПлатежноеПоручениеВходящее.Ссылка
| ИЗ
| Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящее
| ГДЕ
| ПлатежноеПоручениеВходящее.Сделка = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ПлатежноеПоручениеВходящее.Ссылка
| ИЗ
| Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящее
| ГДЕ
| ПлатежноеПоручениеВходящее.ДокументПланированияПлатежа = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ПлатежноеТребованиеВыставленное.Ссылка
| ИЗ
| Документ.ПлатежноеТребованиеВыставленное КАК ПлатежноеТребованиеВыставленное
| ГДЕ
| ПлатежноеТребованиеВыставленное.ДокументОснование = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ПлатежноеТребованиеВыставленное.Ссылка
| ИЗ
| Документ.ПлатежноеТребованиеВыставленное.РасшифровкаПлатежа КАК ПлатежноеТребованиеВыставленное
| ГДЕ
| ПлатежноеТребованиеВыставленное.Сделка = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ПлатежноеТребованиеВыставленное.Ссылка
| ИЗ
| Документ.ПлатежноеТребованиеВыставленное.РасшифровкаПлатежа КАК ПлатежноеТребованиеВыставленное
| ГДЕ
| ПлатежноеТребованиеВыставленное.ДокументПланированияПлатежа = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ПлатежноеТребованиеПоручениеВыставленное.Ссылка
| ИЗ
| Документ.ПлатежноеТребованиеПоручениеВыставленное.РасшифровкаПлатежа КАК ПлатежноеТребованиеПоручениеВыставленное
| ГДЕ
| ПлатежноеТребованиеПоручениеВыставленное.Сделка = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ПлатежноеТребованиеПоручениеВыставленное.Ссылка
| ИЗ
| Документ.ПлатежноеТребованиеПоручениеВыставленное.РасшифровкаПлатежа КАК ПлатежноеТребованиеПоручениеВыставленное
| ГДЕ
| ПлатежноеТребованиеПоручениеВыставленное.ДокументПланированияПлатежа = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ПриходныйКассовыйОрдер.Ссылка
| ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
| ГДЕ
| ПриходныйКассовыйОрдер.ДокументОснование = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ПриходныйКассовыйОрдер.Ссылка
| ИЗ
| Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдер
| ГДЕ
| ПриходныйКассовыйОрдер.Сделка = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| ПриходныйКассовыйОрдер.Ссылка
| ИЗ
| Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдер
| ГДЕ
| ПриходныйКассовыйОрдер.ДокументПланированияПлатежа = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| РасходныйКассовыйОрдер.Ссылка
| ИЗ
| Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
| ГДЕ
| РасходныйКассовыйОрдер.РасшифровкаПлатежа.Сделка = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка
| ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
| ГДЕ
| РеализацияТоваровУслуг.Сделка = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка
| ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
| ГДЕ
| РеализацияТоваровУслуг.ЗаказПокупателя = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка
| ИЗ
| Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
| ГДЕ
| РеализацияТоваровУслуг.ЗаказПокупателя = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка
| ИЗ
| Документ.РеализацияТоваровУслуг.ДокументыРасчетовСКонтрагентом КАК РеализацияТоваровУслуг
| ГДЕ
| РеализацияТоваровУслуг.Сделка = &ЗначениеКритерияОтбора
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| РезервированиеТоваров.Ссылка
| ИЗ
| Документ.РезервированиеТоваров КАК РезервированиеТоваров
| ГДЕ
| РезервированиеТоваров.Заказ = &ЗначениеКритерияОтбора) КАК Запрос
|
|УПОРЯДОЧИТЬ ПО
| Дата";
Результат = Запрос.Выполнить().Выгрузить();
Возврат Результат;
КонецФункции
После в форме списка документа "ЗаказПокупателя"
В свойстве табличного поля в событиях "СписокПриАктивизацииСтроки"
Процедура СписокПриАктивизацииСтроки(Элемент)
ТабличноеПоле1.Очистить();
Если ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока <> Неопределено Тогда
тСписокДокТ = ПолныеПрава.ПолучитьПодчиненныеДокументы(ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока);
Для Каждого тСписокДок Из тСписокДокТ Цикл
НовСтр = ТабличноеПоле1.Добавить();
НовСтр.Документ = тСписокДок.Ссылка;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Цитата(MH.z @ 18.11.11, 11:50) необходимо зарегистрироваться для просмотра ссылки
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СтруктураПодчиненности.Ссылка
|ИЗ
| КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) КАК СтруктураПодчиненности";
А это что за страшный ужас был???
Это я действовал методом тыка так сказать. Я же в это деле еще н спец, поэтому пробовал методом подбора.
Ознакомтесь с необходимо зарегистрироваться для просмотра ссылки
Или посмотрите групповое проведение документов
Цитата(MATEVI @ 19.11.11, 0:46) необходимо зарегистрироваться для просмотра ссылки
Ознакомтесь с необходимо зарегистрироваться для просмотра ссылки
Или посмотрите групповое проведение документов
По всем документам ищет код из поста 12.
Цитата(Ardi @ 18.11.11, 23:49) необходимо зарегистрироваться для просмотра ссылки
По всем документам ищет код из поста 12.
Так я не спорю

Заслуга Ваша

Хотя я бы посмотрел как это реализовано в типовой. Хотя это и кусочек типовой

Просто если надо не по всем, а по тому списку из запроса. ТО лучше его структрурировать как то и урезать. Вы так не считатете?
а в посте 15 уже структурировано и урезано.
Цитата(Ardi @ 19.11.11, 0:15) необходимо зарегистрироваться для просмотра ссылки
а в посте 15 уже структурировано и урезано.
Ну да на пол экрана
Цитата(MATEVI @ 19.11.11, 1:24) необходимо зарегистрироваться для просмотра ссылки
Ну да на пол экрана

это 7 процентов от исходного текста запроса.
И в генератор это засунуть... оооочень много кода понадобится.
Цитата(Ardi @ 19.11.11, 0:39) необходимо зарегистрироваться для просмотра ссылки
это 7 процентов от исходного текста запроса.
И в генератор это засунуть... оооочень много кода понадобится.
Исходный код, а не результат скопированного запроса в студию.
Вот + к тому заданию что было, есть еще одно:
Добавить в документ "заказ покупателя" вкладку "структура подчиненности"
На эту вкладку выводится структура подчиненности.
Структура подчиненности выводится не при открытии, а при переходе на вкладку.
Но т.к. я заболел на работе я это не могу сделать. А дома я чтобы не париться скопировал все предыдущее заданию из форума и вставил в нужные места, но оно не работает. Кто может сказать почему? Возможно что платформа не подходит?
Цитата
Возможно что платформа не подходит?
А может программист?
Может.

Я же и не говорю что я "про" Я учусь только.
MH.z, эта тема, по-моему, зашла в тупик. Лично я вообще запутался что сделано, а что надо сделать.
Или это только у меня так?
Ранее я писал как я сделал задание. Выложил коды и писал куда и что. Сидя дома, чтобы не писать все с нуля, я просто скопировал мною написанное Запрос в общий модуль ПолныеПрава и тело процедуры СписокПриАктивацииСтроки. И при проверке у меня ничего не сработало. Вот не могу понять почему и надеюсь на то, что мне тут подскажут причину.
Цитата(MH.z @ 25.11.11, 16:27) необходимо зарегистрироваться для просмотра ссылки
тело процедуры СписокПриАктивацииСтроки.
Процедура связана с самим событием в свойствах списка?
а в властивостях цього елементу форми - список, заповнена необхідна подія (ПриАктивизацииСтроки) цією процедурою, тобто чи стоїть у полі ПриАктивизацииСтроки ця процедура?
Да заполнено. Проверил уже все 100 раз если не больше
Поставим вопрос по другому - что конкретно не работает? Выдает какие-то ошибки?
Цитата(logist @ 25.11.11, 16:43) необходимо зарегистрироваться для просмотра ссылки
Поставим вопрос по другому - что конкретно не работает? Выдает какие-то ошибки?
Ошибок нет. Значит при проставлении галочки у меня появляется ТабПоле в котором отображается содержимое документа. А в данный момент я ставлю галочку у меня появляется ТабПоле но пустое и при этом курсор стоит на одном из документов.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.