Имя: Пароль:
1C
1C 7.7
v7: Помогите реализовать задумку
,
0 andryus
 
08.09.11
15:38
Помогите реализовать задумку, возможно ли такое. Вообщем в документе (назовем его Документ_1) есть кнопка. При нажатии на данную кнопку прямо в документе должен открыться всплывающий список в котором показаны документы (назовем их Документ_2) за определенный период (НачДата, КонДата). Далее в этом списке можно отметить необходимые документы (Документ_2) и при нажатии на кнопку в данном списке, эти документы должны перенестись в табличную часть соответствующего поля Документа_1

Я честно говоря такие операции никогда не делал. Возможно ли это сделать на 7-ой версии? Если да, то помогите

Спасибо
1 acsent
 
08.09.11
15:39
У списка есть вроде метод пометитьзначения
2 aka MIK
 
08.09.11
15:39
Через подбор
3 andrewalexk
 
08.09.11
15:39
:) возможно
зы
СписокЗначений.ОТметитьЗначения(...
4 Error pro
 
08.09.11
15:39
Такое есть в ТиСе вроде, только там из выбранных доков тч вытягивает.
5 Ёпрст
 
08.09.11
15:39
(0) Либо открыть форму обработки с ТЗ на форме и оттуда выбор
Либо тупо открыть для подбора форму журнала.
6 AlecoZAV
 
08.09.11
15:40
А в чем проблема?????
встречный вопрос - а что именно должно перенестись в ТЧ
7 andrewks
 
08.09.11
15:41
(0)да без проблем
8 aka MIK
 
08.09.11
15:41
// ===============================
Процедура Добавить()                                      
ОткрытьПодбор("Журнал.ПриходыТовара",,,1,ВыбДок);
КонецПроцедуры    

// ===============================
Процедура ОбработкаПодбора(Значение)  // Предопределенная процедура
   НоваяСтрока();
   Док = Значение;
   
   ВыбДок = Значение;
КонецПроцедуры  // ОбработкаПодбора
9 andryus
 
08.09.11
15:47
(6) сам документ занестись в табличную часть
10 Irken_1
 
08.09.11
15:48
пример подбора сотрудников в документ, то что нужно выбрать чеком из вывалившегося списка найдете:
   Исп=CreateObject("Reference.Executors");
   СпИсп=CreateObject("ValueList");
   Исп.SelectItems();
   While Исп.GetItem()=1 Do
       Если Изменен=1  Тогда
           Если (Исп.ПометкаУдаления()=1) ИЛИ (Исп.Актуальность=Нет) Тогда
               Продолжить;
           КонецЕсли;
       КонецЕсли;
       ТЕ=Исп.CurrentItem();
       СпИсп.AddValue(ТЕ,"  "+TrimR(String(ТЕ.Наименование))+" ("+ТЕ.Код+")"+?(Исп.ПометкаУдаления() = 1,", удал.",?(Исп.Актуальность=Нет,", неакт.","")));
       For I=1 to Кол do
           If ТЕ=W[I] Then
               СпИсп.Check(m,1);
           EndIf;
       EndDo;
       m=m+1;
   EndDo;
   
   If СпИсп.CheckValues(Исполнитель,"Отметьте исполнителей",,)=1 Then
........ ваши действия
11 Mikeware
 
08.09.11
15:50
(10) за такой код...нужно бить...
12 andryus
 
08.09.11
15:57
(8) Вот примерно так. Спасибо. Только вот как-то бы установить отбор (т.е. в том журнале (ну не в том что написан в примере, а в моем) куча документов, а выбирать нужно только один вид)
13 Ёпрст
 
08.09.11
15:59
(12) через контекст открытой формы подбора устанавливай свой отбор в журнальчике + интервал.
14 andryus
 
08.09.11
16:12
(13) Это примерно как? Хотя бы пример на интервале если можно
15 Ёпрст
 
08.09.11
16:16
Процедура Добавить()  
   Конт = "";
   ОткрытьПодбор("Журнал.ПриходыТовара",,Конт,1,ВыбДок);
   Конт.УстановитьИнтервал(ДатаНач,ДатаКон,0);
   Конт.УстановитьОтбор(<параметры отбора>);
   ...........
КонецПроцедуры
16 andryus
 
08.09.11
16:33
(15)

Вот всем спасибо. Выручили
Программист всегда исправляет последнюю ошибку.