Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 11:24

УТ 11.4 Получение остатков по складам на дату

Автор nikservice, 19 фев 2018, 11:16

0 Пользователей и 1 гость просматривают эту тему.

nikservice

Доброго всем дня!
Рылся в общих модулях, но так ничего стоящего не нашел! В Рознице есть, к примеру, целая батарея функций, пользуя которые можно получить остатки с ценами в разрезах всяческих и на произвольную дату. В УТ подобное забыли завезти? Или я не туда смотрю? Как-то не айс городить каждый раз монструозные конструкции из десятков-сотен строк с запросами и прочим извратом.

Поиск родных

Цитата: nikservice от 19 фев 2018, 11:16
Доброго всем дня!
Рылся в общих модулях, но так ничего стоящего не нашел! В Рознице есть, к примеру, целая батарея функций, пользуя которые можно получить остатки с ценами в разрезах всяческих и на произвольную дату. В УТ подобное забыли завезти? Или я не туда смотрю?
"подобное" - это что конкретно?
"туда" - это кудой?
В панели каждого раздела - первая ссвлка-вход - это Отчеты есть подраздел Отчеты, если не упоминать про
Главное меню - Все функции - Отчеты
список всех отчетов по алфавиту

Цитата: nikservice от 19 фев 2018, 11:16Как-то не айс городить каждый раз монструозные конструкции из десятков-сотен строк с запросами и прочим извратом.
Какими запросами?
В УТ 11 сотни отчетов, на любой вкус, да ещё + вариан

nikservice

Вы меня не поняли. Мне нужна именно функция получения остатка. В аргументах функции приятно было бы видеть Склад, Номенклатуру, Дату. Во всех конфах встречавшихся мне до этого подобное было (в разных вариантах), но только не в УТ 11.4!
Добавлено: 19 фев 2018, 12:18


Вот из общих модулей Розницы:
Функция ПолучитьОстаткиНоменклатуры(Номенклатура, Характеристика, Магазин, ОстаткиПоВсемМагазинам = Ложь) Экспорт
Функция ПолучитьЦенуПоВидуЦен(ВидЦены, Дата, Номенклатура, Характеристика, Упаковка) Экспорт
И такого в Рознице на все случаи жизни! В УТ ничего подобного не нашёл! Походу самому переносить надо!
Добавлено: 19 фев 2018, 12:45


Кое что нарыл! Позже отпишу!

oleg-x

Цитата: nikservice от 19 фев 2018, 12:07
Вы меня не поняли. Мне нужна именно функция получения остатка. В аргументах функции приятно было бы видеть Склад, Номенклатуру, Дату. Во всех конфах встречавшихся мне до этого подобное было (в разных вариантах), но только не в УТ 11.4!
Добавлено: 19 фев 2018, 12:18


Вот из общих модулей Розницы:
Функция ПолучитьОстаткиНоменклатуры(Номенклатура, Характеристика, Магазин, ОстаткиПоВсемМагазинам = Ложь) Экспорт
Функция ПолучитьЦенуПоВидуЦен(ВидЦены, Дата, Номенклатура, Характеристика, Упаковка) Экспорт
И такого в Рознице на все случаи жизни! В УТ ничего подобного не нашёл! Походу самому переносить надо!
Добавлено: 19 фев 2018, 12:45


Кое что нарыл! Позже отпишу!
Получение остатков решается одним не сложным запросом и переносить ничего не надо. Делаешь запрос на срез последних по регистру и вот тебе остатки. Все делается через конструктор запросов, тебе остается только обработать результат.
А писать общий модуль на каждую **** это **** получится.
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

nikservice

Можете считать это снобизмом, но Ваш подход противоречит основополагающим принципам парадигмы ООП. Как минимум одному принципу - максимально возможному повторному использованию уже написанного кода! Может Вам проще накидать десяток строк с запросом, но мне проще использовать только что найденное мной:
Остатки = ПодборТоваровСервер.ОстаткиНоменклатуры(Номенклатура, Характеристика, Склады);
Жаль, что в книжках этого не напишут.
Добавлено: 19 фев 2018, 14:12


Цена = СкидкиНаценкиСервер.ПолучитьЦенуНоменклатурыПоВидуЦен(Товар, Параметры, ВидЦены)
Так, на всякий, вдруг кому пригодится!

Поиск родных

Цитата: nikservice от 19 фев 2018, 13:10
Можете считать это снобизмом, но Ваш подход противоречит основополагающим принципам парадигмы ООП. Как минимум одному принципу - максимально возможному повторному использованию уже написанного кода!
И тут Остапа понесло!
Во 1х, нет такого принципа в ООП
Почитайте по Вашей ссылке
Во 2х, какое отношение ООП имеет к 1С?

nikservice

Извините меня великодушно и не обращайте внимания! Это всё старый еврей Ален Голуб ещё в 90-е меня в заблуждение ввёл. А 1С действительно не ООП, так только, есть классы и их экземпляры, можно вызывать методы и обращаться к свойствам, но нет наследования, тут не поспоришь. Ага.

nikservice

Вот ещё раскопки. Может оказаться полезным для начинающих! Таких как я!
    СтруктураОтбор = Новый Структура;
    СтруктураОтбор.Вставить("Номенклатура", Товар);
    СтруктураОтбор.Вставить("Склад", Справочники.Склады.НайтиПоНаименованию("Основной").Ссылка);
    СтруктураОстатков = РегистрыНакопления.ТоварыНаСкладах.Остатки(ТекущаяДата(), СтруктураОтбор, "Номенклатура, Склад", "ВНаличии") ;
    Если СтруктураОстатков.Количество() > 0 Тогда
        Возврат СтруктураОстатков[0].ВНаличии;
    Иначе
Возврат 0;
    КонецЕсли;

Это мы остатки в наличии получили. Для УТ 11.4. Хоть и не в одну строку, но всё равно приятно!
    СтруктураОтбор = Новый Структура;
    СтруктураОтбор.Вставить("Номенклатура", Товар);
    СтруктураОтбор.Вставить("ВидЦены", Справочники.ВидыЦен.НайтиПоНаименованию("Розничная").Ссылка);
    СтруктураЦены = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(), СтруктураОтбор);
    Возврат СтруктураЦены.Цена;

А так возможно получить цену. А вот это уже возможно и в одну строку уложить. Но так нагляднее.

sertak

Теоретически наверное можно программировать на языке 1С с использованием любых принципов и методологий, которые существуют в сфере ИТ, если это позволяет объектная модель платформы 1С:Предприятие. И даже если не позволяет, можно напрямую работать с объектами соответствующего реляционного источника данных, это не так сложно, как кажется. Но большинство программистов 1С (а именно они по доброй воле своей участвуют в решении проблем незнакомых людей, обращающихся за помощью) будут придерживаться рекомендаций компании, которая разработала собственно платформу 1С:Предприятие. Это ее [1С] монастырь, со своим уставом прийти безусловно можно, но общего языка не найдете.

nikservice

Я Вас прекрасно понимаю! Так как получить остаток в разрезе складов на дату по уставу?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск