Вход | Регистрация

1С:Предприятие ::

Метки:

Ввести на основании

Я
   Forgotten god
29.04.04 - 09:56
Тут проблемка попалась мне самописная конфа... Учусь я один 1С благодоря вам. Так вот в этой конфе есть пункт по журналу "ввести на основании" вопрос в следующем где можно посмотреть как обрабатывается эта обработка, пролез все но так и не нашел.
2. Вопрос. Есть отчет в нем выбираеться тара в приходе и расходе может быть 1, 2 , 3 и т.д. позиций сейчас выбираеться одна позиция как сделать чтобы выбиральсь все позиции?
 
 
   SiMazx
 
1 - 29.04.04 - 10:07
1. Смотри процедуру ВводНаОсновании
2. Не понял. Поподробнее можно?
   Forgotten god
2 - 29.04.04 - 11:45
Вот весь код:
Могу скинуть конфу всю только скажи куда:
//*******************************************

Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)

    |Период с ВыбНачПериода по ВыбКонПериода;
    |Клиент = Документ.ПриходнаяНакладная.Поставщик, Документ.РасходнаяНакладная.Получатель;
        |НаимемонованиеТары = Документ.ПриходнаяНакладная.Товар, Документ.РасходнаяНакладная.Товар;
        |КоличествоТары = Документ.ПриходнаяНакладная.Количество, Документ.РасходнаяНакладная.Количество;
        |Страна = Документ.ПриходнаяНакладная.Товар.Страна1, Документ.РасходнаяНакладная.Товар.Страна1;
    |ТекущийДокумент = Документ.ПриходнаяНакладная.ТекущийДокумент, Документ.РасходнаяНакладная.ТекущийДокумент;
    |ВидТовара = Документ.ПриходнаяНакладная.Товар.ВидТовара, Документ.РасходнаяНакладная.Товар.ВидТовара;
    |СуммаПрих = Документ.ПриходнаяНакладная.СуммаПоставщика;
    |СуммаРасх = Документ.РасходнаяНакладная.СуммаПрод;
    |Функция СуммаП = Сумма(СуммаПрих);
    |Функция СуммаР = Сумма(СуммаРасх);
    |Группировка НаимемонованиеТары;
//    |Группировка ТекущийДокумент без групп;

    |Условие(ВидТовара = Перечисление.ВидыТоваров.Тара);
    |//}}ЗАПРОС

    ;
    Если ВыбКлиент.Выбран()=1 тогда
        ТекстЗапроса =     ТекстЗапроса +"Условие(Клиент = ВыбКлиент);";
    КонецЕсли;
    
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    гмз1_x=0;
    гмз3_x=0;
    проч_x=0;
    y=0;
    x=0;
    гмз1=0;
    гмз3=0;
    проч=0;
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        Если сокрлП(Запрос.ТекущийДокумент.Вид())="ПриходнаяНакладная" тогда
            гмз1=0;
            гмз3=0;
            проч=0;
            гмз1_Ст=0;
            гмз1_Все=0;
            гмз3_Ст=0;
            гмз3_Все=0;
        КонецЕсли;
        Если сокрлП(Запрос.Страна)="ГМЗ №1" тогда
                гмз1=Запрос.КоличествоТары;
                гмз1_x=гмз1_x + Запрос.КоличествоТары;
                гмз1_Ст=Запрос.СуммаПрих;
                гмз1_Все= гмз1_Все + гмз1_Ст;
            иначе
            Если сокрлП(Запрос.Страна)="ГМЗ №3" тогда    
                гмз3=Запрос.КоличествоТары;
                гмз3_x=гмз3_x + Запрос.КоличествоТары;
                гмз3_Ст=Запрос.СуммаПрих;
                гмз3_Все= гмз3_Все + гмз3_Ст;

            иначе
                проч=Запрос.КоличествоТары;
                проч_x=проч_x + Запрос.КоличествоТары;
            КонецЕсли;
        КонецЕсли;
        x=x + Запрос.КоличествоТары;
        Таб.ВывестиСекцию("Приход");
КонецЦикла;
    Таб.ВывестиСекцию("ИтогоП");
    Запрос.ВНачалоВыборки();
    Пока Запрос.Группировка(1) = 1 Цикл
            гмз1=0;
            гмз3=0;
            проч=0;
        Если сокрлП(Запрос.ТекущийДокумент.Вид())="РасходнаяНакладная" тогда
            гмз1=0;
            гмз3=0;
            проч=0;
            гмз1_Ст=0;
            гмз1_Все=0;
            гмз3_Ст=0;
            гмз3_Все=0;
        КонецЕсли;
        Если сокрлП(Запрос.Страна)="ГМЗ №1" тогда 
        
                гмз1=Запрос.КоличествоТары;
                гмз1_xР=гмз1_xР + гмз1;
                гмз1_Ст=Запрос.СуммаПрих;
                гмз1_Все= гмз1_Все + гмз1_Ст;
        
            иначе
            Если сокрлП(Запрос.Страна)="ГМЗ №3" тогда    
                гмз3=Запрос.КоличествоТары;
                гмз3_xР=гмз3_xР + гмз3;
                гмз3_Ст=Запрос.СуммаПрих;
                гмз3_Все= гмз3_Все + гмз3_Ст;
            иначе
                проч=Запрос.КоличествоТары;
                проч_xР=проч_xР + проч;
            КонецЕсли;
        КонецЕсли;
        y=y + Запрос.КоличествоТары;
        Таб.ВывестиСекцию("Расход");
    КонецЦикла;
    Таб.ВывестиСекцию("ИтогоР");
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры
   SiMazx
 
3 - 29.04.04 - 12:07
И что дальше? Ты по русски расскажи чего он у тебя сейчас выводит и чего должен...
   Forgotten god
4 - 29.04.04 - 14:03
Должно выводиться отчет по таре в разрезе по производителю, так же должен быть суммма итог по расходу и приходу. Вот табличная часть:

   Отчет по таре поставщика        Запрос.Клиент                        
ТекущийДокумент    Наименование    Производитель    ГМЗ_1    Сумма    ГМЗ_3    Сумма    Прочие    Кол-во    Итого
Итого приход            гмз1_x#N019    гмз1_Все#N019.2    гмз3_x#N019    гмз3_Все#N019.2    проч_x#N019    x#N019    Запрос.СуммаП#N019.2
Запрос.ТекущийДокумент    Запрос.НаимемонованиеТары    Запрос.Страна    гмз1#N03    гмз1_Ст#N019.2    гмз3#N03    гмз3_Ст#N019.2    проч#N03    Запрос.КоличествоТары#N03    Запрос.СуммаП#N019.2
Итого расход            гмз1_xР#N019    гмз1_Все#N019.2    гмз3_xР#N019    гмз3_Все#N019.2    проч_xР#N019    y#N019    Запрос.СуммаР#N019.2
Запрос.ТекущийДокумент    Запрос.НаимемонованиеТары    Запрос.Страна    гмз1#N03    гмз1_Ст#N019.2    гмз3#N03    гмз3_Ст#N019.2    проч#N03    Запрос.КоличествоТары#N03    Запрос.СуммаР#N019.2
   Forgotten god
5 - 29.04.04 - 14:07
ТекущийДокумент    Наименование    Производитель    ГМЗ_1    Сумма    ГМЗ_3    Сумма    Прочие    Кол-во    Итого
ПриходнаяНакладная 2525 (13.09.2003)    тара для учета без аналитики                                1327.43
Итого приход                                    1327.43
ПриходнаяНакладная 2525 (13.09.2003)    тара для учета без аналитики                                
Итого расход                                    

Сейчас получается вот так! Почему приход попадает в расход и наоборот?


Список тем форума
Рекламное место пустует  
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует