Ежегодная Международная Олимпиада по объектно-ориентированному программированию учетно- аналитических задач для студентов ВУЗов Для чего студенту принимать.

Презентация:



Advertisements
Похожие презентации
1С:Консалтинг 1 БУХГАЛТЕРСКИЙ УЧЕТ РАСЧЕТОВ ПО НАЛОГУ НА ПРИБЫЛЬ (ПБУ 18/02) в 1С:Бухгалтерия 8 (ред.1.6) Баев Николай, эксперт-методист «1С» 1C:Консалтинг.
Advertisements

ПОЛОЖЕНИЕ О ВСЕРОССИЙСКОЙ ОЛИМПИАДЕ ШКОЛЬНИКОВ Утверждено приказом Министерства образования и науки Российской Федерации от «2 декабря 2009 г. N 695.
Закрываем период и рассчитываем себестоимость на практических примерах Злищев Сергей Ведущий аналитик Единый семинар 1 С для бухгалтеров.
Учет материально – производственных запасов. Нормативная база ПБУ 5/01 «Учет материально – производственных запасов» Методические указания по учету МПЗ.
Raamatupidamine 5.0 – универсальный программный комплекс массового назначения для автоматизации экономических процессов. Комплекс позволяет автоматизировать.
Единый семинар 1С 3 апреля 2013 года Особенности отражения корректировочных и исправительных счетов-фактур в программах 1С:Предприятие 8 Славнина О.А.
«1С:Предприятие 8. 1С-Рейтинг: Учет спецодежды и инвентаря»
МОДУЛЬ «ЗАБРАКОВАННЫЕ СЕРИИ» выявление, возврат и списание серий товара, непригодных к продаже по внешним условиям (с использованием АСУ «М-АПТЕКА плюс»)
Доходные вложения в материальные ценности. Доходные вложения в материальные ценности - вложения организации в часть имущества, здания, помещения, оборудование.
Усть-Каменогорск 1C-Рейтинг: Бухгалтерия недропользователей для 1С:Предприятие 8.
Лекция 3. Начало работы с ППП «1С: Предприятие». План 1. Настройка типовой конфигурации 2. Определение даты начала и ведения учета. 3. Порядок ввода остатков.
Основные ошибки выявляемые при аудите НМА Пирогова Ю. ЭА-501.
Разработка прикладных решений 1С: Предприятие 8.2 Разработка прикладных решений 1С: Предприятие 8.2 Сапегин Юрий Владимирович – независимый разработчик.
Конфигурация для 1С:Предприятие 8.2 Подъём бизнеса на новую высоту!
11 Уникальный опыт. Верные решения. Москва, ул. Долгоруковская, д.23А тел. (499) ; факс (499)
Тула– 2013 ФГОБУ ВПО «ФИНАНСОВЫЙ УНИВЕРСИТЕТ ПРИ ПРАВИТЕЛЬСТВЕ РОССИЙСКОЙ ФЕДЕРАЦИИ » Тульский филиал Финуниверситета ПОДГОТОВИТЕЛЬНЫЕ КУРСЫ.
Управление финансами. Бухгалтерский и налоговый учет.
Решение задач на банковские проценты Подготовка к ЕГЭ. Профильный уровень Семинар для учителей математики Учитель математики ГБОУ СОШ декабря 2014.
Особенности настройки и организации учета капвложений в ПП «ПАРУС-Предприятие 8»: 24 июня 2010 г. ООО «ЦКР «Парус» Алексей Завалин.
ООО «АЛЬФА-СОФТ» 1С:Франчайзинг. Основные направления деятельности продажа и поставка программного обеспечения; внедрение и сопровождение ПП делового.
Транксрипт:

Ежегодная Международная Олимпиада по объектно-ориентированному программированию учетно- аналитических задач для студентов ВУЗов Для чего студенту принимать участие в Олимпиаде по программированию? Постовалов Сергей Николаевич, Член жюри регионального тура доцент кафедры прикладной математики

Общие положения В Олимпиаде по программированию учетно- аналитических задач могут принять участие студенты с 1-го по 5 й курс любого ВУЗа, получающие первое высшее образование. В качестве языка программирования участник использует встроенный язык прикладной системы "1С:Предприятие 8". Олимпиада проводится в два тура. Первый тур (заочный или региональный) проводится в январе - марте, второй тур (очный) - в апреле

24-я олимпиада, второй тур

Федорова Наталья, победитель регионального тура Олимпиады, г. Новосибирск Новосибирский государственный университет экономики и управления

Победители 24-й олимпиады Абсолютный победитель - Шевченко Дмитрий Павлович, Дальневосточная государственная социально-гуманитарная академия Факультет математики и информатики, 5-й курс I место - Холостов Александр, г. Москва Финансовая академия при Правительстве Российской Федерации Факультет Математические методы в экономике и анализ рисков, 5-й курс II место - Наумов Сергей Валерьевич, г. Москва Национальный исследовательский ядерный университет «МИФИ» Экономико-аналитический институт, 5-й курс III место – Афанасьева Александра Викторовна, г.Москва Московский государственный технический университет имени Н.Э.Баумана Факультет информатики и системы управления, 6-й курс Тюкмаев Рустам Искандерович, г. Москва Московский государственный технический университет имени Н.Э.Баумана. Факультет робототехники и комплексной автоматизации, 5-й курс Сивин Алексей Юрьевич, г. Барнаул. Всероссийский заочный Финансово-экономический институт. Факультет менеджмента и маркетинга, 2-й курс

Задание 2 тура 24-й Олимпиады по программированию учетно-аналитических задач в «1С:Предприятие 8» С 1 апреля 2010 г. организация переходит с ручного на автоматизированное ведение бухгалтерского учета. При учете основных средств организация применяет метод начисления амортизации способом «по сумме чисел лет срока полезного использования». В компьютерной программе на счетах 01 «Основные средства» и 02 «Амортизация ОС» организован пообъектный аналитический учет в разрезе элементов справочника «Основные средства». В учетную систему по каждому объекту ОС на дату начала ведения учета введены следующие данные: первоначальная стоимость ОС - дебетовое сальдо счета 01 накопленная сумма амортизации ОС на первое число месяца начала ведения автоматизированного учета - кредитовое сальдо счета 02 оставшийся срок полезного использования в месяцах (включая первый месяц начала ведения учета) - реквизит справочника «Основные средства». Введя указанные данные учетные работники выяснили, что программа не сможет по этим данным производить начисление амортизации по объектам основных средств в течение оставшегося срока их полезного использования. Для последующего начисления амортизации необходимо ввести в программу: год и месяц первого периода начисления амортизации, полный срок полезного использования (в целых годах).

Требуется создать отчет: Основное средство Первоначальная стоимость ОС Износ на дату начала ведения учета Оставшийся срок полезного использования (мес) Первый период начисления амортизации Полный срок полезного использования (лет) месяцгод ОС , , ОС , , ОС , , ОС , , ОС , ,0037н/о Выбрать из информационной базырассчитать

25-я олимпиада Региональный тур. Новосибирск Организация торгует товарами в розницу в киоске. По результатам продаж за неделю продавцом киоска составляется отчет, в котором указывается список проданных товаров, цены, сумма продажи. Также к отчету прикладывается кассовая лента, в которой отражена полученная выручка. В процессе составления отчета (регистрации продаж в течение недели) возможны ошибки, и по итогам недели может оказаться, что сумма выручки больше итоговой суммой продаж по товарному отчету. Причина – ошибочно пропущена продажа одного или нескольких товаров. Так как отчет надо сдавать уже сейчас, и времени на поиск ошибок нет, продавец согласен на «временное решение» - просто добавить в отчет какие-нибудь товары, чтобы сошлась сумма. Требуется реализовать алгоритм, выполняющий «подгонку».

Исходные данные Учет ведется в информационной базе 1С в бухгалтерской подсистеме. Остатки товаров хранятся на счете 41 в разрезе Номенклатуры. Справочник «Номенклатура» содержит дополнительный реквизит «Цена продажи». По этой цене и реализуется товар (отражается в товарном отчете). Для отражения товарного отчета в системе предусмотрен документ «Продажа товаров», в котором указывается список товаров, количество, цена, сумма.

Задача Требуется реализовать отчет (обработку), показывающий, какие товары и в каком количестве надо добавить в выбранный документ «Продажа товаров», чтобы сошлась сумма. В форме отчета (обработки) выбирается документ «Продажа товаров» и вводится фактическая сумма выручки. На выходе отчет показывает таблицу товаров, добавляемых в документ. При этом нельзя допускать, чтобы в документе «Продажа товаров» количество продаваемого товара оказалось больше, чем в момент продажи было на складе. Если вариант подобрать не удается, вместо вывода таблицы надо оповестить пользователя об отсутствии решения. Если вариантов несколько, вывести первый найденный. Добавлять можно только целое количество единиц товара.

Остатки на складе (счет 41) НаименованиеКол-воЦена Бахилы Ортопедическая подушка Фарма Ортопедич. подушка стандартная Ортопедич. подушка средняя Матрас орт сегм. Пастер 1сп Коврик массажный Валик массажный Шарик массажный 1970 Бандаж коленный Наколенник эластичный15945 Стельки ортопедические М31290 Стельки ортопедические Ж7390

Продажи киоска НаименованиеКол-воЦенаСумма Бахилы Ортопедическая подушка Фарма Ортопедич. подушка стандартная Ортопедич. подушка средняя Матрас орт сегм. Пастер 1сп Коврик массажный Шарик массажный 1970 Бандаж коленный Итого 17530

Сумма выручки составляет руб, следовательно, в продажах не хватает товаров на 970 рублей. Вывод отчета (товары, которые надо добавить на сумму 970): Наименование Кол-воЦенаСумма Стельки ортопедические М Стельки ортопедические Ж1390 Итого 970

Дополнение для тех, кто решил основную задачу Решить задачу удаления части товаров из товарного отчета, в случае, когда сумма выручки меньше итоговой суммы продаж по товарному отчету.

Решение // Сумма текущего товарного отчета СуммаТоварногоОтчета = Отчет.ДокументПродажи.Товары.Итог("Сумма"); Недостаток = Отчет.СуммаВыручки - СуммаТоварногоОтчета; Сообщить("Сумма товарного отчета: "+СуммаТоварногоОтчета); Сообщить("Выручка: "+Отчет.СуммаВыручки); Сообщить("Недостаток: "+Недостаток);

Извлечение остатков Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |ПроводкиОстатки.Субконто1 КАК Товар, ПроводкиОстатки.КоличествоОстатокДт - ЕСТЬNULL(ПродажаТоваровТовары.Количество, 0) КАК Остаток, |ПроводкиОстатки.Субконто1.ЦенаПродажи КАК Цена |ИЗ |РегистрБухгалтерии.Проводки.Остатки(&Момент, Счет = &Счет41,, ) КАК ПроводкиОстатки |ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПродажаТоваров.Товары КАК ПродажаТоваровТовары |ПО ПроводкиОстатки.Субконто1 = ПродажаТоваровТовары.Номенклатура | |УПОРЯДОЧИТЬ ПО |Цена УБЫВ";

Выполнение запроса Запрос.УстановитьПараметр("Момент", Момент); Запрос.УстановитьПараметр("Ссылка", Отчет.ДокументПродажи); Запрос.УстановитьПараметр("Счет41", ПланыСчетов.Бухгалтерский.Товары); Результат = Запрос.Выполнить(); // Таблица с остатками Остатки = Результат.Выгрузить();

// Наша задача перебрать все варианты включения товаров в отчет так, чтобы сумма недостачи была // минимальной (в идеале - нулевой!) // Алгоритм переборный - рассматриваем все комбинации // Товары к // Количество 1000 // 2000 //... //М1000 //0100 // //... //M1M2M3Mк // к - количество товаров

Проверяем остатки // к - количество товаров к=Остатки.Количество(); Если к = 0 Тогда Сообщить("Недостаточно остатков на складе!"); Возврат; КонецЕсли;

Проверяем остатки // к - количество товаров к=Остатки.Количество(); Если к = 0 Тогда Сообщить("Недостаточно остатков на складе!"); Возврат; КонецЕсли;

Проверяем остатки // M* - колиичество доступного остатка на складе М = Новый Массив (к); // Цены на товары Ц = Новый Массив (к); ТК = Новый Массив (к);// Текущая комбинация товаров для добавления в товарный отчет ЛК = Новый Массив (к);// Лучшая комбинация товаров для добавления в товарный отчет Макс = 0;// Максимальная сумма, меньшая суммы недостатка СуммаТоваровНаСкладе = 0; Для Н=0 По к-1 Цикл М[Н]=Остатки[Н].Остаток; Ц[Н]=Остатки[Н].Цена; ТК[Н]=0;ЛК[Н]=0; Если М[Н]*Ц[Н]>Недостаток Тогда М[Н]= Цел(Недостаток/Ц[Н]); // Ограничиваем использование данного товара суммой недостатка КонецЕсли; СуммаТоваровНаСкладе = СуммаТоваровНаСкладе+М[Н]*Ц[Н]; КонецЦикла;

Проверяем остатки // Проверяем возможность решения задачи "в принципе" Если СуммаТоваровНаСкладе

Выход = Ложь; Рез = "Решение невозможно!"; Пока Не Выход Цикл Выход = Истина; Для Н=0 По к-1 Цикл Если ТК[Н]Макс И Сум

Вывод результата // Выводим результат Отчет.Подгонка.Очистить(); Для Н=0 По к-1 Цикл Если ЛК[Н]0 Тогда Стр= Отчет.Подгонка.Добавить(); Стр.Товар = Остатки[Н].Товар; Стр.Количество = ЛК[Н]; Стр.Цена = Ц[Н]; Стр.Сумма = Стр.Количество*Стр.Цена; КонецЕсли; КонецЦикла;

Дополнительная задача // берем товар со из товарного отчета для исключения Запрос.Текст = "ВЫБРАТЬ |ПродажаТоваровТовары.Номенклатура КАК Товар, |ПродажаТоваровТовары.Количество КАК Остаток, |ПродажаТоваровТовары.Цена КАК Цена |ИЗ |Документ.ПродажаТоваров.Товары КАК ПродажаТоваровТовары |ГДЕ |ПродажаТоваровТовары.Ссылка = &Ссылка | |УПОРЯДОЧИТЬ ПО |Цена УБЫВ"; Недостаток = - Недостаток;// Избыток!!!