class SeedReportCodes < ActiveRecord::Migration[7.1] def up rows = [ { code: "1105", name: "Гудвил", description: "-" }, { code: "1110", name: "Нематериальные активы", description: "-" }, { code: "1130", name: "Нематериальные поисковые активы", description: "-" }, { code: "1140", name: "Материальные поисковые активы", description: "-" }, { code: "1150", name: "Основные средства", description: "-" }, { code: "1160", name: "Инвестиционная недвижимость", description: "-" }, { code: "1170", name: "Финансовые вложения", description: "-" }, { code: "1180", name: "Отложенные налоговые активы", description: "-" }, { code: "1190", name: "Прочие внеоборотные активы", description: "-" }, { code: "1100", name: "Итого внеоборотных активов", description: "Сумма строк 1110, 1120, 1130, 1140, 1150" }, { code: "1210", name: "Запасы", description: "-" }, { code: "1215", name: "Долгосрочные активы к продаже", description: "-" }, { code: "1220", name: "Налог на добавленную стоимость по приобретенным ценностям", description: "-" }, { code: "1230", name: "Дебиторская задолженность", description: "-" }, { code: "1240", name: "Финансовые вложения (за исключением денежных эквивалентов)", description: "-" }, { code: "1250", name: "Денежные средства и денежные эквиваленты", description: "-" }, { code: "1260", name: "Прочие оборотные активы", description: "-" }, { code: "1200", name: "Итого оборотных активов", description: "-" }, { code: "1600", name: "БАЛАНС (актив)", description: "-" }, { code: "1310", name: "Уставный капитал/Паевой фонд (в некоммерческой организации)", description: "-" }, { code: "1320", name: "Собственные акции, принадлежащие обществу, задолженность акционеров по оплате акций/Целевой капитал (в некоммерческой организации)", description: "-" }, { code: "1330", name: "Целевые средства (в некоммерческой организации)", description: "-" }, { code: "1340", name: "Накопленная дооценка внеоборотных активов", description: "-" }, { code: "1350", name: "Добавочный капитал (без накопленной дооценки)", description: "-" }, { code: "1360", name: "Резервный капитал/Фонд недвижимого и особо ценного движимого имущества (в некоммерческой организации)", description: "-" }, { code: "1370", name: "Нераспределенная прибыль (непокрытый убыток)/Резервный и иные целевые фонды (в некоммерческой организации)", description: "-" }, { code: "1300", name: "Итого капитал/Итого целевое финансирование (в некоммерческой организации)", description: "-" }, { code: "1410", name: "Долгосрочные заемные средства", description: "-" }, { code: "1420", name: "Отложенные налоговые обязательства", description: "-" }, { code: "1430", name: "Долгосрочные оценочные обязательства", description: "-" }, { code: "1450", name: "Прочие долгосрочные обязательства", description: "-" }, { code: "1400", name: "Итого долгосрочных обязательств", description: "-" }, { code: "1510", name: "Краткосрочные заемные средства", description: "-" }, { code: "1520", name: "Краткосрочная кредиторская задолженность", description: "-" }, { code: "1530", name: "Доходы будущих периодов", description: "-" }, { code: "1540", name: "Краткосрочные оценочные обязательства", description: "-" }, { code: "1550", name: "Прочие краткосрочные обязательства", description: "-" }, { code: "1500", name: "Итого краткосрочных обязательств", description: "-" }, { code: "1700", name: "БАЛАНС (пассив)", description: "-" }, { code: "2110", name: "Выручка", description: "-" }, { code: "2120", name: "Себестоимость продаж", description: "-" }, { code: "2100", name: "Валовая прибыль (убыток)", description: "-" }, { code: "2210", name: "Коммерческие расходы", description: "-" }, { code: "2220", name: "Управленческие расходы", description: "-" }, { code: "2200", name: "Прибыль (убыток) от продаж", description: "-" }, { code: "2310", name: "Доходы от участия в других организациях", description: "-" }, { code: "2320", name: "Проценты к получению", description: "-" }, { code: "2330", name: "Проценты к уплате", description: "-" }, { code: "2340", name: "Прочие доходы", description: "-" }, { code: "2350", name: "Прочие расходы", description: "-" }, { code: "2300", name: "Прибыль (убыток) от продолжающейся деятельности до налогообложения", description: "-" }, { code: "2410", name: "Налог на прибыль организаций", description: "-" }, { code: "2411", name: "текущий налог на прибыль организаций", description: "в том числе" }, { code: "2412", name: "отложенный налог на прибыль организаций", description: "в том числе" }, { code: "2420", name: "Прибыль (убыток) от прекращаемой деятельности (за вычетом относящегося к ней налога на прибыль организаций)", description: "-" }, { code: "2460", name: "Прочее", description: "-" }, { code: "2400", name: "Чистая прибыль (убыток)", description: "-" }, { code: "2510", name: "Результат от переоценки внеоборотных активов, не включаемый в чистую прибыль (убыток)", description: "-" }, { code: "2520", name: "Результат от прочих операций, не включаемый в чистую прибыль (убыток)", description: "-" }, { code: "2530", name: "Налог на прибыль организаций, относящийся к результатам переоценки внеоборотных активов и прочих операций, не включаемых в чистую прибыль (убыток)", description: "-" }, { code: "2500", name: "Совокупный финансовый результат", description: "-" }, { code: "2900", name: "Базовая прибыль (убыток) на акцию", description: "-" }, { code: "2910", name: "Разводненная прибыль (убыток) на акцию", description: "-" }, { code: "3100", name: "Величина капитала на 31 декабря года, предшествующего предыдущему", description: "-" }, { code: "3110", name: "Корректировка в связи с изменением учетной политики", description: "-" }, { code: "3120", name: "Корректировка в связи с исправлением ошибок", description: "-" }, { code: "3101", name: "Величина капитала на 31 декабря года, предшествующего предыдущему, после корректировки", description: "-" }, { code: "3211", name: "Чистая прибыль (убыток)", description: "-" }, { code: "3212", name: "Переоценка внеоборотных активов", description: "-" }, { code: "3227", name: "Дивиденды", description: "-" }, { code: "3230", name: "Иные изменения за счет операций с собственниками (за исключением дивидендов) - всего", description: "-" }, { code: "3216", name: "Реорганизация юридического лица", description: "-" }, { code: "3240", name: "Иные изменения - всего", description: "-" }, { code: "3250", name: "Величина капитала на дату окончания периода предыдущего года, аналогичного отчетному периоду", description: "-" }, { code: "3200", name: "Величина капитала на 31 декабря предыдущего года", description: "-" }, { code: "3210", name: "Корректировка в связи с изменением учетной политики", description: "-" }, { code: "3220", name: "Корректировка в связи с исправлением ошибок", description: "-" }, { code: "3201", name: "Величина капитала на 31 декабря предыдущего года после корректировки", description: "-" }, { code: "3311", name: "Чистая прибыль (убыток)", description: "-" }, { code: "3312", name: "Переоценка внеоборотных активов", description: "-" }, { code: "3327", name: "Дивиденды", description: "-" }, { code: "3330", name: "Иные изменения за счет операций с собственниками (за исключением дивидендов) - всего", description: "-" }, { code: "3316", name: "Реорганизация юридического лица", description: "-" }, { code: "3340", name: "Иные изменения - всего", description: "-" }, { code: "3300", name: "Величина капитала на отчетную дату", description: "-" }, { code: "4110", name: "Поступления - всего", description: "-" }, { code: "4111", name: "От продажи продукции, товаров, выполнения работ, оказания услуг", description: "-" }, { code: "4112", name: "Арендных платежей, роялти, комиссионных и иных аналогичных платежей", description: "в-" }, { code: "4113", name: "От перепродажи финансовых вложений", description: "-" }, { code: "4114", name: "Процентов по дебиторской задолженности покупателей", description: "-" }, { code: "4119", name: "Прочие поступления", description: "-" }, { code: "4120", name: "Платежи - всего", description: "-" }, { code: "4121", name: "Поставщикам (подрядчикам) за сырье, материалы, выполненные работы, оказанные услуги", description: "в-" }, { code: "4122", name: "В связи с оплатой труда работников", description: "-" }, { code: "4123", name: "Процентов по долговым обязательствам", description: "-" }, { code: "4124", name: "Налога на прибыль организаций", description: "-" }, { code: "4129", name: "Прочие платежи", description: "-" }, { code: "4100", name: "Сальдо денежных потоков от текущих операций", description: "-" }, { code: "4210", name: "Поступления - всего", description: "-" }, { code: "4211", name: "От продажи внеоборотных активов (кроме финансовых вложений)", description: "-" }, { code: "4212", name: "От продажи акций других организаций (долей участия)", description: "-" }, { code: "4213", name: "От возврата предоставленных займов, от продажи долговых ценных бумаг (прав требования денежных средств к другим лицам)", description: "-" }, { code: "4214", name: "Дивидендов, процентов по долговым финансовым вложениям и аналогичных поступлений от долевого участия в других организациях", description: "-" }, { code: "4219", name: "Прочие поступления", description: "-" }, { code: "4220", name: "Платежи - всего", description: "-" }, { code: "4221", name: "В связи с приобретением, созданием, модернизацией, реконструкцией и подготовкой к использованию внеоборотных активов", description: "-" }, { code: "4222", name: "В связи с приобретением акций других организаций (долей участия)", description: "-" }, { code: "4223", name: "В связи с приобретением долговых ценных бумаг (прав требования денежных средств к другим лицам), предоставление займов другим лицам", description: "-" }, { code: "4224", name: "Процентов по долговым обязательствам, включаемым в стоимость инвестиционного актива", description: "-" }, { code: "4229", name: "Прочие платежи", description: "-" }, { code: "4200", name: "Сальдо денежных потоков от инвестиционных операций", description: "-" }, { code: "4310", name: "Поступления - всего", description: "-" }, { code: "4311", name: "Получение кредитов и займов", description: "-" }, { code: "4312", name: "Денежных вкладов собственников (участников)", description: "-" }, { code: "4313", name: "От выпуска акций, увеличения долей участия", description: "-" }, { code: "4314", name: "От выпуска облигаций, векселей и других долговых ценных бумаг", description: "-" }, { code: "4319", name: "Прочие поступления", description: "-" }, { code: "4320", name: "Платежи - всего", description: "-" }, { code: "4321", name: "Собственникам (участникам) в связи с выкупом у них акций (долей участия) организации или их выходом из состава участников", description: "-" }, { code: "4322", name: "На уплату дивидендов и иных платежей по распределению прибыли в пользу собственников (участников)", description: "-" }, { code: "4323", name: "В связи с погашением (выкупом) векселей и других долговых ценных бумаг, возврат кредитов и займов", description: "-" }, { code: "4329", name: "Прочие платежи", description: "-" }, { code: "4300", name: "Сальдо денежных потоков от финансовых операций", description: "-" }, { code: "4400", name: "Сальдо денежных потоков за период", description: "-" }, { code: "4450", name: "Остаток денежных средств и денежных эквивалентов на начало периода", description: "-" }, { code: "4500", name: "Остаток денежных средств и денежных эквивалентов на конец периода", description: "-" }, { code: "4490", name: "Величина влияния изменения курса иностранной валюты по отношению к рублю", description: "-" } ] return if rows.empty? rows.each do |row| execute <<~SQL INSERT INTO report_codes (code, name, description, created_at, updated_at) VALUES ( #{connection.quote(row.fetch(:code))}, #{connection.quote(row.fetch(:name))}, #{connection.quote(row.fetch(:description, ''))}, NOW(), NOW() ) ON CONFLICT (code) DO UPDATE SET name = EXCLUDED.name, description = EXCLUDED.description, updated_at = NOW(); SQL end end def down codes = [ "1100", "1105", "1110", "1130", "1140", "1150", "1160", "1170", "1180", "1190", "1200", "1210", "1215", "1220", "1230", "1240", "1250", "1260", "1600", "1300", "1310", "1320", "1330", "1340", "1350", "1360", "1370", "1400", "1410", "1420", "1430", "1450", "1500", "1510", "1520", "1530", "1540", "1550", "2110", "2120", "2100", "2210", "2220", "2200", "2310", "2320", "2330", "2340", "2350", "2300", "2410", "2411", "2412", "2420", "2460", "2400", "2510", "2520", "2530", "2500", "2900", "2910", "3100", "3110", "3120", "3101", "3211", "3212", "3227", "3230", "3216", "3240", "3250", "3200", "3210", "3220", "3201", "3311", "3312", "3327", "3330", "3316", "3340", "3300", "4110", "4111", "4112", "4113", "4114", "4119", "4120", "4121", "4122", "4123", "4124", "4129", "4100", "4210", "4211", "4212", "4213", "4214", "4219", "4220", "4221", "4222", "4223", "4224", "4229", "4200", "4310", "4311", "4312", "4313", "4314", "4319", "4320", "4321", "4322", "4323", "4329", "4300", "4400", "4450", "4500", "4490" ] return if codes.empty? quoted_codes = codes.map { |code| connection.quote(code) }.join(', ') execute "DELETE FROM report_codes WHERE code IN (#{quoted_codes});" end end