7.7 Вывести сумму списаний

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

  1. TopicStarter Overlay
    daab
    Offline

    daab Опытный в 1С

    Регистрация:
    14 окт 2011
    Сообщения:
    269
    Симпатии:
    0
    Баллы:
    26
    вывожу данные из двух регистров , а как на одну номенклатуру их завязать?
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Один вопрос - одна тема.
    Показывайте что вы там "навояли"
  3. TopicStarter Overlay
    daab
    Offline

    daab Опытный в 1С

    Регистрация:
    14 окт 2011
    Сообщения:
    269
    Симпатии:
    0
    Баллы:
    26
    вообщем надо вывести количество и сумму списаний и количество и сумму проданного, только теперь я не могу найти из какого региста вытянуть цену реализации

    Код:
    //*******************************************
    Процедура Сформировать()
    ТабЗн=СоздатьОбъект("ТаблицаЗначений");
    // создаем динамическую 2-х мерную таблицу
    ТабЗн.НоваяКолонка("Товар","Справочник.Номенклатура");
    ТабЗн.НоваяКолонка("Кол","Число",17,3);
    ТабЗн.НоваяКолонка("Сумма","Число",19,3);
    ТабЗн.НоваяКолонка("КолП","Число",17,3);
    ТабЗн.НоваяКолонка("СуммаП","Число",19,3);  
    
    
    // указываем какие колонки будет содержать наша динимическая таблица
    Таб = СоздатьОбъект("Таблица");
    Док = СоздатьОбъект("Документ"); 
    Док1 = СоздатьОбъект("Документ"); 
    РегПартии = СоздатьОбъект("Регистр.ПартииНаличие"); 
    РегПартии1 = СоздатьОбъект("Регистр.ПартииОтданные");
    РегПартии.ВременныйРасчет(); 
    РассчитатьРегистрыНа(ДатаКонец);
    
    
    Док.ВыбратьДокументы(ДатаНачало, ДатаКонец);
    Пока Док.ПолучитьДокумент() > 0 Цикл
    // отфильтруем документы
    Если (Док.Вид() = "ПоступлениеТМЦ")
    ИЛИ (Док.Вид() = "Реализация")
    Тогда
    Продолжить;
    КонецЕсли;
    РегПартии.ВыбратьДвиженияДокумента(Док.ТекущийДокумент());
    Пока РегПартии.ПолучитьДвижение()=1 Цикл
    Если Строка(РегПартии.Фирма) <> Строка(Фирма) Тогда
    Продолжить;
    КонецЕсли;  
    
    ТабЗн.НоваяСтрока();
    ТабЗн.Товар=РегПартии.Номенклатура;
    ТабЗн.Кол=РегПартии.Количество;
    ТабЗн.Сумма=РегПартии.СуммаРуб; 
    КонецЦикла;
    КонецЦикла;
    
    Док1.ВыбратьДокументы(ДатаНачало, ДатаКонец);
    Пока Док1.ПолучитьДокумент() > 0 Цикл
    // отфильтруем документы
    Если (Док1.Вид() = "ПоступлениеТМЦ")
    ИЛИ (Док1.Вид() = "СписаниеТМЦ")
    Тогда
    Продолжить;
    КонецЕсли;
    РегПартии1.ВыбратьДвиженияДокумента(Док1.ТекущийДокумент());
    Пока РегПартии1.ПолучитьДвижение()=1 Цикл
    Если Строка(РегПартии1.Фирма) <> Строка(Фирма) Тогда
    Продолжить;
    КонецЕсли;  
    
    ТабЗн.Товар=РегПартии1.Номенклатура;
    ТабЗн.КолП=РегПартии1.Количество;
    ТабЗн.СуммаП=РегПартии1.СуммаРуб; 
    КонецЦикла;
    КонецЦикла;  
    
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1) А у вас что, есть комиссионный товар? ПартииОтданные только для комиссии. Если есть, то продажа комиссионного товара фиксируется документом "Отчет комиссионера".
    2) Конечно дико извиняюсь, но ваш код - полная чушь.
    • Этот кусок:
      Код:
      Если Строка(РегПартии.Фирма) <> Строка(Фирма) Тогда
    2 фирмы МОГУТ называться одинаково, но при этом это разные элементы....
    Вот так нужно
    Код:
    Если РегПартии.Фирма <> Фирма Тогда
    • зачем 2 цикла по документам когда можно 1?
    • Сумму/количество проданного берем из регистра Продажи, а списание - из движений документа по регистру партий.
  5. TopicStarter Overlay
    daab
    Offline

    daab Опытный в 1С

    Регистрация:
    14 окт 2011
    Сообщения:
    269
    Симпатии:
    0
    Баллы:
    26
    понятно переделал.

    а как сделать чтобы товар с двух регистров не дублировался
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Что значит "не дублировался"?
  7. TopicStarter Overlay
    daab
    Offline

    daab Опытный в 1С

    Регистрация:
    14 окт 2011
    Сообщения:
    269
    Симпатии:
    0
    Баллы:
    26
    данные же берутся из двух регистров

    Вложения:

  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Партии отданные - только для комиссионного товара. Об этом говорил выше.
  9. TopicStarter Overlay
    daab
    Offline

    daab Опытный в 1С

    Регистрация:
    14 окт 2011
    Сообщения:
    269
    Симпатии:
    0
    Баллы:
    26
    дык да берется регистр.партииналичие и регистр.продажи
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    ну... и где дубли? В продажах же нет списания
  11. TopicStarter Overlay
    daab
    Offline

    daab Опытный в 1С

    Регистрация:
    14 окт 2011
    Сообщения:
    269
    Симпатии:
    0
    Баллы:
    26
    ))))))) Олег, дублируется номенклатура! как сделать объединение строк с одинаковой номенклатурой?
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    В ТЗ.. методом Свернуть... Или у вас вообще разные объекты? Поясните, я не понял
  13. TopicStarter Overlay
    daab
    Offline

    daab Опытный в 1С

    Регистрация:
    14 окт 2011
    Сообщения:
    269
    Симпатии:
    0
    Баллы:
    26
    тыд да свернуть не помогает.

    Код:
     РегПартии.ВыбратьДвиженияДокумента(Док.ТекущийДокумент());
    Пока РегПартии.ПолучитьДвижение()=1 Цикл
    //  Если Строка(РегПартии.Фирма) <> Строка(Фирма) Тогда  
    Если РегПартии.Фирма <> Фирма Тогда
    // не тот клиент
    Продолжить;
    КонецЕсли;  
    
    ТабЗн.НоваяСтрока();
    ТабЗн.Товар=РегПартии.Номенклатура;
    ТабЗн.Кол=РегПартии.Количество;
    ТабЗн.Сумма=РегПартии.СуммаРуб;
    КонецЦикла;
    
    и


    Код:
    РегПартии1.ВыбратьДвижения(ДатаНачало, ДатаКонец);
    Пока РегПартии1.ПолучитьДвижение()=1 Цикл
    //	 Если Строка(РегПартии1.Фирма) <> Строка(Фирма) Тогда 
    Если РегПартии1.Фирма <> Фирма Тогда
    // не тот клиент
    Продолжить;
    КонецЕсли;
    ТабЗн.НоваяСтрока();
    ТабЗн.Товар=РегПартии1.Номенклатура;
    ТабЗн.КолП=РегПартии1.Количество;
    ТабЗн.СуммаП=РегПартии1.ПродСтоимость; 
    КонецЦикла;
  14. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    ТабЗн.Свернуть("Номенклатура","КолП,СуммаП");
  15. TopicStarter Overlay
    daab
    Offline

    daab Опытный в 1С

    Регистрация:
    14 окт 2011
    Сообщения:
    269
    Симпатии:
    0
    Баллы:
    26
    ага спасибо, и еще не туда подставил выражение изначально

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