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

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

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

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

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

"БухИт1=СоздатьОбъект("БухгалтерскиеИтоги");<br>БухИт1.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства);<br>БухИт1.ВыполнитьЗапрос(,КонДата,"01.1,02.1");<br><br>БухИт2=СоздатьОбъект("БухгалтерскиеИтоги");<br>БухИт2.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства);<br>БухИт2.ВыполнитьЗапрос(НачДата,КонДата,"01.1","83",,2);"

many
новичок
офлайн
Пост №12
 
02.07.2009 03:12

я тоже так думала по началу, но только потом я заметила что всё глючить когда проходишь цикл, т.е. объекты стираются<br><br>Пока (БИ.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства) = 1) и (БИ1.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства) = 1) и (БИ2.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства) = 1) Цикл<br><br>я вот только не знаю можно ли как-то сделать чтобы все эти выражения были равны<br><br>БИ.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства) = БИ1.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства) = БИ2.... и т.д.

many
новичок
офлайн
Пост №13
 
02.07.2009 03:24

"Вы с функциями не работали?? может как-нить через функцию их прописать?? то что я пыталась вначале, просто может косо написала:<br><br>//__________________________________________________­___________________________<br>Функция ПолучитьСумму(БИ,ТекСчет,Формула,ТекЭлСпр) <br> Рез=0;<br> БИ.ВыбратьСчета(,,1);<br> Если БИ.ПолучитьСчет(1,ТекСчет) = 1 Тогда<br> Если ПустоеЗначение(ТекЭлСпр)=0 Тогда<br> //БИ.ВыбратьСубконто(1);<br> Если БИ.ПолучитьСубконто(1,1,ТекЭлСпр)=0 Тогда<br> Возврат Рез;<br> КонецЕсли; <br> КонецЕсли; <br> Если Формула="СНД" Тогда <br> Рез = БИ.СНД();       <br> ИначеЕсли Формула="СНК" Тогда       <br> Рез = БИ.СНК(); <br> ИначеЕсли Формула="СКК" Тогда       <br> Рез = БИ.СКК(); <br> ИначеЕсли Формула="СКД" Тогда       <br> Рез = БИ.СКД(); <br> ИначеЕсли Формула="КО" Тогда       <br> Рез = БИ.КО(); <br> Если БИ.ПолучитьКорСчет(,СчетПоКоду("02.10",ПланыСчетов.Основной)) = 1 Тогда <br> //сообщить(БИ.КорДО());<br> Рез=Рез-БИ.КорДО();<br> КонецЕсли;<br><br> ИначеЕсли Формула="ДО" Тогда       <br> Рез = БИ.ДО(); <br> ИначеЕсли Формула="КорДО" Тогда<br> Если БИ.ПолучитьКорСчет(,СчетПоКоду("83.01",ПланыСчетов.Основной)) = 1 Тогда<br> Рез=БИ.КорДО();<br> КонецЕсли;<br> ИначеЕсли Формула="КорКО" Тогда<br> Если БИ.ПолучитьКорСчет(,СчетПоКоду("83.01",ПланыСчетов.Основной)) = 1 Тогда<br> Рез=БИ.КорКО();<br> КонецЕсли;<br> КонецЕсли; <br> КонецЕсли; <br> Возврат Рез;<br>КонецФункции "

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

мой вариант более быстрый и читабельный, мне кажется

many
новичок
офлайн
Пост №15
 
03.07.2009 03:47

"мне тоже он больше нравиться!!! Только что с этим делать там где стоят вопросы?? их объединить или как то по другому нельзя..??<br><br>БИ3 = СоздатьОбъект("БухгалтерскиеИтоги");<br>БИ3.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства, , 1);<br>БИ3.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "01", "08.30.02",, 3, "Проводка", "СК");<br><br>Таб.ВывестиСекцию("Шапка");<br>Таб.Опции(0,0,Таб.ВысотаТаблицы(),0); <br> <br>БИ.ВыбратьСубконто(ВидыСубконто.ОсновныеСредства);             ?????????<br>БИ2.ВыбратьСубконто(ВидыСубконто.ОсновныеСредства);             ????????? <br>БИ3.ВыбратьСубконто(ВидыСубконто.ОсновныеСредства);             ?????????<br><br>ном=0;<br>СКД = 0;<br>СКК = 0; <br><br>Пока (БИ.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства) = 1) и (БИ1.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства) = 1) и (БИ2.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства) = 1) Цикл ????????????<br><br> <br>       ном = ном + 1;       <br>       Группа = БИ.Субконто(ВидыСубконто.ОсновныеСредства).Группа;<br>       ИнвОС = БИ.Субконто(ВидыСубконто.ОсновныеСредства).Код;<br>       НаимОС = БИ.Субконто(ВидыСубконто.ОсновныеСредства).Наименование;<br>       ТекДата = РабочаяДата();<br>       ДатаВВода = БИ.Субконто(ВидыСубконто.ОсновныеСредства).ТекущийЭлемент().ДатаВводаВЭксплуатацию.Получить(ТекДата);<br>       ДО01 = БИ.ДО(СчетПоКоду ("01")); <br>....................<br>"

many
новичок
офлайн
Пост №16
 
03.07.2009 05:30

"БИ = СоздатьОбъект("БухгалтерскиеИтоги");<br>БИ.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства, , 1);<br>БИ.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "01",,, 3, , "С"); <br><br>БИ2 = СоздатьОбъект("БухгалтерскиеИтоги");<br>БИ2.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства, , 1);<br>БИ2.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "01","83.01",, 3, "Проводка", "СК"); <br><br>БИ3 = СоздатьОбъект("БухгалтерскиеИтоги");<br>БИ3.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства, , 1);<br>БИ3.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "01", "08.30.02",, 3, "Проводка", "СК");<br><br>Таб.ВывестиСекцию("Шапка");<br>Таб.Опции(0,0,Таб.ВысотаТаблицы(),0); <br> <br>БИ.ВыбратьСубконто(ВидыСубконто.ОсновныеСредства);<br>БИ2.ВыбратьСубконто(ВидыСубконто.ОсновныеСредства); <br>БИ3.ВыбратьСубконто(ВидыСубконто.ОсновныеСредства);<br><br>ном=0;<br>СКД = 0;<br>СКК = 0; <br><br>Пока (БИ.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства) = 1) Цикл<br><br> <br>       ном = ном + 1;       <br>       Группа = БИ.Субконто(ВидыСубконто.ОсновныеСредства).Группа;<br>       ИнвОС = БИ.Субконто(ВидыСубконто.ОсновныеСредства).Код;<br>       НаимОС = БИ.Субконто(ВидыСубконто.ОсновныеСредства).Наименование;<br>       ТекДата = РабочаяДата();<br>       ДатаВВода = БИ.Субконто(ВидыСубконто.ОсновныеСредства).ТекущийЭлемент().ДатаВводаВЭксплуатацию.Получить(ТекДата);<br>       ДО01 = БИ.ДО(СчетПоКоду ("01")); <br>       КО02 = БИ.КО(СчетПоКоду ("02"));<br>       ОстСтоим = БИ.СКД() - БИ.СКК();<br><br><br>Пока (БИ2.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства) = 1) Цикл<br>       //Переоценка <br>       КО83 = БИ2.ДО(СчетПоКоду("01")); <br>       ДО83 = БИ2.КО(СчетПоКоду("02"));<br>       //Модернизация <br>КонецЦикла;<br>................<br><br>       Таб.ВывестиСекцию("Строка"); <br>       <br>КонецЦикла;<br>"

many
новичок
офлайн
Пост №17
 
03.07.2009 07:36

я вот еще, что подумала может вот эту группировку Пока (БИ.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства) = 1) и (БИ1.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства) = 1) и (БИ2.ПолучитьСубконто(ВидыСубконто.ОсновныеСредства) = 1) Цикл заменить на группировку по группам? Как это сделать чтобы было лучше не знаю.........

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

Что то вы всего туда написали и даже 3 раза к бухитогам обратились. Давайте проще сделаем. Скажите, какие данные нужно увидеть в отчете?

many
новичок
офлайн
Пост №19
 
03.07.2009 18:32

Группу основных средств<br>Группу, которая иерархически разделена<br>Инвентарный код<br>Наименование<br>Срок полезного использования<br>СКД 01<br>СКК 02<br>Д 01 К 83 - на начало года<br>Д 83 К 02 - на начало года<br>Д 01 К 08<br>Нал 01<br>Нал 02<br>Нал 04<br>и т.д.<br><br><br>

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

"Простите, стормозил. Все можно запихать в один запрос. Я попробовал, все работает нормально:<br>ТекстЗапроса="ОсновноеСредство=Справочник.ОсновныеСредства.ТекущийЭлемент;<br>             |АмортизационнаяГруппа=Справочник.ОсновныеСредства.АмортизационнаяГруппа;<br>             |Группировка АмортизационнаяГруппа;<br>             |Группировка ОсновноеСредство упорядочить по ОсновноеСредство.Наименование;";<br> <br>Запрос=СоздатьОбъект("Запрос");<br>Если Запрос.Выполнить(ТекстЗапроса)=1 Тогда<br> БухИтоги=СоздатьОбъект("БухгалтерскиеИтоги");<br> БухИтоги.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства);<br> БухИтоги.ВыполнитьЗапрос(НачДата,КонДата,"01.1,02.1","83.1",,3);<br> <br> Пока Запрос.Группировка("АмортизационнаяГруппа")=1 Цикл<br>      Таб.ВывестиСекцию("СтрокаАмортизационнойГруппы");<br>      Пока Запрос.Группировка("ОсновноеСредство")=1 Цикл<br>       Если Запрос.ОсновноеСредство.ЭтоГруппа()=1 Тогда<br>            Таб.ВывестиСекцию("СтрокаГруппыСправочникаОС");<br>       Иначе<br>            БалансоваяСтоимость=0;<br>            Износ=0;<br>            Переоценка=0;<br>            Если БухИтоги.ПолучитьСчет(,Сч01_1)=1 Тогда<br>             Если (БухИтоги.ПолучитьСубконто(,,Запрос.ОсновноеСредство)=1) Тогда<br>                  БалансоваяСтоимость=БухИтоги.СКД();<br>                  Если БухИтоги.ПолучитьКорСчет(,Сч83_1)=1 Тогда<br>                   Переоценка=БухИтоги.КорДО();<br>                  КонецЕсли;<br>             КонецЕсли;<br>            КонецЕсли;<br> <br>            Если БухИтоги.ПолучитьСчет(,Сч02_1)=1 Тогда<br>             Если (БухИтоги.ПолучитьСубконто(,,Запрос.ОсновноеСредство)=1) Тогда<br>                  Износ=БухИтоги.СКК();<br>             КонецЕсли;<br>            КонецЕсли;<br>            Таб.ВывестиСекцию("СтрокаСведенийОбОС");<br>       КонецЕсли;<br>      КонецЦикла;<br> КонецЦикла;<br>КонецЕсли;<br><br>P.S. По идее, функции обращения к бухитогам можно прямо в текстовый запрос затолкать. Раньше 1С в типовых конфигурациях эим пользовалась, а потом не стала, не знаю почему"

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

Читают тему:

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