Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
ravinka
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 70
1

Ввод на основании по документу и справочнику

02.06.2015, 17:43. Просмотров 1415. Ответов 40
Метки нет (Все метки)

Всем добрый день!
Такая конфигурация есть док Меню нужно чтобы при вводе на основании заполнялся док НакладнаяНаОтпуск. Но есть нюанс в меню блюдо а в спрБлюда есть продукты как правильно организовать связку чтобы при вводе на основании Меню.Блюдо=Справочник.Блюда.Продукты и заполнялось уже в док НакладнаяНаотпуск.
0
Миниатюры
Ввод на основании по документу и справочнику   Ввод на основании по документу и справочнику   Ввод на основании по документу и справочнику  

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2015, 17:43
Ответы с готовыми решениями:

Вопрос по документу и справочнику
1C:Предприятие v8. Есть документ1. На его форме заполняются несколько полей: название дисциплины,...

Запрос по документу и справочнику
Значит так, есть у меня справочник Номенклатура, у которого есть табличная часть. Точнее у...

Ввод на основании
Есть справочник "Номенклатура" с реквизитами "ЦенаПродажи" и "ЦенаЗакупки". Есть документ...

Ввод на основании
Здравствуйте! Версия 1 Предприятие 8.1 (Учебная версия) Есть документ Оформление заказа. У него...

Ввод на основании
Есть Реализация на основании его создаю СчетФактура в БП....

40
duk337
2951 / 1763 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
04.06.2015, 10:08 2
В модуле объекта в ОбработкаЗаполнения() цикл по блюдам, по каждому блюду цикл по ингредиентам, внутри которого ТЧНакладной.Добавить().
0
ravinka
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 70
05.06.2015, 11:20  [ТС] 3
Цитата Сообщение от duk337 Посмотреть сообщение
В модуле объекта в ОбработкаЗаполнения() цикл по блюдам, по каждому блюду цикл по ингредиентам, внутри которого ТЧНакладной.Добавить().
эээммм а можно пример простенький, а то я чтот не понимаю

Добавлено через 6 минут
1C
1
2
3
4
5
6
7
8
9
10
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
        Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Меню") Тогда
        Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Меню Цикл
            НоваяСтрока = Товар.Добавить();
            НоваяСтрока.Наименование = ТекСтрокаПродукты.Блюдо;
        КонецЦикла;
    ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Блюда") Тогда
        // Заполнение шапки
    КонецЕсли;
    КонецПроцедуры
после тогда цикл в цикле что ли?
0
duk337
2951 / 1763 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
05.06.2015, 12:55 4
1C
1
2
3
4
5
6
Для Каждого Блюдо ИЗ Блюда Цикл
Для Каждого Ик ИЗ Блюдо.Продукты Цикл
НоваяСтрока = Об.Товары.Добавить();
НоваяСтрока.Наименование = Ик.Продукт;
КонецЦикла;
КонецЦикла;
Продукт и Наименование - ссылка на Спр.Номенклатура

Добавлено через 53 секунды
добавлять в накладную, ессно (Об)
0
05.06.2015, 12:55
ravinka
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 70
05.06.2015, 16:19  [ТС] 5
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Меню") Тогда
    Для Каждого Блюда ИЗ Блюда Цикл
        Для Каждого ТекСтрокаТовар ИЗ Блюда.Продукт Цикл
            НоваяСтрока = Товар.Добавить();
            НоваяСтрока.Наименование = Блюда.Продукт;
        КонецЦикла;
    КонецЦикла;
    ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Блюда") Тогда
        // Заполнение шапки
    КонецЕсли;
    //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры
Ошибка при выполнении обработчика - 'ОбработкаЗаполнения'
по причине:
{Документ.НакладнаяНаОтпуск.МодульОбъекта(35)}: Итератор для значения не определен
Для Каждого Блюда ИЗ Блюда Цикл
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,799
Записей в блоге: 1
Завершенные тесты: 1
05.06.2015, 16:21 6
Для Каждого Блюдо ИЗ Блюда Цикл
0
ravinka
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 70
05.06.2015, 16:26  [ТС] 7
как так для блюдо из блюда, мб
1C
1
2
3
4
Для Каждого Меню.Продукт из Блюда Цикл
Для Каждого ТекСтрокаТовар ИЗ Блюда.Продукт Цикл
НоваяСтрока = Товар.Добавить();
НоваяСтрока.Наименование = Блюда.Продукт;
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,799
Записей в блоге: 1
Завершенные тесты: 1
05.06.2015, 16:32 8
Блин, это просто переменная!

Хоть Колбасой назови!!!

Добавлено через 58 секунд
1C
1
2
3
4
Для Каждого епрст из Блюда Цикл
   Для Каждого ТекСтрокаТовар ИЗ епрст.Продукты Цикл
        НоваяСтрока = Товар.Добавить();
        НоваяСтрока.Наименование = ТекСтрокаТовар.Продукт;
Добавлено через 3 минуты
Синт. помощник:
Кликните здесь для просмотра всего текста
Для каждого (For each)
Синтаксис:
Для каждого <Имя переменной 1> Из <Имя переменной 2> Цикл
// Операторы
[Прервать;]
// Операторы
[Продолжить;]
// Операторы
КонецЦикла;

Параметры:
<Имя переменной 1>
Переменная, которой при каждом повторении цикла присваивается значение очередного элемента коллекции.

Из
Синтаксическая связка для параметра <Имя переменной 2>.

<Имя переменной 2>
Переменная или выражение, предоставляющее коллекцию. Элементы этой
коллекции будут присваиваться параметру <Имя переменной 1>.

Цикл
Операторы, следующие за ключевым словом Цикл выполняются, пока значение переменной <Имя переменной> меньше значения <Выражение 2>.

// Операторы
Исполняемый оператор или последовательность таких операторов.

Прервать
Позволяет прервать выполнение цикла в любой точке. После выполнение этого оператора управление передается оператору, следующему за ключевым словом КонецЦикла.

Продолжить
Немедленно передает управление в начало цикла, где производится вычисление и проверка условий выполнения цикла. Операторы, следующие в теле цикла за ним, на данной итерации обхода не выполняются.

КонецЦикла
Ключевое слово, которое завершает структуру оператора цикла.

Описание:
Оператор цикла Для каждого предназначен для циклического обхода коллекций значений. При каждой итерации цикла возвращается новый элемент коллекции. Обход осуществляется до тех пор, пока не будут перебраны все элементы коллекции.
0
ravinka
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 70
05.06.2015, 16:32  [ТС] 9
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Меню") Тогда
    Для Каждого Блюдо ИЗ Блюда Цикл
    Для Каждого Ик ИЗ Блюдо.Продукты Цикл
    НоваяСтрока = Об.Товары.Добавить();
    НоваяСтрока.Наименование = Ик.Продукт;
    КонецЦикла;
    КонецЦикла;
        КонецЕсли;
    //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры
{Документ.НакладнаяНаОтпуск.МодульОбъекта(35,23)}: Переменная не определена (Блюда)
Для Каждого Блюдо ИЗ <<?>>Блюда Цикл (Проверка: Сервер)
{Документ.НакладнаяНаОтпуск.МодульОбъекта(37,16)}: Переменная не определена (Об)
НоваяСтрока = <<?>>Об.Товары.Добавить(); (Проверка: Сервер)

Что то я вообще
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,799
Записей в блоге: 1
Завершенные тесты: 1
05.06.2015, 16:37 10
Цитата Сообщение от ravinka Посмотреть сообщение
{Документ.НакладнаяНаОтпуск.МодульОбъекта(35,23)}: Переменная не определена (Блюда)
Значит нет табличной части "БЛЮДА" у этого документа

Добавлено через 57 секунд
1C
1
Для Каждого Блюдо ИЗ ДанныеЗаполнения.Блюда Цикл
Добавлено через 1 минуту
Цитата Сообщение от ravinka Посмотреть сообщение
(Об)
Не нужно

1C
1
НоваяСтрока = Товары.Добавить();
0
ravinka
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 70
05.06.2015, 16:46  [ТС] 11
ик тода что такое?
ТЧ накладной
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,799
Записей в блоге: 1
Завершенные тесты: 1
05.06.2015, 16:47 12
ИК это тоже самое что и КОЛБАСА
0
ravinka
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 70
05.06.2015, 16:50  [ТС] 13
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Меню") Тогда
    Для Каждого Блюдо ИЗ ДанныеЗаполнения.Блюда Цикл
    Для Каждого ТекСтрокаТовар ИЗ Блюдо.Продукты Цикл
    НоваяСтрока = Товар.Добавить();
    НоваяСтрока.Наименование = ТекСтрокаТовар.Продукт;
    КонецЦикла;
    КонецЦикла;
        КонецЕсли;
    //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры

Ошибка при выполнении обработчика - 'ОбработкаЗаполнения'
по причине:
{Документ.НакладнаяНаОтпуск.МодульОбъекта(35)}: Поле объекта не обнаружено (Блюда)
Для Каждого Блюдо ИЗ ДанныеЗаполнения.Блюда Цикл
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,799
Записей в блоге: 1
Завершенные тесты: 1
05.06.2015, 16:51 14
У тебя в ДокументСсылка.Меню

Есть табличная часть БЛЮДА ????
0
ravinka
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 70
05.06.2015, 17:35  [ТС] 15
Цитата Сообщение от Dethmontt Посмотреть сообщение
У тебя в ДокументСсылка.Меню
Есть табличная часть БЛЮДА ????
в док Меню ТЧ.Продукты поле Блюдо
в спр Блюда поле Продукт
в док НакладнаяНаОтпуск ТЧ Товар поле Наименование

Добавлено через 34 минуты
блин вообще чтот запутался HELP ME
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,799
Записей в блоге: 1
Завершенные тесты: 1
05.06.2015, 23:38 16
ravinka, последний припоследний раз подсказываю.........
Читать читать и еще раз читать литературу, вы даже основ не знаете!!!!!!!!!!!!!

1C
1
2
3
4
Для Каждого СтрокаПродукты ИЗ ДанныеЗаполнения.Продукты Цикл
   Для Каждого ТекСтрокаТовар ИЗ СтрокаПродукты.Блюдо.<КакНазываетсяТЧ_ВСпрБЛЮДА> Цикл
      НоваяСтрока = Товар.Добавить();
      НоваяСтрока.Наименование = ТекСтрокаТовар.Продукт;
0
ravinka
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 70
06.06.2015, 10:29  [ТС] 17
ааааааазаработало)))
еще вопросик как грамотней реализовать у меня там плов и щи в обоих есть морковь
как в накладную перенести только одну запись
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,799
Записей в блоге: 1
Завершенные тесты: 1
07.06.2015, 01:05 18
У табличной части есть метод Найти()
0
ravinka
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 70
07.06.2015, 11:22  [ТС] 19
Цитата Сообщение от Dethmontt Посмотреть сообщение
У табличной части есть метод Найти()
ну найти и чо дальше то? как удалить повторяющиеся
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,799
Записей в блоге: 1
Завершенные тесты: 1
07.06.2015, 23:50 20
Цитата Сообщение от ravinka Посмотреть сообщение
ну найти и чо дальше то? как удалить повторяющиеся
А зачем удалять если можно не добавлять повторяющиеся?

Добавлено через 24 секунды
Если нашли уже такой Продукт, не добавляем в таблицу
0
07.06.2015, 23:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2015, 23:50

Ввод на основании
1С 8.0 Когда создаёшь документ вводимый на основании другого через конструктор: Процедура...

Ввод на основании
Уважаемые,программисты!Ситуация такая...Имеется документ &quot;ЗаявкаНаПриобритение&quot; в нем имеется...

Ввод на основании
Что я сделал не так что не устанавливается количество в тч списание товаров? Процедура...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru