Имя: Пароль:
1C
 
подбор документов табличной части
0 -ico-
 
15.08.06
09:55
Добрый день. Опыта программирования в 1с 8.0 нет, но есть задача :(

Необходимо создать документ в табличной части которого будут ссылки на другие документы. Если в реквизите табличной части указывать "ДокументСсылка", то при добавлении строки табличной части 1с спрашивает тип документа, затем открывает журнал этого документа для выбора. Если указать "ДокументСсылка.Имя_док", 1с открывает журнал документа Имя_док. Всё это понятно, но не подходит.

Требуется программно заставить 1с показать список документов для выбора уже отфильтрованными по следующим условиям:
1. Определенные типы документов (их несколько).
2. Значение реквизита документа (у всех этих док. он есть)

Возможно ли это сделать? Если да, то буду рад любым советам.
1 AeDen
 
15.08.06
09:57
Возможно.
2 Морозов Александр
 
15.08.06
09:57
ну еслиб это в 8-ке было бы невозможным...
3 -ico-
 
15.08.06
10:00
Можно, совет? Или ссылочку...
4 Scooter
 
15.08.06
10:09
самый простой способ, на форме кнопка "подбор", при нажатии заполняешь запросом ТЗ, далее ТЗ.ВыбратьСтроку(),
вместо ТЗ+ВыбратьСтроку, можно нарисоватьсвою форму, положить на него ТП, выбирать из ТП
5 Scooter
 
15.08.06
10:10
6 колодина
 
15.08.06
10:10
через метаданные надо делать.
7 Scooter
 
15.08.06
10:15
(6) или для этих доков завести журнал
8 -ico-
 
15.08.06
10:18
И что даст журнал? (эти документы будут в своем журнале)
9 -ico-
 
15.08.06
10:19
2Scooter, спасибо за ссылку буду пробовать...
10 Andrey_spb
 
15.08.06
10:20
(4) не понял я чего-то, причем здесь подбор? Вопрос ведь в том как заполнить этот список документов. Я так понимаю, соединить несколько запросов (?)
11 Shaytan
 
15.08.06
10:29
Можно сделать критерий отбора. При нажатии кнопки выбора открывать его форму для подбора. Мне кажется, так проще всего.
12 Scooter
 
15.08.06
10:32
(10) в (4) я попытался обяснить как сделать самый простой подбор, т.к судя из (0) у автора с этим проблема

как заполнить этот список есть несколько способов
1. Запрос с объединением
2. Журнал + запрос к журналу
3. Критерий отбора
4. ...
13 -ico-
 
15.08.06
10:42
Идея такая. Есть документ "Приложение к договору". Его содержимое формируется на основании тех. заданий в различные отделы предприятия. Задания представляют собой документы нескольких видов. Хранятся в журнале "тех. задания".

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

Я представляю себе реализацию так: делопроизводитель создает документ приложение, заполняет шапку (тип приложения, контрагент). Нажимает кнопку "добавить тех. задания" и видит список документов журнала "тех. задания" отфильтрованных по контрагенту, атрибуту принадлежит/не_принадлежит какому либо приложению (отображаются только "ничейные"), и виду конкретного документа (техзаданий несколько видов).

Может, так будет яснее, какой из методов подойдет лучше?
14 Neco
 
15.08.06
11:05
(13) В стандартных конфижках (УПП) при выборе сделки устанавливается разные отборы, например по контрагенту. Посмотри функцию "ОткрытьФормуДокументаСОтбором"  ипримеры, ну хотябы в документе: РеализацияТоваровИУслуг
15 -ico-
 
15.08.06
11:11
У меня конфигурация Бухгалтерия предприятия, редакция 1.5 (1.5.4.1) и функцию "ОткрытьФормуДокументаСОтбором" я в ней не нашел :(
16 Neco
 
15.08.06
11:15
(15) В бухгалтерии "ВыборРасчетногоДокумента"
17 -ico-
 
16.08.06
12:34
В процедуре "ВыборРасчетногоДокумента" работа ведется с конкретным видом документа. Пробовал подобным образом работать с журналом - не получается.

Решил пойти через подбор. В "подбирающем" документе код:

ФормаПодбора = ЖурналыДокументов.Журнал_ЗОУ.ПолучитьФорму(,ЭтаФорма);
ФормаПодбора.ЗакрыватьПриВыборе = Ложь;
ФормаПодбора.Открыть();

В ответ на это журнал документов "Журнал_ЗОУ" возвращает ссылки на выбранные документы. Это хорошо. Плохо то что я не могу программно установить фильтры на этот журнал. При подборе мне ненужно видеть все его документы.

Как программно установить отбор на журнал документов?
18 -ico-
 
16.08.06
13:29
Подскажите плиз... Как программно установить отбор на журнал документов?
19 х86
 
16.08.06
14:16
20 -ico-
 
16.08.06
14:31
Спасибо, заработало!!!
21 -ico-
 
17.08.06
12:24
Рано радовался... в модуле ОбработкаПроведения я хотел пройтись по документам отобранных в табличную часть и поменять у них значение одного из реквизитов. И не смог :(

Всё на что хватило моих знаний восьмерки это

Для Каждого строка Из ТабличнаяЧасть Цикл
    сообщить(строка);
КонецЦикла;

в модуле проведения.

в переменной "строка" видимо ссылка на нужный мне докумет, но как воспользоваться ею для правки реквизита я никак не могу понять!
22 -ico-
 
17.08.06
13:53
Табличная часть имеет тип "ДокументСсылка". Вроде как должно работать следующее:

Для Каждого строка Из ТабличнаяЧасть Цикл
    ТекДок = строка.ПолучитьОбъект();
    // потом ТекДок.Реквизит = значение;
КонецЦикла;

Не проходит! Ругается "Метод объекта не обнаружен (ПолучитьОбъект)". В чем проблема!! Прямо как то неудобно, элементарную операцию провернуть не выходит..
23 х86
 
17.08.06
13:57
(22) проводить документы из ОбработкиПроведения другого документа грубая ошибка, меняй алгоритм
24 -ico-
 
17.08.06
14:00
нет, я хочу из ОбработкиПроведения моего документа поменять значения реквизитов других документов, а именно тех которые подобраны в табличную части моего документа. Вроде в этом нет ничего криминального.
25 х86
 
17.08.06
14:23
(24) а эти (подобранные) документы они проведены?
26 -ico-
 
17.08.06
15:14
нет, а какое это имеет значение?
27 -ico-
 
17.08.06
15:20
Может быть я невнятно объясняю? Попробую еще раз.

Дано:
Самодельный документ (Док_А) с табличной частью типа "ДокументСсылка". С помощью подбора, эта табличная часть заполняется ссылками на некие самодельные документы (Док_Б).

Необходимо:
При проведении Док_А изменять один из реквизитов Док_Б, а именно у тех документов, которые содержатся в табличной части Док_А.

Как пройтись по документам перечисленным в табличной части Док_А и изменить их реквизиты???
28 -ico-
 
17.08.06
16:06
up
29 х86
 
17.08.06
16:15
(27) используй для этих целей регистр, например регистр Сведений
30 -ico-
 
18.08.06
08:16
Я с регистрами никогда не работал :(, даже в семерке.
А без них нельзя? Вроде всё просто, есть ссылка на документ, неужели по ней нельзя изменить реквизит документа ???
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.