|
открыть документ из ТЗ | ☑ | ||
---|---|---|---|---|
0
gurni
07.12.17
✎
16:03
|
На форме внешней обработки есть строка в которой помимо разных там данных есть поле с ссылкой на документ. Как можно открыть данный документ по двойному клику на поле?
Подскажите пожалуйста. |
|||
1
Ёпрст
07.12.17
✎
16:06
|
а че, не открывается само ?
|
|||
2
Михаил Козлов
07.12.17
✎
16:06
|
Что-то вроде, ВывестиЗначение или ПоказатьЗначение или ОткрытьЗначение.
|
|||
3
gurni
07.12.17
✎
16:07
|
(1) нет
открывается маленькое окошечко с наименованием, номером и датой документа |
|||
4
Ёпрст
07.12.17
✎
16:13
|
(3) есть уверенность, что там ссылка, а не строка с представлением объекта?
|
|||
5
gurni
07.12.17
✎
16:17
|
(4) вначале у меня туда записывалось представление документа, я переделал теперь там ссылка
|
|||
6
gurni
07.12.17
✎
16:22
|
хотя наверное и не представление, а просто строка с названием документа его номером и датой
|
|||
7
Ненавижу 1С
гуру
07.12.17
✎
16:28
|
в расшифровке там что?
|
|||
8
DexterMorgan
07.12.17
✎
16:29
|
гиперссылка ячейки
|
|||
9
Сияющий в темноте
07.12.17
✎
16:30
|
В сообщении ПриВыбореСтроки выведи значение и тип того, что в ячейке - и станет ясно, что с этим делать дальше.
|
|||
10
gurni
07.12.17
✎
16:42
|
(9) строка
|
|||
11
AlvlSpb
07.12.17
✎
17:27
|
(5) Ни черта ты не переделал. Была бы там ссылка не было бы этой темы.
|
|||
12
gurni
07.12.17
✎
17:28
|
(9) и что делать дальше подскажите
|
|||
13
dezss
07.12.17
✎
17:30
|
(12) сделать так, чтобы тип был не строка, а ссылка на твой документ.
|
|||
14
AlvlSpb
07.12.17
✎
17:36
|
(12) Чем и откуда заполняется это поле?
Сейчас там строка. Это либо (у примеру) ПРЕДСТАВЛЕНИЕ(Номенклатура) либо СТРОКА(Номенклатура.Ссылка), а должно быть Номенклатура.Ссылка |
|||
15
gurni
07.12.17
✎
17:36
|
(13) через отладчик получаю выражение того, что записывается в ячейку
там ПолучитьДокумент(Выборка.ЗаказПокупателя).Ссылка Заказ покупателя ТК000000077 от 14.11.2017 9:43:44 ДокументСсылка.ЗаказПокупателя нажимаю плюсик и раскрывается список |
|||
16
AlvlSpb
07.12.17
✎
17:37
|
(15) А тип поля в табличной части? Должен быть СправочникСсылка.ЗаказПокупателя
|
|||
17
gurni
07.12.17
✎
17:46
|
(16) ну там не обязательно заказ покупателя, может быть и реализация
|
|||
18
AlvlSpb
07.12.17
✎
17:49
|
(17) Так должно быть Составной тип данных, куда входят все документы, которые могут там присутствовать
|
|||
19
AlvlSpb
07.12.17
✎
17:50
|
(16) Конечно не СправочникСсылка.ЗаказПокупателя а ДокументСсылка.ЗаказПокупателя
|
|||
20
Михаил Козлов
07.12.17
✎
17:54
|
У поля ввода нужно колонки добавьте возможность открытия (должна появиться пиктограммка в виде лупы).
|
|||
21
Михаил Козлов
07.12.17
✎
17:54
|
нужно = нужной
|
|||
22
gurni
07.12.17
✎
17:55
|
(20) делал, но док не открывается
открывается маленькое окошечко с наименованием документа номером и датой |
|||
23
Михаил Козлов
07.12.17
✎
17:57
|
(22) Значит у Вас не ссылка, а представление. Тип проверьте.
И после присвоения посмотрите тип значения. |
|||
24
gurni
08.12.17
✎
09:43
|
(23) пишет строка
как это исправить? |
|||
25
hhhh
08.12.17
✎
09:46
|
(24) на лупу нажимайте, чтобы открыть. И вообще, у вас там поле ввода на форме или что?
|
|||
26
gurni
08.12.17
✎
09:51
|
(25) поле ввода
|
|||
27
gurni
08.12.17
✎
10:16
|
совсем запутался((
я запросом получаю данные, потом их записываю в ТЗ потом кликом по ячейке хочу открыть документ информация о котором там записана но никак и лупа не помогает и значение в ячейке ТЗ у меня строка |
|||
28
hhhh
08.12.17
✎
10:18
|
(27) ну, запрос показывай. и как пишешь результат запроса в тз
|
|||
29
gurni
08.12.17
✎
10:21
|
(28) Запрос.УстановитьПараметр("контр", контр);
Запрос.УстановитьПараметр("орган", орган); Запрос.Текст= "ВЫБРАТЬ | ЗаказыПокупателейОстаткиИОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента, | ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя КАК ЗаказПокупателя, | ЗаказыПокупателейОстаткиИОбороты.Номенклатура КАК Номенклатура, | ЗаказыПокупателейОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, | ЗаказыПокупателейОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, | ЗаказыПокупателейОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход, | ЗаказыПокупателейОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход, | ЗаказыПокупателейОстаткиИОбороты.Регистратор КАК Регистратор, | ЗаказыПокупателейОстаткиИОбороты.ПериодСекунда КАК ПериодСекунда, |ВЫБОР | КОГДА ЗаказыПокупателейОстаткиИОбороты.Регистратор ССЫЛКА Документ.ЗакрытиеЗаказовПокупателей | ИЛИ ЗаказыПокупателейОстаткиИОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ |КОНЕЦ КАК ЭтоЗакрытиеИлиВозврат, | ЗаказыПокупателейОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК Контрагент, | ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток КАК СуммаВзаиморасчетовНачальныйОстаток, | ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК СуммаВзаиморасчетовКонечныйОстаток, | ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК СуммаВзаиморасчетовПриход, | ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК СуммаВзаиморасчетовРасход, |ВЫБОР | КОГДА ЗаказыПокупателейОстаткиИОбороты.КоличествоКонечныйОстаток > 0 | ТОГДА ЗаказыПокупателейОстаткиИОбороты.КоличествоКонечныйОстаток | ИНАЧЕ 0 |КОНЕЦ КАК КоличествоНедопоставки, |ВЫБОР | КОГДА ЗаказыПокупателейОстаткиИОбороты.КоличествоКонечныйОстаток < 0 | ТОГДА ЗаказыПокупателейОстаткиИОбороты.КоличествоКонечныйОстаток | ИНАЧЕ 0 |КОНЕЦ КАК КоличествоНеПоЗаказу, |ВЫБОР | КОГДА ЗаказыПокупателейОстаткиИОбороты.КоличествоНачальныйОстаток > 0 | ТОГДА ЗаказыПокупателейОстаткиИОбороты.КоличествоНачальныйОстаток | ИНАЧЕ 0 |КОНЕЦ КАК КоличествоНедопоставкиН, |ВЫБОР | КОГДА ЗаказыПокупателейОстаткиИОбороты.КоличествоНачальныйОстаток < 0 | ТОГДА ЗаказыПокупателейОстаткиИОбороты.КоличествоНачальныйОстаток | ИНАЧЕ 0 |КОНЕЦ КАК КоличествоНеПоЗаказуН, |ВЫБОР | КОГДА ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток > 0 | ТОГДА ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток | ИНАЧЕ 0 |КОНЕЦ КАК СуммаНедопоставки, |ВЫБОР | КОГДА ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток < 0 | ТОГДА ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток | ИНАЧЕ 0 |КОНЕЦ КАК СуммаНеПоЗаказу, |ВЫБОР | КОГДА ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток > 0 | ТОГДА ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток | ИНАЧЕ 0 |КОНЕЦ КАК СуммаНедопоставкиН, |ВЫБОР | КОГДА ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток < 0 | ТОГДА ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток | ИНАЧЕ 0 |КОНЕЦ КАК СуммаНеПоЗаказуН |{ВЫБРАТЬ | ДоговорКонтрагента.*, | ЗаказПокупателя.*, | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | КоличествоНачальныйОстаток, | КоличествоКонечныйОстаток, | КоличествоПриход, | КоличествоРасход, | Регистратор, | ПериодСекунда, | ЭтоЗакрытиеИлиВозврат, | Контрагент.*, | СуммаВзаиморасчетовНачальныйОстаток, | СуммаВзаиморасчетовПриход, | СуммаВзаиморасчетовРасход, | СуммаВзаиморасчетовКонечныйОстаток, | КоличествоНедопоставки, | КоличествоНеПоЗаказу, | КоличествоНедопоставкиН, | КоличествоНеПоЗаказуН, | СуммаНедопоставки, | СуммаНеПоЗаказу, | СуммаНедопоставкиН, | СуммаНеПоЗаказуН} |ИЗ | РегистрНакопления.ЗаказыПокупателей.ОстаткиИОбороты(, , Авто, ДвиженияИГраницыПериода, ) КАК ЗаказыПокупателейОстаткиИОбороты |ГДЕ | ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя.Контрагент = &контр |{ГДЕ | ЗаказыПокупателейОстаткиИОбороты.ДоговорКонтрагента.*, | ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя.*, | ЗаказыПокупателейОстаткиИОбороты.Номенклатура.*, | ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры.*, | ЗаказыПокупателейОстаткиИОбороты.КоличествоНачальныйОстаток, | ЗаказыПокупателейОстаткиИОбороты.КоличествоКонечныйОстаток, | ЗаказыПокупателейОстаткиИОбороты.КоличествоОборот, | ЗаказыПокупателейОстаткиИОбороты.КоличествоПриход, | ЗаказыПокупателейОстаткиИОбороты.КоличествоРасход, | ЗаказыПокупателейОстаткиИОбороты.Регистратор, | (ЗаказыПокупателейОстаткиИОбороты.Регистратор ССЫЛКА Документ.ЗакрытиеЗаказовПокупателей) КАК ЭтоЗакрытиеИлиВозврат, | ЗаказыПокупателейОстаткиИОбороты.ДоговорКонтрагента.Владелец.* КАК Контрагент, | ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток, | ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовПриход, | ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовРасход, | ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток}"; РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл НоваяСтрока.ДоговорКонтрагента = Выборка.ДоговорКонтрагента; НоваяСтрока.ЗаказПокупателя = ПолучитьДокумент(Выборка.ЗаказПокупателя); НоваяСтрока.Номенклатура = Выборка.Номенклатура; НоваяСтрока.КоличествоНачальныйОстаток = Выборка.КоличествоНачальныйОстаток; НоваяСтрока.КоличествоКонечныйОстаток = Выборка.КоличествоКонечныйОстаток; НоваяСтрока.КоличествоРасход = Выборка.КоличествоРасход; НоваяСтрока.Регистратор = ПолучитьДокумент(Выборка.Регистратор); НоваяСтрока.СуммаВзаиморасчетовКонечныйОстаток = Выборка.СуммаВзаиморасчетовКонечныйОстаток; НоваяСтрока.СуммаНедопоставки = Выборка.СуммаНедопоставки; НоваяСтрока.КоличествоНедопоставки = Выборка.КоличествоНедопоставки; КонецЦикла; |
|||
30
gurni
08.12.17
✎
10:22
|
Функция ПолучитьДокумент(ТекстДляЗагрузки)
СписокДокументов = Новый СписокЗначений; Если ПустаяСтрока(ТекстДляЗагрузки) Тогда Возврат СписокДокументов; КонецЕсли; СЗВидДок = Новый СписокЗначений; Для Каждого МетаДок Из Метаданные.Документы Цикл СЗВидДок.Добавить(МетаДок.Имя, МетаДок.Синоним); КонецЦикла; ТекстДок = Новый ТекстовыйДокумент; ТекстДок.УстановитьТекст(ТекстДляЗагрузки); Для НомСтр = 1 По ТекстДок.КоличествоСтрок() Цикл Стр = СокрЛП(ТекстДок.ПолучитьСтроку(НомСтр)); Если Лев(Стр, 1) = """" Тогда // (Лев(Стр, 1) = """") И (Прав(Стр, 1) = """") Тогда Стр = Сред(Стр, 2); // Стр = Сред(Стр, 2, СтрДлина(Стр) - 2); КонецЕсли; // определим вид документа ТекВидДок = Неопределено; СтрДатаНомер = Неопределено; Для Каждого ТекЭлем Из СЗВидДок Цикл Если Найти(Стр, ТекЭлем.Представление) = 1 Тогда ТекВидДок = ТекЭлем.Значение; СтрДатаНомер = СокрЛ(Сред(Стр, СтрДлина(ТекЭлем.Представление) + 1)); Прервать; КонецЕсли; КонецЦикла; // 000001 от 01.01.2012 МассивПодстрок = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СтрДатаНомер, " от "); НомерДок = МассивПодстрок[0]; СтрДатаДок = МассивПодстрок[1]; ДД = Число(Сред(СтрДатаДок, 1, 2)); ММ = Число(Сред(СтрДатаДок, 4, 2)); ГГГГ = Число(Сред(СтрДатаДок, 7, 4)); ДатаДок = Дата(ГГГГ, ММ, ДД); ДокСсылка = Неопределено; // в простейшем варианте поиск документа: // ДокСсылка = Документы[ТекВидДок].НайтиПоНомеру(НомерДок, ДатаДок); // в чуть более сложном: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | Ссылка |ИЗ | Документ." + ТекВидДок + " |ГДЕ | НАЧАЛОПЕРИОДА(Дата, ДЕНЬ) = &Дата | И Номер = &Номер"; Запрос.УстановитьПараметр("Дата", НачалоДня(ДатаДок)); Запрос.УстановитьПараметр("Номер", НомерДок); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда ДокСсылка = Выборка.Ссылка; КонецЕсли; КонецЦикла; // Сообщить(ТипЗнч(ДокСсылка)); Возврат ДокСсылка; КонецФункции |
|||
31
gurni
08.12.17
✎
10:23
|
привел запрос и его вывод
ниже функция переводящая информацию о доке в ссылку на него |
|||
32
hhhh
08.12.17
✎
10:25
|
ну так
НоваяСтрока.ЗаказПокупателя = Выборка.ЗаказПокупателя; |
|||
33
gurni
08.12.17
✎
10:31
|
(32) сделал так, добавил возможность открытия на ячейки
после нажатия открывается маленькое окошечко с наименованием документа, его номером и датой |
|||
34
hhhh
08.12.17
✎
10:33
|
(33) а в НоваяСтрока.ЗаказПокупателя какой у вас тип?
|
|||
35
Табуретко
08.12.17
✎
10:35
|
значит реквизит ЗаказПокупателя у него строка...
а в документе регистраторе есть ссылка на документ заказа? |
|||
36
Табуретко
08.12.17
✎
10:36
|
если регистратор и есть ЗаказПокупателя то
НоваяСтрока.ЗаказПокупателя = Выборка.Регистратор |
|||
37
Табуретко
08.12.17
✎
10:38
|
или скорее всего (34) прав...
|
|||
38
gurni
08.12.17
✎
10:38
|
(35) я и писал ранее, что строка
и спрашивал что сделать, чтобы открыть документ |
|||
39
gurni
08.12.17
✎
10:39
|
(36) выборка.регистратор и выборка.заказпокупателя два разных значения
|
|||
40
Табуретко
08.12.17
✎
10:39
|
поставь ДокументСсылка
|
|||
41
gurni
08.12.17
✎
10:40
|
(34) строка я же писал
|
|||
42
gurni
08.12.17
✎
10:40
|
(40) куда???
|
|||
43
Табуретко
08.12.17
✎
10:43
|
если в таблице (которую заполняеш) реквизит ЗаказПокупателя у тебя тип строка - поменяй на ДокументСсылка
|
|||
44
gurni
08.12.17
✎
10:44
|
(43) как это сделать подскажите
|
|||
45
George Wheels
08.12.17
✎
10:44
|
(29) НоваяСтрока это строка чего?
|
|||
46
gurni
08.12.17
✎
10:45
|
запрос я привел, заполнение по запросу тоже
где и что изменить? |
|||
47
gurni
08.12.17
✎
10:45
|
(45) ТЗ
|
|||
48
Табуретко
08.12.17
✎
10:45
|
ТЗ твоя где находится?
|
|||
49
gurni
08.12.17
✎
10:47
|
(48) на форме обработки
|
|||
50
George Wheels
08.12.17
✎
10:47
|
(47) Потом эту ТЗ куда выводишь?
|
|||
51
gurni
08.12.17
✎
10:48
|
(50) никуда, так визуально смотрю информацию
|
|||
52
Табуретко
08.12.17
✎
10:49
|
в реквизитах ТЗ найди ЗаказПокупателя и в свойствах реквизита выбери тип ДокументСсылка, там где у тебя сейчас строка
|
|||
53
Табуретко
08.12.17
✎
10:50
|
ты тролиш нас чтоли? тип строка он знает где а тип Документ ссылка в томже месте выбрать не можеш?
|
|||
54
gurni
08.12.17
✎
10:51
|
(52) все спасибо
|
|||
55
Табуретко
08.12.17
✎
10:53
|
не все спасибо, а ВСЕМ спасибо...
|
|||
56
George Wheels
08.12.17
✎
10:53
|
(51) Т.е. не ТЗ а ТЧ
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |