7.7 Добавить в отчет последнюю цену прихода товара

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

  1. TopicStarter Overlay
    Shoky
    Offline

    Shoky

    Регистрация:
    6 окт 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Нужно перенести номенклатуру из 7.7 в экселевский файл.

    Обработку допилил какую-то, но т.к. не программист ни капли, то не могу вывести последнюю цену прихода на каждый товар (даже если его нет в наличии) помогите как это сделать.

    1с 7.7 ТиС 9.2

    Обработку выкладываю вдруг кому и такая сгодится.

    Вложения:

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

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    ПолучитьЦену - рабочая... Замените ПолучитьЦенуТовара на ПолучитьЦену и будит вам счастье
  3. TopicStarter Overlay
    Shoky
    Offline

    Shoky

    Регистрация:
    6 окт 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    ПолучитьЦенуТовара - это я пробовал править (тут ошибка).

    Просто закупочные цены не у всех товаров выводятся в файл. (видимо если нет в наличии, то и цена 0)
  4. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Тут без вариантов... Откуда ее взять если ее нет?
  5. TopicStarter Overlay
    Shoky
    Offline

    Shoky

    Регистрация:
    6 окт 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Когда-то была ведь. Если как нибудь перебрать приходные накладные ?
  6. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Если на текущую дату возвращает 0 значит не было.
    Периодический реквизит возвращает самое последнее значение на указанную дату..
    Можно написать конечно обработку и проставить цену. Или модифицировать текущую. С поиском цены в документах поступления
  7. TopicStarter Overlay
    Shoky
    Offline

    Shoky

    Регистрация:
    6 окт 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Как модифицировать текущую цену (закупочную) с поиском в документах поступления ?
  8. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Док=СоздатьОбъект("Документ.ПоступлениеТМЦ");
    Док.ОбратныйПорядок(1);
    Док.ВыбратьДокументы(,ДатаЦены);
    Пока Док.ПолучитьДокумент()=1 Цикл
    Док.ВыбратьСтроки();
    Пока Док.ПолучитьСтроку()=1 Цикл
    Если Док.Номенклатура=Номенклатура Тогда
    Возврат Док.Цена/?(Док.Коэффициент=0,1,Док.Коэффициент); //для унификации цена всегда за базовую единицу
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
    Возврат 0; //увы.. не нашли

    Вот код.. Думаю догадаетесь как вставить
    Shoky нравится это.
  9. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    может повеселее будет?

    Вложения:

    Shoky нравится это.
  10. TopicStarter Overlay
    Shoky
    Offline

    Shoky

    Регистрация:
    6 окт 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Спасибо буду пробовать. Отпишу о результатах.
  11. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    ни какой разницы с предыдущим
  12. TopicStarter Overlay
    Shoky
    Offline

    Shoky

    Регистрация:
    6 окт 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Вставил код. Запустил обработку. Походу надолго ;-) на моем медленном компе. Подожду конечно. Обидно будет если не правильно.
  13. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Это сладкое слово "халява"...
  14. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    ну не совсем, скорость выше,
    в цикле не "дёргается" эта функция
    Код:
    Функция ПолучитьЦену(Номенклатура,ДатаЦены,ВыбТип)
        Цена=0;
        СпрЦ=СоздатьОбъект("Справочник.Цены");
        СпрЦ.ИспользоватьВладельца(Номенклатура);
    //    ТипЦен=Константа.РозничныйТипЦен;
        ТипЦен=ВыбТип;
        Если ПустоеЗначение(ТипЦен)=0 Тогда
            Если СпрЦ.НайтиПоРеквизиту("ТипЦен",ТипЦен,0)=1 Тогда
                Цена=СпрЦ.Цена.Получить(ДатаЦены);
                Если Цена=0 Тогда
                    Цена=СпрЦ.Цена.Получить(РабочаяДата());
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
        Если Цена=0 Тогда
            Сообщить("Не удалось получить розничную цену товара '"+
                    Номенклатура.Код+" : "+СокрЛП(Номенклатура.Наименование)+"'","!!!");
        КонецЕсли;
        Возврат Цена;
    КонецФункции
  15. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    читаем с начала... в первом файле все ок...
  16. TopicStarter Overlay
    Shoky
    Offline

    Shoky

    Регистрация:
    6 окт 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Да скорее всего по вашему "веселее" работает, но я в свою добавил. Пока дошло до буквы "В" ждемс. Главное чтоб работало, а ускорять потом можно.
  17. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    если выгрузка не разовая - лучше все же проставить цены в справочник
  18. TopicStarter Overlay
    Shoky
    Offline

    Shoky

    Регистрация:
    6 окт 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Проверил. Работает на моем компе очень медленно. 13 с лишним тыс. позиций обрабатывались 3 с лишним часа. Обработку загружаю. Теперь выбор цены закупа ни на что не влияет. Спасибо БОЛЬШОЕ всем кто помогал.

    Вложения:

  19. TopicStarter Overlay
    Shoky
    Offline

    Shoky

    Регистрация:
    6 окт 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Еще вопросик. Темы плодить не хочу, потому что для этого же отчета. Как вывести родителя родителя т.е. всю иерархию номенклатуры.
  20. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Используйте метод ПолноеНаименование()
    Возвращает строку, содержащую полное наименование выбранного элемента справочника со всеми вышестоящими уровнями, разделенными символом /

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