|
Упр.приложение 1С 8.2: как получить ТЧ документа в общем модуле? | ☑ | ||
---|---|---|---|---|
0
Kleo
25.11.13
✎
19:15
|
Добавлена новая команда в Общие команды, в ней написан код:
&НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) МойОбщийМодуль.СоздатьВыпуск(ПараметрКоманды); КонецПроцедуры где параметр команды - Реализация товаров и услуг а МойОбщийМоудль - модуль в общих модулях далее пишу в общем модуле: &НаКлиенте Процедура СоздатьВыпуск(ПараметрКоманды) Экспорт сообщить("Создание выпуска"+ПараметрКоманды); Конецпроцедуры так вот, отладчиком смотрю параметрКоманды - имеет тип ДокументСсылка.РеализацияТоваровУслуг. Подскажите, пожалуйста, как обратить к табличной части этого документа "Товары". Пробую пишет, что нужно на сервере получать объект, а затем ТЧ. но эти методы не работают на клиенте, а на сервере не могу никак передать из процедуры СоздатьВыпуск(ПараметрКоманды) в другую процедуру НаСервере - пишет ошибку, что не обнаружена процедура с таким именем. подскажите, как обратиться к табличной части документа, который выражен в переменной параметрКоманды? |
|||
1
Ерепень
25.11.13
✎
19:16
|
то есть, на сервер упорно ходить не хотим
|
|||
2
Kleo
25.11.13
✎
19:23
|
(1)хотим. как? ругается, что имя процедуры не обнаружено
|
|||
3
Ерепень
25.11.13
✎
19:24
|
вызов сервера надо модулю разрешить
|
|||
4
Kleo
25.11.13
✎
19:25
|
Передала из команды в общий мдуль ПараметрВыполненияКоманды
Процедура СоздатьВыпуск(ПараметрКоманды,ПараметрыВыполненияКоманды) Экспорт нахожу ПараметрыВыполненияКоманды.Источник.Объект.Товары - тип значения - ДанныеФормыЗначения. и что это дает? ничего.... как быть? как в управляемых формах все сложно. получить табличную часть документа, из которго вызываешь команду - такая проблема!! |
|||
5
samozvanec
25.11.13
✎
19:28
|
(0) чего хочешь то? точно общая команда нужна?
|
|||
6
Ерепень
25.11.13
✎
19:28
|
(4) ты ж ссылку получил
|
|||
7
Kleo
25.11.13
✎
19:31
|
(5) хочу из Командной панели формы: Создать наосновании документа Реализации товаров и услуг вызвать команду, которая на откроет модуль, который создаст на основаниидокумента документ Выпуска продукции
|
|||
8
samozvanec
25.11.13
✎
19:32
|
(6) у нее, видимо, этот же объект открыт на редактирование в форме. толку ей от ссылки?
(4) ну ее и редактируй, чего не так? |
|||
9
Kleo
25.11.13
✎
19:33
|
(3) поставила галочку Вызов сервера, пишу в общем модуле:
&НаКлиенте Процедура СоздатьВыпуск(ПараметрКоманды,ПараметрыВыполненияКоманды) Экспорт сообщить("Создание выпуска"+ПараметрКоманды); Сообщить("Тип "+ТипЗнч(ПараметрКоманды)); ДокОсн = ПараметрКоманды; ПолучитьДокОсн(ДокОсн); Конецпроцедуры &НаСервере Процедура ПолучитьДокОсн(ДокОсн) Экспорт Сообщить("ДокОсн "+ДокОсн); КонецПроцедуры ошибка: {ОбщийМодуль.МойОбщийМодуль.Модуль(19,2)}: Процедура или функция с указанным именем не определена (ПолучитьДокОсн) <<?>>ПолучитьДокОсн(ДокОсн); (Проверка: Тонкий клиент) |
|||
10
samozvanec
25.11.13
✎
19:33
|
(7) самое простое, что ты можешь сейчас сделать - это посмотреть, как работает конструктор ввода на основании, и сделать как тебе надо, только правильно. общие команды здесь не при чем.
|
|||
11
Kleo
25.11.13
✎
19:34
|
(8) редактировать мне табличную часть реализации не нужно. мне нужно получить данные этой табличной части, чтобы на основании создать выпуск продукции и заполнить табличн.часть этого документа
|
|||
12
samozvanec
25.11.13
✎
19:34
|
(9) не надо в одном общем модуле и клиентские и серверные процедуры писать
|
|||
13
samozvanec
25.11.13
✎
19:35
|
(11) юзай конструктор. он тебе все сделает, поправишь просто как тебе надо
|
|||
14
Kleo
25.11.13
✎
19:36
|
(10) но именно в общей команде я указываю Группу размещения моей команды. ив ней тип команды РеализацияТоваровУслуг. задача такая - создать команды, общие моудли новые, но не трогать функционал типового документа Реализация товаров и услуг
|
|||
15
Kleo
25.11.13
✎
19:37
|
(12) почему? как быть? констурктор создания на основани мне не нужен. раньше все работало в БП 2.0 с помощью внешней обработки, которая создавала документ выпуска. при этом типовое решение не корректировалась и доки типовые тоже. а в 3.0 решила создать с помощью команды
|
|||
16
Мимохожий Однако
25.11.13
✎
19:41
|
Какие параметры у общего модуля МойОбщийМодуль?
|
|||
17
Kleo
25.11.13
✎
19:46
|
просто вопрос: что нельзя в общем модуле из одной процедуры на клиенте перейти в процедуру на сервере?
|
|||
18
Kleo
25.11.13
✎
19:48
|
(16) имеется ввиду свойства? поставила галочки "Вызов сервера" , "Клиент, "Сервер"
|
|||
19
Kleo
25.11.13
✎
20:01
|
убрала галочку Клиент, теперьв общем модуле ошибки нет. возникает ошибка в модуле команды
{ОбщаяКоманда.СоздатьВыпуск.МодульКоманды(4,3)}: Переменная не определена (МойОбщийМодуль) <<?>>МойОбщийМодуль.СоздатьВыпуск(ПараметрКоманды,ПараметрыВыполненияКоманды); (Проверка: Тонкий клиент) |
|||
20
Мимохожий Однако
25.11.13
✎
20:13
|
Посмотри как сделаны типовые команды в конфигурации и повтори в своих объектах. Гадать и телепатить, что там у тебя, долго и непрактично.
|
|||
21
Kleo
25.11.13
✎
20:53
|
разобралась Поставила Вызов сервера и Сервер. а в модуле убрала НаКлиенте и НаСервере слова от процедур.
но вот теперь проблем другая - хочу открыть из общего модуля форму созданного выпуска - пишет, что нельзя использовать интерактивные команды |
|||
22
Мимохожий Однако
25.11.13
✎
21:02
|
Открывай из другого места
|
|||
23
Kleo
25.11.13
✎
21:17
|
(22) из какого?
|
|||
24
Kleo
25.11.13
✎
21:17
|
у меня создается новый док. все прописывается в прееменную новыйДок. и получается это нужно сохранить и потом открыть форму, но как и где?
|
|||
25
m-serg74
25.11.13
✎
21:55
|
(24) может пригодится и все упростит:
|
|||
26
Kleo
25.11.13
✎
21:57
|
Сделала!!! В модуле команды:
&НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) Форма = ПолучитьФорму("Документ.ОтчетПроизводстваЗаСмену.ФормаОбъекта"); ДанныеФормы = Форма.Объект; МойОбщийМодуль.СоздатьВыпуск(ПараметрКоманды,ДанныеФормы); КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); Форма.Открыть(); КонецПроцедуры а в общем моудле добавила строчку: ЗначениеВДанныеФормы(НовыйДок,ДанныеФормы); |
|||
27
m-serg74
25.11.13
✎
21:58
|
+ (25) причем открывается форма нового еще не записанного документа, т.е. пользователь сам примет решение записывать/не записывать, может еще чего решит поменять.
В функцию ЗаполнитьДокументНаСервере добавь параметр с ссылкой твоего дока основания, и пропиши заполнение |
|||
28
Kleo
25.11.13
✎
21:58
|
Спасибо всем!!!
|
|||
29
Kleo
25.11.13
✎
21:59
|
(27) совершенно верно! именно это мне и нужно было!!! Все сделала!!! спасибо!
|
|||
30
m-serg74
25.11.13
✎
21:59
|
(29) носите на здоровье:-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |