|
Автоматическое заполнение табличной части | ☑ | ||
---|---|---|---|---|
0
RomanKR
09.08.12
✎
21:37
|
Добрый день, уважаемые эксперты!
Подскажите пожалуйста, как решить данную ситуацию? Идея: Есть табличная часть "Блюда" в документе "Расходная накладная". При добавлении в неё какого-либо блюда, нужно взять составляющие этого блюда и записать Во 2ю табличную часть этого же документа. Перечень составляющих находится в справочнике блюда. Нужно как-то при помощи запроса выбрать составляющие, относящиеся к выбранным блюдам. Буду примного благодарен за помощь. Задача выглядит очень простой, и то, что у меня не получается сделать даже ее, совсем опускаются руки. |
|||
1
Error pro
09.08.12
✎
21:41
|
(0) При добавлении получай список этих самых составляющих и загружай во вторую табличку. Если руками то ОбработкаВыбора.
|
|||
2
Hans
09.08.12
✎
21:46
|
(0) что именно не получается?
|
|||
3
Hostess_
of_Love 09.08.12
✎
21:48
|
(0)у Вас уже пятница?
|
|||
4
RomanKR
09.08.12
✎
22:40
|
Я сделал запрос но он не работает
&НаСервере Процедура БлюдаНаименованиеБлюдаПриИзменении(Элемент) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |Блюда.Компоненты.Наименование КАК Наименование , |Блюда.Компоненты.Норма КАК Норма, |ИЗ |Справочник.Блюда |ГДЕ |Блюда.Наименование = &Блюдо"; Запрос.УстановитьПараметр("Блюдо", Элементы.Блюдо.ТекущаяСтрока.ПолеБлюдо); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); НоваяСтрока = Элементы.Составляющие.ДобавитьСтроку(); НоваяСтрока.Поле1 = Выборка.Поле1; НоваяСтрока.Поле2 = Выборка.Поле2; КонецПроцедуры при изменении блюда ничего не происходит я просто новичок в этом!!! |
|||
5
Error pro
09.08.12
✎
22:45
|
(4) Ого, еще и на УФ. Если новичок то лучше почитай книги или вызови специалиста. Объяснять тут долго
|
|||
6
RomanKR
09.08.12
✎
22:51
|
ответ ясен!
|
|||
7
RomanKR
09.08.12
✎
22:54
|
Может можно как то попроще это реализовать? К примеру вот это При добавлении получай список этих самых составляющих и загружай во вторую табличку
|
|||
8
Hostess_
of_Love 09.08.12
✎
22:55
|
помогла бы, но 1с дома нет
|
|||
9
Hostess_
of_Love 09.08.12
✎
22:57
|
>>Запрос.УстановитьПараметр("Блюдо", Элементы.Блюдо.ТекущаяСтрока.ПолеБлюдо);
Элементы = элемент формы? о_О |
|||
10
Hostess_
of_Love 09.08.12
✎
22:58
|
(7)у тебя управляемые формы или обычные?
|
|||
11
hhhh
09.08.12
✎
22:59
|
(7) логически подумай: вот ты пишешь при изменении наименования блюда - выполнять эти действия. Вопрос: как часто повар меняет у вас наименования блюд?
|
|||
12
Error pro
09.08.12
✎
23:01
|
(7) Это на обычных формах, на уф нужно каждый раз вызывать серверную фукнцию.
Процедура ОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |Блюда.Компоненты.Наименование КАК Наименование , |Блюда.Компоненты.Норма КАК Норма, |ИЗ |Справочник.Блюда |ГДЕ |Блюда = &Блюдо"; Запрос.УстановитьПараметр("Блюдо", ВыбранноеЗначение); МояТЧ.Загрузить(Запрос.Выполнить.Выгрузить()); КонецПроцедуры |
|||
13
Hostess_
of_Love 09.08.12
✎
23:07
|
(11)Блюда - это ТЧ, НаименованиеБлюда - реквизит ТЧ
|
|||
14
RomanKR
09.08.12
✎
23:10
|
Я хочу чтобы при изменении блюда во 2 ТЧ выводились те ингридиенты из которых оно состоит! Формы управляемые! я же написал я ещё не разбираюсь в этом! Блюда это справочник а Наименование это стандартный реквизит справочника Блюда!
|
|||
15
Hostess_
of_Love 09.08.12
✎
23:11
|
(14) ответь на (9)
|
|||
16
RomanKR
09.08.12
✎
23:11
|
Блюда храняться с ингридиентами храняться в другом справочнике и из него уже я выбираю в расходную накладную это блюдо и его состовляющие для списания по регистру накопления!
|
|||
17
Hostess_
of_Love 09.08.12
✎
23:11
|
(16)курсовик на 8.2 клепаешь?
|
|||
18
RomanKR
09.08.12
✎
23:12
|
(9) Да это так Элементы = элемент формы так как в УФ используеться Элементы
|
|||
19
RomanKR
09.08.12
✎
23:12
|
Диплом
|
|||
20
Hostess_
of_Love 09.08.12
✎
23:14
|
(18)ингридиенты в справочнике как хранятся?
|
|||
21
Hostess_
of_Love 09.08.12
✎
23:14
|
реквизиты или ТЧ?
|
|||
22
RomanKR
09.08.12
✎
23:15
|
ТЧ компоненты
|
|||
23
Hostess_
of_Love 09.08.12
✎
23:30
|
&НаКлиенте
Процедура БлюдаНаименованиеБлюдаПриИзменении(Элемент) СписокИнгридентов = ПолучитьИнгридиенты(Элементы.Блюдо.ТекущиеДанные); Для Каждого СтрокаСпискаИнгридиентов Из СписокИнгридиентов Цикл НоваяСтрокаИнгридиентов = Составляющие.ДобавитьСтроку(); НоваяСтрокаИнгридиентов.Поле1 = СтрокаСпискаИнгридиентов.Наименование; новаястрокаингридиентов.поле2 = СтрокаСпискаИнгридиентов.Норма; конеццикла КонецПроцедуры &НаСервере Функция ПолучитьИнгридиенты(Блюдо) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |Блюда.Компоненты.Наименование КАК Наименование , |Блюда.Компоненты.Норма КАК Норма, |ИЗ |Справочник.Блюда Как Блюда |ГДЕ |Блюда.Наименование = &Блюдо"; Запрос.УстановитьПараметр("Блюдо", Блюдо.ПолеБлюдо); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); СписокИнгридиентов = Новый ТаблицаЗначений; НоваяСтрока = СписокИнгридиентов.ДобавитьКолонку("Наименование"); НоваяСтрока = СписокИнгридиентов.ДобавитьКолонку("Норма"); пока выборка.следующий цикл НоваяСтрока = СписокИнгридиентов.ДобавитьСтроку(); НоваяСтрока.Наименование = Выборка.Наименование; НоваяСтрока.Норма = Выборка.Норма; конеццикла; Возврат СписокИнгридиентов КонецФункции Попробуй так |
|||
24
Hostess_
of_Love 09.08.12
✎
23:31
|
хотя не совсем уверена в правильности. но то что пытаешься обратиться к элементам формы с сервера....
|
|||
25
RomanKR
09.08.12
✎
23:33
|
Хорошо спасибо за помощь попробую!
|
|||
26
Hostess_
of_Love 09.08.12
✎
23:34
|
пробуй.потом камнями закидаешь
|
|||
27
RomanKR
09.08.12
✎
23:38
|
{Документ.РасходнаяНакладная.Форма.ФормаДокумента.Форма(39,46)}: Переменная не определена (СписокИнгридиентов)
{Документ.РасходнаяНакладная.Форма.ФормаДокумента.Форма(40,37)}: Переменная не определена (Составляющие) |
|||
28
RomanKR
09.08.12
✎
23:38
|
ты хотя бы помогаешь а не нравоучаешь
|
|||
29
Hostess_
of_Love 09.08.12
✎
23:40
|
(27)процитируй строки из кода
(28)сама такой же была |
|||
30
RomanKR
09.08.12
✎
23:41
|
(27) Для Каждого СтрокаСпискаИнгридиентов Из СписокИнгридиентов Цикл
НоваяСтрокаИнгридиентов = Составляющие.ДобавитьСтроку(); |
|||
31
Hostess_
of_Love 09.08.12
✎
23:42
|
НоваяСтрокаИнгридиентов = Элементы.Составляющие.ДобавитьСтроку();
|
|||
32
Hostess_
of_Love 09.08.12
✎
23:43
|
Ты просто скопировал код? у меня там одна буква пропущена
|
|||
33
Hostess_
of_Love 09.08.12
✎
23:44
|
+(32)СписокИнгридентов = ПолучитьИнгридиенты(Элементы.Блюдо.ТекущиеДанные);
Для Каждого СтрокаСпискаИнгридиентов Из СписокИнгридиентов Цикл попробуй найти где именно |
|||
34
RomanKR
09.08.12
✎
23:46
|
Нашёл где только во 2 ТЧ ничего не переноситься ничего не происходит когда я выбираю блюдо!
|
|||
35
RomanKR
09.08.12
✎
23:46
|
во 2 ТЧ документа расходная накладная которая называеться Состовляющие
|
|||
36
Hostess_
of_Love 09.08.12
✎
23:46
|
вторая ТЧ как называется?
|
|||
37
RomanKR
09.08.12
✎
23:50
|
Вообщем чтобы понятно было При выборе блюда в расходной накладной у меня в этом документе 2 ТЧ Блюда в 1 ТЧ один реквизит ТЧ НАименование блюда которой привязан к справочнику Блюда а во 2 ТЧ Состовляющие 2 реквизита Наименование и Норма которые есть в справочники Блюда! И вот при выборе блюда в в 1 ТЧ из вызываемой формы мне надо чтобы состовляющие перенеслись во 2ТЧ
|
|||
38
Hostess_
of_Love 09.08.12
✎
23:52
|
как бэ это было понятно. я без конфигуратора больше пока ничем не могу помочь
|
|||
39
Hostess_
of_Love 09.08.12
✎
23:52
|
а зачем вообще 2 ТЧ?
|
|||
40
RomanKR
09.08.12
✎
23:53
|
чтобы там хранить данные ингридиентов! если я не прав я согласен сделать оп доугому если можно попроще!
|
|||
41
RomanKR
09.08.12
✎
23:54
|
чтобы потом с помощью них сделать остатки
|
|||
42
Hostess_
of_Love 09.08.12
✎
23:56
|
ммм... понятно. отладчиком умеешь пользоваться?
|
|||
43
RomanKR
09.08.12
✎
23:57
|
ну примерно понимаю что это такое ты про точку остановы?
|
|||
44
Hostess_
of_Love 09.08.12
✎
23:59
|
да-да. поставь точку перед Запрос = Новый Запрос;
а потом проверь Выборка.Следующий() (выделить и нажать shift+f9) |
|||
45
RomanKR
09.08.12
✎
23:59
|
Есть ещё к тебе вопрос вдруг знаешь ты
Нужно составить меню а меню может состоять из нескольких блюд и блюда выбираюсться из Вызываемая форма которая иерархическая! Вопрос состоит в том что как сделать так чтобы Вызываемая форма не закрывалась до тех пор пока не выберешь все нужные блюда, а не сразу после выбора 1 блюда? |
|||
46
Hostess_
of_Love 10.08.12
✎
00:00
|
только не сразу, сначала дойди до строки НоваяСтрока = СписокИнгридиентов.ДобавитьСтроку();
|
|||
47
Hostess_
of_Love 10.08.12
✎
00:00
|
(45)Вызываемая форма это форма списка справочника?
|
|||
48
RomanKR
10.08.12
✎
00:01
|
не двигаеться он по запросу вообще точка остановы на месте стоит и все как блюдо выбираю на этом все и заканчиваеться и пошагово не идент по коду просит перезапустить приложение и вычисление выражения не доступно
|
|||
49
RomanKR
10.08.12
✎
00:03
|
Вызываемая форма справочник Блюда!
|
|||
50
RomanKR
10.08.12
✎
00:06
|
ты извини если я буду некомпитентен в своих высказываниях
|
|||
51
Hostess_
of_Love 10.08.12
✎
00:09
|
(48)о_О хм... Слушай, а ты с какого города?
(49)для такого надо делать форму подбора, если не ошибаюсь |
|||
52
RomanKR
10.08.12
✎
00:10
|
(48) Киров
(49) как ещё бы её делать знать |
|||
53
Hostess_
of_Love 10.08.12
✎
00:11
|
(52)жаль не из Мск
могу сказать "Посмотри в типовых", но для тебя это роскошь)))) |
|||
54
Hostess_
of_Love 10.08.12
✎
00:12
|
я сама сейчас просто без своего ноута, а на ПК линуха стоит, и 1с тут не ставится
|
|||
55
RomanKR
10.08.12
✎
00:12
|
(52) Почему?
Слово роскошь Значило Что это сложно для меня будет? |
|||
56
Hostess_
of_Love 10.08.12
✎
00:13
|
так бы проще было помочь, ибо уже бы накидала и справочник и документ
|
|||
57
Hostess_
of_Love 10.08.12
✎
00:13
|
(55)слово "роскошь" означает, что тебе их не достать просто так
|
|||
58
RomanKR
10.08.12
✎
00:14
|
я понимаю это через общие модули надо делать а там уже произвольную форму состовлять из нескольких обьектов и ты на (52) не ответила
|
|||
59
Hostess_
of_Love 10.08.12
✎
00:16
|
зачем общие модули? они нужны дабы по двести раз не писать в модулях разных форм и объектов один и тот же кусок кода длиной n строк
|
|||
60
RomanKR
10.08.12
✎
00:16
|
ладно с (52) я отстану раз отвечать не хочешь! а как тогда это реализовать?
|
|||
61
Hostess_
of_Love 10.08.12
✎
00:17
|
(60)я не не хочу, я с этим не разбиралась, знаю что в типовых конфигурациях есть такие формы, а как их делать - хз
|
|||
62
RomanKR
10.08.12
✎
00:18
|
Спасибо и на этом за помощь ОГРОМНОЕ СПАСИБО!!!
|
|||
63
Hostess_
of_Love 10.08.12
✎
00:19
|
(62) если что - в аську напиши
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |