Имя: Пароль:
1C
1С v8
виртуальная таблица Обороты
0 Alex1979rak
 
22.06.12
11:45
Здравствуйте, уважаемые коллеги.
Помогите пожалуйста разобраться в ситуации.

Бух 2.0.
Хочу получить кредитовые обороты по счету 70 в разрезе сотрудников организации. Учет по счету 70 ведется в разрезе работников организации и видов начислений оплаты труда.
Обращаюсь в запросе к виртуальной таблице регистра бухгалтерии Обороты

ВЫБРАТЬ
   ХозрасчетныйОбороты.Счет,
   ХозрасчетныйОбороты.КорСчет,
   ХозрасчетныйОбороты.КорСубконто1,
   ХозрасчетныйОбороты.СуммаОборот
ИЗ
   РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, , , , , КорСчет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда), &Субконто) КАК ХозрасчетныйОбороты

Параметр Субконто задаю:
   МассивСубконто = Новый Массив;
   МассивСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.РаботникиОрганизаций);
   Запрос.УстановитьПараметр("Субконто", МассивСубконто);

В результате получается, что в результате выполнения запроса в значения поля КорСубконто1 попадают не только сотрудники, но и виды начислений оплаты труда.
В чем причина? Если я не прав, то подскажите в какую сторону копать.
1 zak555
 
22.06.12
11:47
почему корСчет, а не счет ?
2 Alex1979rak
 
22.06.12
11:48
(1) Ну типа хочу видеть обороты, где кор счет 70, т.е. хочу видеть начисления ЗП.
3 PR
 
22.06.12
11:49
А почему субконто, а не корсубконто?
4 Alex1979rak
 
22.06.12
11:50
(3) Ну так обозвал. Но параметр вроде бы правильно указываю.
5 Alex1979rak
 
22.06.12
11:52
Рассматривал док начисление ЗП и его проводки. Там видно что по проводке Дт20 Кт70 на счете 70 субконто1 сначала указывается вид начислений оплаты труда, а субконто2 - работник.
6 Alex1979rak
 
22.06.12
11:55
По СП:
Параметр Субконто
Задает набор и порядок субконто, которыми можно оперировать в запросе...
Если параметр <Субконто> задан, то выбираются данные только по тем счетам, у которых определены все указанные виды субконто. При этом поля "Субконто<N>", будут содержать значения, соответствующие переданным видам субконто.
Например, если один счет имеет настройку субконто "Материалы, Склад", а второй "Склад, Материалы", и параметр виды субконто задан как массив "Материалы, Склад", то поле "Субконто1" будет содержать материалы, а поле "Субконто2" - склады, не зависимо от счета

Т.е. если я правильно понимаю, в моем случае если я ставлю фильтр по сотрудникам, то и в результате должны быть только сотрудники.
7 Alex1979rak
 
22.06.12
12:04
подниму разок
8 PR
 
22.06.12
12:05
(7) Не ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.РаботникиОрганизаций, а ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.РаботникиОрганизации.
У меня все работает.
9 Fragster
 
гуру
22.06.12
12:09
(2) а не пофигу? те же яйца, только развернутые на 180
10 Alex1979rak
 
22.06.12
12:12
(8) покажи, пожалуйста, как составил запрос. вид субконто у меня РаботникиОрганизациЙ
11 Alex1979rak
 
22.06.12
12:13
(9) не понимаю твоей мысли
12 Alex1979rak
 
22.06.12
12:24
вопрос еще актуален. помогите, пожалуйста
13 PR
 
22.06.12
12:28
(10) Вот так
ВЫБРАТЬ
   ХозрасчетныйОбороты.Счет,
   ХозрасчетныйОбороты.КорСчет,
   ХозрасчетныйОбороты.КорСубконто1,
   ХозрасчетныйОбороты.СуммаОборот
ИЗ
   РегистрБухгалтерии.Хозрасчетный.Обороты(, , , , , , КорСчет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда), &Субконто) КАК ХозрасчетныйОбороты
14 acsent
 
22.06.12
12:28
корсчет это не счет кредита
15 Alex1979rak
 
22.06.12
12:31
(14) с этим согласен.
(13) у меня ведь такой же запрос. но так как у тебя не работает
16 Alex1979rak
 
22.06.12
12:51
и еще разок
17 Alex1979rak
 
22.06.12
13:27
...
18 Alex1979rak
 
22.06.12
14:18
Пробую сейчас вот такой запрос в консоле
ВЫБРАТЬ
   ХозрасчетныйОборотыДтКт.СчетДт,
   ХозрасчетныйОборотыДтКт.СчетКт,
   ХозрасчетныйОборотыДтКт.СубконтоКт1,
   ХозрасчетныйОборотыДтКт.СубконтоКт2,
   ХозрасчетныйОборотыДтКт.СуммаОборот
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&ДатаНач, &ДатаКон, , , , СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда),&Субконто , ) КАК ХозрасчетныйОборотыДтКт

Пробую варианты параметра Субконто:
указываю, что это список значений
- если делаю список как: Вид начислений оплаты труда, Работники организаций
то в результате получаю ТЗ где СубконтоКт1 - это работники, а СубконтоКт2 - это виды начислений
- если делаю список как: Работники организаций, Вид начислений
то в результате получаю ТЗ где СубконтоКт1 - Вид начислений, СубконтоКт2 - работники

Где логика? Никак не пойму.
19 Alex1979rak
 
22.06.12
14:43
апну
20 Alex1979rak
 
23.06.12
00:45
хэлп
21 Alex1979rak
 
23.06.12
15:51
вопрос еще актуален. помогите, если можете.
22 Alex1979rak
 
23.06.12
16:52
неужели никто не знает
23 Alex1979rak
 
27.06.12
11:52
может сейчас кто поможет
24 Alex1979rak
 
29.06.12
13:34
Знатоки, отзовитесь. Проблему так и не решил. Как поется в песне, попытка нумер 5...
25 Defender aka LINN
 
29.06.12
13:40
(18) Логика в том, что ты нас обманываешь :)
26 Alex1979rak
 
12.07.12
15:30
Здравствуйте, уважаемые коллеги.
Вот снова приступил к решению своей проблемы.
Вот ссылка на ситуацию, которую я воспроизвел в демонстрационной базе Бухгалтерия 2.0.
http://imageshost.ru/photo/327419/id2176083.html

Обращаю ваше внимание на то, что делаю запрос к таблице оборотов регистра бухгалтерии. Фильтрую по счету кредита 70 и ставлю условие по субконто - передаю список значений где на ПЕРВОМ месте стоит вид субконто Работники организации, а на втором месте вид субконто Вид начислений.

Как объяснить результат запроса? Ведь согласно СП :
Субконто Кт (необязательный)

Конструкция языка запросов. Ссылка, или массив ссылок, или фиксированный массив ссылок, или список значений, содержащий ссылки, на виды субконто.
Задает набор и порядок субконто кредита, которыми можно оперировать в запросе.
27 Alex1979rak
 
12.07.12
15:32
и я, кстати, никого не обманываю...
28 Alex1979rak
 
12.07.12
15:41
ну хоть откликнитесь
29 Alex1979rak
 
12.07.12
15:56
помогите, пожалуйста, разобраться
30 Alex1979rak
 
12.07.12
16:07
апну напоследок
31 Fragster
 
гуру
12.07.12
16:55
путаешь таблицу Обороты и ОборотыДтКт
32 Fragster
 
гуру
12.07.12
16:55
Обороты:

Если параметр Субконто задан, то выбираются данные только по тем счетам, у которых определены все указанные виды субконто. При этом поля Субконто<Номер субконто>, будут содержать значения, соответствующие переданным видам субконто. Например, если один счет имеет настройку субконто Материалы, Склад, а второй Склад, Материалы, и параметр Субконто задан как массив Материалы, Склад, то поле Субконто1 будет содержать материалы, а поле Субконто2 - склады, не зависимо от счета.
33 Fragster
 
гуру
12.07.12
16:56
ОборотыДтКт:
Параметры Субконто Дт и Субконто Кт определяют, в разрезе каких видов субконто будут сформированы обороты, а также определяют, какие значения будут связаны с полями "СубконтоДт1", "СубконтоДт2" и т.д. Обороты будут получены только по тем счетам, у которых определены все заданные виды субконто.
34 Fragster
 
гуру
12.07.12
16:56
это я про то, что на картинке из (26)
35 Alex1979rak
 
13.07.12
02:25
(31) не могу согласиться с утверждениями. акцентирую внимание, что написано в СП про параметр Субконто Кт:
...Задает набор и ПОРЯДОК субконто кредита...
вот за слово "порядок" я и зацепился.
а в таблице оборотов такое же "кино".
возможно, при формировании проводок доком Начисление ЗП разработчики конфы ошиблись: ну как можно по счету 70 в субконто1 записывать Вид начисления, а в Субконто2 - работника организации. Ведь в плане счетов указано, что субконто1 - это работник, а субконто2 - вид начисления.

никак я этого не пойму. что делать не знаю.

опять таки пробовал менять местами значения в списке параметра &Субконто и результат как-то по другому формируется. могу даже показать
http://imageshost.ru/photo/276479/id2177983.html
36 Alex1979rak
 
13.07.12
06:57
апну
37 DSatan
 
13.07.12
08:40
попробуй в параметр Субконто передать просто ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.РаботникиОрганизации без массива
38 Alex1979rak
 
13.07.12
11:49
(37) вот результат
http://imageshost.ru/photo/207865/id2178521.html
39 Fragster
 
гуру
13.07.12
11:57
(35) порядок задает только в таблице Обороты. на картинке в (26) - оборотыДтКт
40 Spieluhr
 
13.07.12
12:00
(0)

ВЫБРАТЬ
   ХозрасчетныйОбороты.Счет,
   ХозрасчетныйОбороты.СуммаОборотКт,
   ХозрасчетныйОбороты.Субконто1
ИЗ
   РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, , Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда), , , , ) КАК ХозрасчетныйОбороты
41 Spieluhr
 
13.07.12
12:01
Счет и КорСчет не нужно одновременно выбирать из таблицы Обороты
42 Alex1979rak
 
13.07.12
12:07
(39) ну вот результат
http://imageshost.ru/photo/326327/id2178544.html
43 Alex1979rak
 
13.07.12
12:13
Обнаружил в типовой, что в типовой есть процедура ДобавитьСтрокуВДвиженияПоОтражениюВУчете общего модуля ПроцедурыУчетаЗарплаты, в которой формируются движения в регистре БУ.
По отладчику вижу нестыковку:
   Строка.СчетДт       = ВыборкаПоДоходам.СчетДт;
   Строка.СчетКт       = ВыборкаПоДоходам.СчетКт;
   Строка.СубконтоДт[ВыборкаПоДоходам.ДтВидСубконто1] = ВыборкаПоДоходам.СубконтоДт1;
   Строка.СубконтоДт[ВыборкаПоДоходам.ДтВидСубконто2] = ВыборкаПоДоходам.СубконтоДт2;
   Строка.СубконтоДт[ВыборкаПоДоходам.ДтВидСубконто3] = ВыборкаПоДоходам.СубконтоДт3;
   Строка.СубконтоКт[ВыборкаПоДоходам.КтВидСубконто1] = ВыборкаПоДоходам.СубконтоКт1;
   Строка.СубконтоКт[ВыборкаПоДоходам.КтВидСубконто2] = ВыборкаПоДоходам.СубконтоКт2;
   Строка.СубконтоКт[ВыборкаПоДоходам.КтВидСубконто3] = ВыборкаПоДоходам.СубконтоКт3;

СчетДт = 26
СчетКт = 70

ВыборкаПоДоходам.КтВидСубконто1 = Работники организаций
ВыборкаПоДоходам.СубконтоКт1 = пп.1 ст.255 НК РФ

ВыборкаПоДоходам.КтВидСубконто2 = Вид начислений оплаты труда
ВыборкаПоДоходам.СубконтоКт2 = Семенов Геннадий Сергеевич

Ну как?
44 Spieluhr
 
13.07.12
12:16
Зачем Вы в темный лес идете, если нужны просто кредитовые обороты одного счета? К чему эти дебри с корсчетами?
45 Alex1979rak
 
13.07.12
13:50
(44) мне нужны не просто обороты, а обороты с субконто по сотрам
46 hhhh
 
13.07.12
13:55
(45) наверно, у вас в базе субконто перепутаны, а вы на виртуальную таблицу гоните. Обработкой загружали проводки, что ли?
47 Alex1979rak
 
13.07.12
15:05
(46) я чо, по вашему, сумасшедший. демо база создана из шаблона . ничего я в ней не делал. я пользовался только консолью запросов, отрабатывал запрос.
48 hhhh
 
13.07.12
15:08
(47) ну дык понятно. Демо база по-любому создана обработкой. Выкиньте. И пользуйтесь нормальной базой для отладки.
49 Alex1979rak
 
13.07.12
15:10
(48) т.е. если я создам чистую базу, то все будет ОК? получается, что разработчики ошибаются? если так, то куда можно сообщить об ошибке? и как лучше создать базу, из cf-ника что-ли?
50 Alex1979rak
 
13.07.12
15:11
+49 и что это изменит, механизм то создания записей в регистре будет тот же.
51 hhhh
 
13.07.12
15:20
ну это такая фича, если Субконто1 - Работники, а мы напишем
в коде:

Субконто1 = ВидНачисления;

то присвоит легко, никакой ошибки не выдаст. Она не проверяет тип при присваивании.
52 Alex1979rak
 
13.07.12
15:27
(51) спасибо за информацию. приму к сведению. хотя догадывался об этом.
53 Alex1979rak
 
13.07.12
16:25
В общем докопался до причины. Все оказалось как всегда просто с одной стороны. С другой - не очень.
Основная причина - в настройках видов начислений в демо-базе. Точнее в способе отражения ЗП в регл. учете. Предопределенный элемент этого справочника "Отражение начислений по умолчанию" был настроен по-особенному: для счета кредита 70 при выборе из списка Вид начисления выбирался сотрудник. Нажал на крестик и все стало нормально, стал выбираться вид начисления. Закрыл форму элемента. Перепровел док начисления ЗП, и о чудо, все встало на свои места.
Вот.