7.7 Подскажите немного по программированию.

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем Pluto, 22 сен 2007.

  1. TopicStarter Overlay
    Pluto
    Offline

    Pluto

    Регистрация:
    22 сен 2007
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте!

    Возникла необходимость немного автоматизировать склад, а знаний по программированию на 1С нет.
    Цель такая: имеется приход и расход. В приходе заносятся вес, номенклатура, цена и т.д.
    Необходимо чтоб в отчёте расхода цена бралась из документа прихода.

    Алгоритм как я понимаю следующий:

    1. При выводе отчёта по списанию берётся номер партии и номенклатура
    2. Перебираются все документы прихода и сравнивается номер партии и номенклатура.
    3. При совпадении, подтягивается цена из документа прихода.

    А вот как перебирать документы прихода и как вообще из других документов брать сумму я не знаю.
  2. Lilit
    Offline

    Lilit

    Регистрация:
    11 сен 2007
    Сообщения:
    33
    Симпатии:
    0
    Баллы:
    1
    Перебрать документы и вытащить оттуда любой реквизит не сложно вот что-то типа этого

    Код:
    Д=СоздатьОбъект("Документ.Приход");
    Д.ВыбратьДокументы(ТекДата,ДатаКонца);
    Пока Д.ПолучитьДокумент()=1 Цикл
    Если (Д.проведен()>0) Тогда
    Цена=Д.Сумма;
    КонецЕсли;
    КонецЦикла;
    
    
    но потом нужно что-то делать с этой ценой то есть куда-то ее девать. Если я правильно поняла то это должно делаться при создании документа расход, то тогда в модуле документа и пиши, выбирай доки, вытаскивай нужные реквизиты, и ставь в нужное место расхода
  3. Чешир
    Offline

    Чешир

    Регистрация:
    10 ноя 2006
    Сообщения:
    36
    Симпатии:
    0
    Баллы:
    1
    если это еще актуально...

    Такое ощущение, что выбираются не те документы, которые нужны...тут ведьпросто перебор.
    Думаю здесь разумнее использовать запрос...за одно и работать будет быстрее.

    Код:
        
    Усл1=НомерПартии;
    Усл2=Номенклатура;
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Период с НачДата;
    |НомерПарти=Документ.Приход.НомерПартии;
    |Номенкл=Документ.Приход.Номенклатура;
    |Цена=Документ.Приход.Цена;
    |Группировка НомерПартии;
    |Условие (НомерПартии=Усл1);
    |Условие (Номенклатура=Усл2);
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли; 
    
    Пока Запрос.Группировка("НомерПартии")=1 Цикл
    //присваиваем нужным переменным значение Цены из Прихода
    // (Запрос.Цена)            
    КонецЦикла; 
    
    
    

    Вот как-то так
  4. Seeker
    Offline

    Seeker

    Регистрация:
    10 апр 2008
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Хм. А в какой это конфигурации? Если партии товаров - это справочник, то почему бы не сделать в нем поле "ПрихДокумент", в который будет при приходовании записываться сама приходная накладная. Не придется перебирать документы, ища нужный приходный.
Похожие темы
  1. BabySG
    Ответов:
    6
    Просмотров:
    1.778
  2. Amasonka
    Ответов:
    1
    Просмотров:
    1.279
  3. BabySG
    Ответов:
    39
    Просмотров:
    3.336
  4. SerzhM
    Ответов:
    6
    Просмотров:
    850
Загрузка...

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