8.х Групповое оформелние заказов поставщику

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Allight, 9 авг 2008.

  1. TopicStarter Overlay
    Allight
    Offline

    Allight

    Регистрация:
    7 авг 2008
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Управление торговлей 10.3.3
    Продолжаю осваивать программирование в 1С :unsure:
    Ситуация такая: у нас каждая номенклатура привязана к определенному поставщику. Для этого в справочник Номенклатура
    добавлен реквизит Контрагент. Информация о поставщике попадает в табличную часть Заказа покупателя в
    реквизит Поставщик. В форму документа Заказ покупателя я добавил кнопку Сформировать заказ потавщику:
    предполагается, что на основании Заказа покупателя будут автоматически формироваться сразу несколько
    заказов поставщику. При нажатии кнопки включается такая-вот процедура:
    Код:
    Процедура ЗаказПоставщикуНажатие(Элемент)
    
    ДанныеДляЗаказаПоставщику=ЭтотОбъект.Товары.Выгрузить();
    ДанныеДляЗаказаПоставщику.Свернуть("Поставщик, Номенклатура",
    "Количество, КоличествоМест, Сумма, СуммаНДС");
    Для каждого Поставщик из ДанныеДляЗаказаПоставщику Цикл 
    НовДок=Документы.ЗаказПоставщику.СоздатьДокумент();
    НовДок.Дата=ТекущаяДата();
    НовДок.Контрагент=ДанныеДляЗаказаПоставщику.Поставщик;
    НовДок.ВалютаДокумента=ЭтотОбъект.ВалютаДокумента;        
    НовДок.КратностьВзаиморасчетов=ЭтотОбъект.КратностьВзаиморасчетов;
    НовДок.КурсВзаиморасчетов=ЭтотОбъект.КурсВзаиморасчетов;
    НовДок.СуммаВключаетНДС=ЭтотОбъект.СуммаВключаетНДС;
    НовДок.Организация=ЭтотОбъект.Организация;
    НоваяСтрочка=НовДок.Товары.Добавить();
    НоваяСтрочка.Номенклатура=ДанныеДляЗаказаПоставщику.Номенклатура;
    НовДок.Записать();
    КонецЦикла;
    
    КонецПроцедуры
    
    Но ничего не получается, программа пишет, что в строке
    "НовДок.Контрагент=ДанныеДляЗаказаПоставщику.Поставщик"
    Поле агрегатного объекта не обнаружено(Поставщик). Понимаю, что накосячил, но в силу своей малой компетентности не знаю, где.
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Вы обращаетесь к СТРОКЕ с именем ПОСТАВЩИК из таблицы ДанныеДляЗаказаПоставщику. Посмотрите на свой цикл ДЛЯ КАЖДОГО ИЗ
  3. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Т.е.:
    Код:
    Процедура ЗаказПоставщикуНажатие(Элемент)
    
    ДанныеДляЗаказаПоставщику=ЭтотОбъект.Товары.Выгрузить();
    ДанныеДляЗаказаПоставщику.Свернуть("Поставщик, Номенклатура",
    "Количество, КоличествоМест, Сумма, СуммаНДС");
    Для каждого СтрокаТЗ из ДанныеДляЗаказаПоставщику Цикл 
    НовДок=Документы.ЗаказПоставщику.СоздатьДокумент();
    НовДок.Дата=ТекущаяДата();
    НовДок.Контрагент=СтрокаТЗ.Поставщик;
    НовДок.ВалютаДокумента=ЭтотОбъект.ВалютаДокумента;        
    НовДок.КратностьВзаиморасчетов=ЭтотОбъект.КратностьВзаиморасчетов;
    НовДок.КурсВзаиморасчетов=ЭтотОбъект.КурсВзаиморасчетов;
    НовДок.СуммаВключаетНДС=ЭтотОбъект.СуммаВключаетНДС;
    НовДок.Организация=ЭтотОбъект.Организация;
    НоваяСтрочка=НовДок.Товары.Добавить();
    НоваяСтрочка.Номенклатура=СтрокаТЗ.Номенклатура;
    НовДок.Записать();
    КонецЦикла;
    
    КонецПроцедуры
    
    
    Но если у тебя в ТЧ заказа покупателя несколько строк с одинаковым поставщиком, то по твоему алгоритму создастся несколько заказов одному поставщику... а нужно один заказ поставщику с несколькими строками.
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Надо делать сортировку по поставщику и следить за ним...
Похожие темы
  1. SerzhM
    Ответов:
    11
    Просмотров:
    837
  2. Vladimir1C
    Ответов:
    6
    Просмотров:
    704
  3. Queenmarg
    Ответов:
    2
    Просмотров:
    2.626
  4. Katapaksi
    Ответов:
    0
    Просмотров:
    877
  5. Казбек05даг
    Ответов:
    2
    Просмотров:
    375
Загрузка...

Поделиться этой страницей