Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
27 ноя 2024, 07:36

Регистр Накопления

Автор bossko 844, 06 июн 2020, 17:33

0 Пользователей и 2 гостей просматривают эту тему.

bossko 844

Цитата: DmitriyF от 06 июн 2020, 18:33
Цитата: bossko 844 от 06 июн 2020, 18:25
Ага понял, идея более менее хорошая, а не подскажите как это реализовать ?я просто пока не понимаю как мне получить ингредиенты, которые хранятся в справочнике в табличной части блюда, и поместить их в эту табличную часть, и плюс ко всему в зависимости от выбранного блюда в первой табличной части, звучит как-то ужасно :o
При подборе смотришь, если это блюдо то делаешь запрос к справочнику и получаешь список ингредиентов.

Запрос не твой но примерно будет понятно.
"ВЫБРАТЬ
|   НоменклатураДополнительныеРеквизиты.Ссылка КАК Ссылка,
|   НоменклатураДополнительныеРеквизиты.НомерСтроки КАК НомерСтроки,
|   НоменклатураДополнительныеРеквизиты.Свойство КАК Свойство,
|   НоменклатураДополнительныеРеквизиты.Значение КАК Значение,
|   НоменклатураДополнительныеРеквизиты.ТекстоваяСтрока КАК ТекстоваяСтрока
|ИЗ
|   Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
|ГДЕ
|   НоменклатураДополнительныеРеквизиты.Ссылка = &Номенклатура"

ну вот я сейчас пробую с помощью такого запроса
Добавлено: 06 июн 2020, 18:57


Цитата: DmitriyF от 06 июн 2020, 18:33
Цитата: bossko 844 от 06 июн 2020, 18:25
Ага понял, идея более менее хорошая, а не подскажите как это реализовать ?я просто пока не понимаю как мне получить ингредиенты, которые хранятся в справочнике в табличной части блюда, и поместить их в эту табличную часть, и плюс ко всему в зависимости от выбранного блюда в первой табличной части, звучит как-то ужасно :o
При подборе смотришь, если это блюдо то делаешь запрос к справочнику и получаешь список ингредиентов.

Запрос не твой но примерно будет понятно.
"ВЫБРАТЬ
|   НоменклатураДополнительныеРеквизиты.Ссылка КАК Ссылка,
|   НоменклатураДополнительныеРеквизиты.НомерСтроки КАК НомерСтроки,
|   НоменклатураДополнительныеРеквизиты.Свойство КАК Свойство,
|   НоменклатураДополнительныеРеквизиты.Значение КАК Значение,
|   НоменклатураДополнительныеРеквизиты.ТекстоваяСтрока КАК ТекстоваяСтрока
|ИЗ
|   Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
|ГДЕ
|   НоменклатураДополнительныеРеквизиты.Ссылка = &Номенклатура"

что-то я запутался, я делал нечто подобное но проще, была форма с логином и паролем и когда вводишь сравнивало есть ли такой в справочнике и если да то пускал, а здесь взять блюдо из первой тч, найти его в справочнике, из этого справочника из табличной части взять ингредиенты и поместить во вторую
Добавлено: 06 июн 2020, 21:39


Цитата: DmitriyF от 06 июн 2020, 18:33
Цитата: bossko 844 от 06 июн 2020, 18:25
Ага понял, идея более менее хорошая, а не подскажите как это реализовать ?я просто пока не понимаю как мне получить ингредиенты, которые хранятся в справочнике в табличной части блюда, и поместить их в эту табличную часть, и плюс ко всему в зависимости от выбранного блюда в первой табличной части, звучит как-то ужасно :o
При подборе смотришь, если это блюдо то делаешь запрос к справочнику и получаешь список ингредиентов.

Запрос не твой но примерно будет понятно.
"ВЫБРАТЬ
|   НоменклатураДополнительныеРеквизиты.Ссылка КАК Ссылка,
|   НоменклатураДополнительныеРеквизиты.НомерСтроки КАК НомерСтроки,
|   НоменклатураДополнительныеРеквизиты.Свойство КАК Свойство,
|   НоменклатураДополнительныеРеквизиты.Значение КАК Значение,
|   НоменклатураДополнительныеРеквизиты.ТекстоваяСтрока КАК ТекстоваяСтрока
|ИЗ
|   Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
|ГДЕ
|   НоменклатураДополнительныеРеквизиты.Ссылка = &Номенклатура"

Пришёл вот к такому но пока ошибка

&НаСервере
Процедура Подбор()
   
    Объект.Состав.Очистить();

    Для Каждого Продукт Из Объект.СоставЗаказа Цикл
       
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    СоставСписокИнгредиентов.Ссылка,
                   |    СоставСписокИнгредиентов.НомерСтроки,
                   |    СоставСписокИнгредиентов.Сырье,
                   |    СоставСписокИнгредиентов.Количество
                   |ИЗ
                   |    Справочник.Продукт.Состав КАК СоставСписокИнгредиентов
                   |ГДЕ
                   |    СоставСписокИнгредиентов.Ссылка = &Продукт";
                       
    Запрос.УстановитьПараметр("Продукт", Продукт.Наименование.Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        НоваяСтрока = Объект.Состав.Добавить();
        ЗаполнитьЗначенияСвойств(НоваяСтрока,Выборка);
        КонецЦикла;

    КонецЦикла;

КонецПроцедуры


{Документ.Заказы.Форма.ФормаДо кумента.Форма(114)}: Поле объекта не обнаружено (Наименование)
Запрос.УстановитьПараметр("Про дукт", Продукт.Наименование.Ссылка);

DmitriyF

Цитата: bossko 844 от 06 июн 2020, 18:44
{Документ.Заказы.Форма.ФормаДо кумента.Форма(114)}: Поле объекта не обнаружено (Наименование)
Запрос.УстановитьПараметр("Про дукт", Продукт.Наименование.Ссылка);
так тут же черным по белому, не правильно устанавливаешь параметр. Поставь точку останова на Запрос.УстановитьПараметр и посмотри что туда передаешь(Продукт.Наименование.Ссылка).

bossko 844

Цитата: DmitriyF от 06 июн 2020, 23:48
Цитата: bossko 844 от 06 июн 2020, 18:44
{Документ.Заказы.Форма.ФормаДо кумента.Форма(114)}: Поле объекта не обнаружено (Наименование)
Запрос.УстановитьПараметр("Про дукт", Продукт.Наименование.Ссылка);
так тут же черным по белому, не правильно устанавливаешь параметр. Поставь точку останова на Запрос.УстановитьПараметр и посмотри что туда передаешь(Продукт.Наименование.Ссылка).
уже такая ошибка
Документ.Заказы.Форма.ФормаДокумента.Форма(117)}: Ошибка при вызове метода контекста (Выполнить)
   Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(8, 37)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
СоставСписокИнгредиентов.Ссылка <<?>>= &Продукт

по причине:
{(8, 37)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
СоставСписокИнгредиентов.Ссылка <<?>>= &Продукт

DmitriyF

Так ты посмотри, что ты передаёшь в Продукт? Там у тебя должно быть твоё блюдо.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск