| 
    
        
     
     | 
    
  | 
Автоматическое заполнение табличной части | ☑ | ||
|---|---|---|---|---|
| 
    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) если что - в аську напиши     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |