Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Функции, таблицы значений

many
новичок
офлайн
Пост №1
 
01.07.2009 11:06

"Всем приветики :-)) Извините за беспокойство, я совсем новичок в 1с 7.7. Можно ли так делать или как то нуна по другому? Попросили собрать ОС по 01, 83, 84, 02,..... Я решила каждый счет прописать в функцию, а потом записать все в таблицу значений, а из неё уже выгрузить в отчет.<br><br>//________________________________________________­_­____________________________<br>Функция ПолучитьСумму(БИ,ТекСчет,Формула,ТекЭлСпр)<br>Рез=0;<br>БИ.ВыбратьСчета(,,1);<br>Если БИ.ПолучитьСчет(1,ТекСчет) = 1 Тогда<br>Если ПустоеЗначение(ТекЭлСпр)=0 Тогда<br>Если БИ.ПолучитьСубконто(1,1,ТекЭлСпр)=0 Тогда<br>Возврат Рез;<br>КонецЕсли;<br>КонецЕсли;<br>Если Формула="СНД" Тогда<br>Рез = БИ.СНД();<br>ИначеЕсли Формула="СНК" Тогда<br>Рез = БИ.СНК();<br>ИначеЕсли Формула="СКК" Тогда<br>Рез = БИ.СКК();<br>ИначеЕсли Формула="СКД" Тогда<br>Рез = БИ.СКД();<br>ИначеЕсли Формула="КО" Тогда<br>Рез = БИ.КО();<br><br>Если БИ.ПолучитьКорСчет(СчетПоКоду("01",ПланыСчетов.Основной)) = 1 Тогда<br>Рез=Рез-БИ.КорДО();<br>КонецЕсли;<br><br>Если БИ.ПолучитьКорСчет(СчетПоКоду("83",ПланыСчетов.Основной)) = 1 Тогда<br>Рез=Рез-БИ.КорДО();<br>КонецЕсли;<br>КонецЕсли;<br>КонецЕсли;<br>Возврат Рез;<br>КонецФункции<br><br>//*******************************************<br>Процедура Сформировать()<br><br><br>БИ = СоздатьОбъект("БухгалтерскиеИтоги");<br>БИ.ИспользоватьПланСчетов(ПланыСчетов.Основной);<br>БИ.ВключатьСубсчета(1,1);<br>БИ.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства);<br><br>Таб=СоздатьОбъект("Таблица");<br>ТабЗнач=СоздатьОбъект("ТаблицаЗначений");<br>ТабЗначИтог=СоздатьОбъект("ТаблицаЗначений");<br>Таб.ИсходнаяТаблица("Таблица");<br><br>// Создадим структурированную таблицу<br>ТабЗнач = СоздатьОбъект ("ТаблицаЗначений");<br>ТабЗнач.НоваяКолонка("ОС","Число",19,2);<br>ТабЗнач.НоваяКолонка("Первонач","Число",19,2);<br>ТабЗнач.НоваяКолонка("Реконструкция","Число",19,2);<br><br>ТабЗнач.НаимОС = БИ.Субконто(ВидыСубконто.ОсновныеСредства).Наименование;<br>ТабЗнач.ПервоначСтоим = ПолучитьСумму(БИ,"83","КО",ТабЗнач);<br>ТабЗнач.Реконструкция = ПолучитьСумму(БИ,"01","КО",ТабЗнач);<br><br>КонецПроцедуры<br>"

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №2
 
01.07.2009 13:36

"Может и так будет работать, но я бы проще делал, наверное. Кстати, у вас ниака не задан период, за который вы желаете получить сведения.<br><br>Сч01_1=СчетПоКоду("01.1");<br>Сч02_1=СчетПоКоду("02.1");<br>БухИт=СоздатьОбъект("БухгелтерскиеИтоги");<br>БухИт.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства);<br>БухИт.ВыполнитьЗапрос(,НужнаяДата,"01.1,02.1");<br>БухИт.ВыбратьСубконто(ВидыСубконто.ОсновныеСредства);<br>Пока БухИт.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства)=1 Цикл<br> БалансоваяСтоимость=0;<br> Износ=0;<br> Если БухИт.ПолучитьСчет(,Сч01_1)=1 Тогда<br>       БалансоваяСтоимость=БухИт.СКД();<br> КонецЕсли;<br> Если БухИт.ПолучитьСчет(,Сч02_1)=1 Тогда<br>       Износ=БухИт.СКК();<br> КонецЕсли;<br> <br> Если (БалансоваяСтоимость<>0) ИЛИ (Износ<>0) Тогда<br>       Таб.ВывестиСекцию("Строка"); //вывод сведений в какую нибудь таблицу<br> КонецЕсли;<br>КонецЦикла;<br><br>P.S. Как связаны основные средства и счета 83, 84? Если у вас меняный план счетов и там в самом деле что то есть по основным, то измените мой алгоритм, добавив туда их"

many
новичок
офлайн
Пост №3
 
01.07.2009 15:15

"в этом месте они завязываются между собой или нет, т.е. каждый независимо выгружать в будущем можно? <br>БухИт.ВыполнитьЗапрос(,НужнаяДата,"01.1,02.1");<br><br>"

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №4
 
01.07.2009 15:49

"выгружать в будущем можно:<br>БухИт.ВыбратьСчета();<br>Пока БухИт.ПолучитьСчет()=1 Цикл<br>...<br><br>будет перебор итогов по каждому счету. если обратиться к БухИт.ХХХХ() до проведения выборки (до ВыбратьСчета())или до прямого позиционирования (ПолучитьСчет()), то получим "завязываются между собой", а конкретнее - сводный остаток или оборот. В общем и то и другое можно достать"

many
новичок
офлайн
Пост №5
 
01.07.2009 16:22

"Если мне нужно к примеру так:<br>первоначальная стоимость = ДО(01);<br>амортизация = КО(02)<br>переоценка = Д01 К83<br>и т.д. Если брать из твоего примера:<br><br>Сч01_1=СчетПоКоду("01.1");<br>Сч02_1=СчетПоКоду("02.1");<br>Сч83=СчетПоКоду("83");<br><br>БухИт=СоздатьОбъект("БухгелтерскиеИтоги");<br>БухИт.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства);<br><br>БухИт.ВыполнитьЗапрос(,НужнаяДата,"01.1,02.1"); здесь все счета описывать?? или здесь написать БухИт.ВыбратьСчета("перечислить тут все счета");<br><br>БухИт.ВыбратьСубконто(ВидыСубконто.ОсновныеСредства);<br>Пока БухИт.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства)=1 Цикл<br> БалансоваяСтоимость=0;<br> Износ=0;<br><br>переоценка = 0;<br><br> Если БухИт.ПолучитьСчет(,Сч01_1)=1 Тогда<br>      БалансоваяСтоимость=БухИт.СКД();<br> КонецЕсли;<br><br> Если БухИт.ПолучитьСчет(,Сч02_1)=1 Тогда<br>      Износ=БухИт.СКК();<br> КонецЕсли;<br><br><br> Если БухИт.ПолучитьСчет(,Сч83)=1 Тогда<br>      Износ=БухИт.СКК();<br> КонецЕсли;<br><br> Если (БалансоваяСтоимость<>0) ИЛИ (Износ<>0) Тогда<br>      Таб.ВывестиСекцию("Строка"); //вывод сведений в какую нибудь таблицу<br> КонецЕсли;<br>КонецЦикла;<br><br>"

many
новичок
офлайн
Пост №6
 
01.07.2009 16:25

И еще чтобы прописать проводку - Д01 К83 через БИ.ОБ или СКК(83). Как будет правильнее?

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №7
 
01.07.2009 18:21

"> первоначальная стоимость = ДО(01);<br>> амортизация = КО(02)<br>> переоценка = Д01 К83<br><br>почему "первоначальная стоимость" = ДО()? ДО - дебетовый оборот! Это изменение балансовой стоимости за какой то период. То есть, по сути "приобретенные основные средства с НачДата по КонДата".<br>Читаем описания функций класса "БухгалтерскиеИтоги":<br>СНД() - сальдо начальное дебетовое<br>СНК() - сальдо начальное кредитовое<br>ДО() - дебетовый оборот<br>...<br><br>короче, надо ознакомиться с тем что такое план счетов и что означает признак у счета "Активный", "Пассивный", "Активно-Пассивный". Именно это позволит вам понять то ли брать нам дебетовый, то ли кредитовый остаток. В двух словах: для активных счетов берем дебетовый, для пассивных - кредитовый, для активно-пассивных я делаю "дебетовый минус кредитовый".<br>Кроме того, надо пообщаться с бухгалтером, чтобы она рассказала элементарные принципы ведения учета. На это надо 10 минут, это позволит вам понять в каких ситуациях мы должны обращаться к остаткам (к сальдо), а в каких к оборотам.<br><br>Теперь к делу:<br>> БухИт.ВыполнитьЗапрос(,НужнаяДата,"01.1,02.1"); здесь все счета описывать?? или здесь написать БухИт.ВыбратьСчета("перечислить тут все счета");<br>читаем желтую книжку, с чего вы решили, что конструкция БухИт.ВыбратьСчета("перечислить тут все счета"); имеет смысл? <br><br>ВыбратьСчета(<?>,,,)<br>Синтаксис:<br>ВыбратьСчета(<ФлагВсе>,<ФлагДК>,<Номер>,<РазвСальдо>)<br><br>Куда вы тут счета напишете? Надо так:<br>БухИт.ВыполнитьЗапрос(,НужнаяДата,"01.1,02.1");// тут пишем ВСЕ НУЖНЫЕ для нашей задачи счета, по которым нужно получить остатки. Если нам нужно получить переоценку, я так понял, что для вас это обороты вида Д01.1 - К83. Для такого нужен не такой запрос, причем он имеет смысл только для какого то диапазона<br>БухИт.ВыполнитьЗапрос(НачДата,КонДата,"01.1","83",,2); //читайте в ЖКК что означает 2<br><br>"

many
новичок
офлайн
Пост №8
 
01.07.2009 18:54

Что за желтая книжка? и ЖКК??<br>тогда будет много запросов? <br>Мне хотелось в один запрос их все пройти, разделить не могу так как всего в отчете 30 колонок :((<br>

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №9
 
01.07.2009 19:05

ЖКК (желтокрасные книжки) и желтая книжка - словая синонимы. Это книги, которые идут в комплекте с купленной программой. Запросов будет 2

many
новичок
офлайн
Пост №10
 
01.07.2009 19:11

Если запроса будет 2 их как то нужно называть 1 и 2 или как пишутся 2 запроса?

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация