![]() |
![]() |
![]() |
|
Остатки по зарплате | ☑ | ||
---|---|---|---|---|
0
костя
14.05.04
✎
18:21
|
И снова о наболевшем. Так и не услышал ответа на вопрос
1С 7.7 стандартная кон-фа. Расчетно-сальдовая ведомость по з/п подгружается из внешнего файла (mxl). Добавил в оборотку столбец \"Сальдо на начало\" в котором по идее должна отображаться информация о состоянии взаиморасчетов организации с сотрудником (ему должны - он должен), а вот с кодом в модуле формы никак не выходит - в столбце нули и хоть тресни. код таков Нач.СоздатьОбъект("БухИтоги") Нач.Использовать Субконто(ВидыСубконто.Сотрудники,Сотрудник,2); Нач.Использовать Субконто(ВидыСубконто.Периоды,ПериодДок,2); Нач.ВыполнитьЗапрос(НачМесяца(ДатаПериода),ДатаДок,СчетПоКоду("661"),,2); Остаток=Нач.СНД() В таблице (в Конфигураторе)в колонке Сальдо на начало в ячейку ставлю <Остаток #18.2,> |
|||
1
427
14.05.04
✎
18:52
|
На.уй.... Уже отвечал на этот вопрос ....
|
|||
2
staer
14.05.04
✎
18:56
|
Если бы знал, то ответил бы. А так просто ббросилось в глаза. В ячейке
<Остаток#N18.2>, Даст эта N,что-то или не даст, не знаю |
|||
3
костя
14.05.04
✎
19:00
|
427
только хамить не надо! объяснил бы лучше |
|||
4
Gavrila
14.05.04
✎
19:53
|
(3) А чего ветки то плодить? (с) GrayT, BorisG
Ветки плодить нехорошо (с) Волшебник |
|||
5
костя
14.05.04
✎
20:00
|
а они со своими ветками
помогли бы лучше |
|||
6
Gavrila
14.05.04
✎
20:09
|
(5) Здсь у тебя Нач.ВыполнитьЗапрос(НачМесяца(ДатаПериода),ДатаДок,СчетПоКоду("661"),,2); 5-й параметр должен быть ВАЛЮТА, а ты передаешь 2 - шо цэ такэ?
если тип итогов, то он является 6-м параметром... попробуй это Нач.ВыполнитьЗапрос(НачМесяца(ДатаПериода),ДатаДок,СчетПоКоду("661")); читай ЖКК: ВыполнитьЗапрос(<?>,,,,,,,) Синтаксис: ВыполнитьЗапрос(<НачалоПериода>,<КонецПериода>,<Счет>,<КоррСчет>,<Валюта>,<ТипИтогов>,<Периодичность>,<ТипСуммы>) Назначение: Выполнить отбор и расчет итогов по параметрам. Возвращает число 1 - запрос выполнен; 0 - запрос не выполнен. Параметры: <НачалоПериода> - дата, документ или позиция начала периода запроса. <КонецПериода> - дата, документ или позиция конца периода запроса. <Счет> - необязательный параметр. Счета, для которых будут отбираться итоги в запросе. Задается значением типа ''Счет'' или объектом типа ''СписокЗначений'', содержащим значения типа ''Счет'', либо строкой содержащей список кодов счетов, разделенных символом '','' или '';''. Если параметр не указан, отбор будет выполняться по всем счетам. <КоррСчет> - необязательный параметр. Значение типа ''Счет'' - корреспондирующий счет, в корреспонденции с которым будут отбираться итоги счета, указанного в параметре <Счет>. Задается значением типа ''Счет'' или объектом типа ''СписокЗначений'', содержащим значения типа ''Счет'', либо строкой содержащей список кодов счетов, разделенных символом '','' или '';''. Если параметр не указан, будут отбираться итоги в корреспонденции со всеми счетами. <Валюта> - зачение типа ''Справочник.Валюты''. Если параметр не указан итоги выдаются без учета валюты. <ТипИтогов> - число - тип отбираемых итогов. Может принимать следующие значения: 1 - остатки и обороты по счету в целом; 2 - обороты между счетами; 3 - первое и второе вместе. По умолчанию: 1. <Периодичность> - число или символьная строка (см. документацию).Позволяет получить дополнительный разрез итогов по периодам. По умолчанию периодичность не задана. <ТипСуммы> - число или строка - тип рассчитываемых итогов. Может принимать следующие значения (в скобках указаны строковые синонимы): 1 (''C'', ''S'') рассчитывать суммы; 2 (''В'', ''C'') рассчитывать валютные суммы; 4 (''К'', ''A'') рассчитывать количество. Если требуется одновременно рассчитывать разные суммы, значение параметра получается путем сложения допустимых значений, например: 5 (1+4) - рассчитывать суммы и количество. При указании параметра строкой в ней указываються все символы, которые обозначают типы сумм, которые нужно рассчитывать. По умолчанию рассчитываются все типы сумм. Замечание: Подробнее см. в документации в гл. ''Работа с бухгалтерскими итогами'' :) |
|||
7
костя
14.05.04
✎
20:11
|
(6)
Спасибо, сейчас попробую |
|||
8
костя
14.05.04
✎
20:23
|
(6)
попробовал - показывает ту же сумму, что и начислено, а задолженость за прошлый месяц не показывает ? |
|||
9
Gavrila
14.05.04
✎
20:35
|
(8)Есть значит Дат1 и Дата2 в запросе, значит:
начальный остаток - СН-ы там всякие, покажет остаток на начало Дата1; конечный остаток - СК-ы там всякие, покажет остаток на конец Дата2; а дальше по логике запроса и хранения данных :)) |
|||
10
костя
14.05.04
✎
20:50
|
(9)но если я правильно понимаю, то в у меня верно
Нач.ВыполнитьЗапрос(НачМесяца(ДатаПериода),ДатаДок,СчетПоКоду("661")); запрашивается дата остаков (начало месяца)на которую необходимо отобразить эти самые остатки? или чего-то в нем поменять с датами исходя из того, что ты написал? |
|||
11
Gavrila
14.05.04
✎
20:56
|
(10) если ты написал это Остаток=Нач.СНД() , то наверное неправильно, т.к. насколько помню в укр бухии (?) сч.661 - это пассивный счет, значит остаток должен быть по кредиту: Остаток=Нач.СНК(), я правильно тебя понял ?
|
|||
12
костя
14.05.04
✎
21:01
|
(10)да уж так и пишу - Остаток=Нач.СНК(), а он начисленную з/п показывает
|
|||
13
Gavrila
14.05.04
✎
21:06
|
(12) проверь по сч.661 (по оборотке по счету исходной) остаток на дату "НачМесяца(ДатаПериода)"
|
|||
14
костя
14.05.04
✎
21:16
|
проверял - оборотка показывает кредитовый остаток на начало месяца
|
|||
15
костя
14.05.04
✎
21:32
|
блин, свет отключили - UPS запищал. Gavrila будь другом, не бросай ветку, помоги. я позже посмотрю
|
|||
16
Gavrila
15.05.04
✎
13:10
|
(15) пиши чем все закончилось, я еще два дня на работе - потом в отпуск :)
|
|||
17
GrayT
15.05.04
✎
15:10
|
(4)А я то тут при чем? Я не модератор. BorisG, кажеться тоже.
(5)Какими своими? Вы о чем любезный? Лучше покажи как обращаешься к результатам бух. запроса. |
|||
18
Gavrila
15.05.04
✎
15:15
|
(17.1) просто цитатки :)
|
|||
19
GrayT
15.05.04
✎
15:22
|
"А-а-а-а-а". "Семен Семеныч" (с) Брилиантовая рука - тоже цитата :)
Ладно, ждем Костю. |
|||
20
BorisG
15.05.04
✎
15:40
|
(17) Почему "кажется"? Список модераторов на страничке "О формуме":
http://www.forum.mista.ru/about.htm Их там и так, вместе с комодераторами аж 14 ;-))) |
|||
21
костя
15.05.04
✎
18:05
|
перепробовал разные варианты - либо нули отображаются, либо начисленная з/п
|
|||
22
427
15.05.04
✎
18:40
|
Достал ты уже....
Я тя явно украинский план счетов... Я его не знаю.... Опиши - какой счет 661 (активный, пассивный) какие субконто Какими проводками (дебет, кредит) начисляется ЗП.... и выплачивается... тогда напишу бухзапрос... |
|||
23
Gavrila
15.05.04
✎
18:48
|
(21) Какая конфигурация? Релиз?
(22) канечна укр. :) |
|||
24
костя
15.05.04
✎
19:01
|
счет 661 активно-пассивный, исп. два субконто - сотрудники и периоды (месяц начисл з/п)
по кредиту отображается начисленная з/п, по дебету - выплаченная з/п начисления - Дт 23(92,91)(производство, админперсонал) Кт 661 выплата - Дт 661 Кт 301 (каса) |
|||
25
костя
15.05.04
✎
19:06
|
кон-фа "Бухгалтерия" релиз 015
|
|||
26
Gavrila
15.05.04
✎
19:17
|
(25) Полное название конфигурации с релизом конфигурации?
015 релиз - незнаю, неслышал :), может это релиз платформы ты мне говоришь? :)) |
|||
27
костя
15.05.04
✎
19:29
|
а это что-то даст?
|
|||
28
Gavrila
15.05.04
✎
19:46
|
(27) точность ответов
|
|||
29
костя
15.05.04
✎
20:02
|
1С Бухгалтерия 7.7 (АКС.Бухгалтерия) релиз от 14,02,04 (без номера)
|
|||
30
427
15.05.04
✎
20:38
|
Я не знаю, что такое ПЕРИОД .... И какое у него представление
Допустим, это справочник, с реквизитами - НачДата и КонДата в этом предположении написан пример Если же Период - это просто ДАТА, то тогда запрос строится по другому тогда надо знать, какими датами делаются начисления.... так что уточни, какой тип субконто Период тз = CreateObject("ValueTable"); тз.NewColumn( "Сотрудники","Reference.Сотрудники" , , , "Сотрудники" , , , ); тз.NewColumn( "Период","Reference.Периоды" , , , "" , , , ); тз.NewColumn( "СуммаНаНачало" ,"Число" ,15 , 2, "ОстатокНаНачалоСумма" , , , ); тз.NewColumn( "СуммаНаКонец" ,"Число" ,15 , 2, "ОстатокНаКонецСумма" , , , ); тз.NewColumn( "СуммаПриход" ,"Число" ,15 , 2, "ПриходСумма" , , , ); тз.NewColumn( "СуммаРасход" ,"Число" ,15 , 2, "РасходСумма" , , , ); //=================================================================== Би = CreateObject("BookkeepingTotals"); if Сотрудники.Selected() = 1 then Би.UseSubconto(SubcontoKinds.Сотрудники, Сотрудники, 2); else Би.UseSubconto(SubcontoKinds.Сотрудники, , 1); endIf; if Период.Selected() <> 1 then DoMessageBox ("Не выбран период"); return; иначе Би.UseSubconto(SubcontoKinds.Периоды, Период, 2); endIf; //============================================== // пример запроса фактически за один период // если надо, к примеру, за квартал - небольшая доработка нужна // если за один период - цикл по второму субконто не нужен // приведен только для общего случая - когда несколько периодов Би.DoQuery(Период.НачДата , Период.КонДата , AccountByCode("661"), , , 3, , "СК"); //============================================================== if Би.SelectSubconto(1) =1 then // выбрать Сотрудники while Би.GetSubconto(1) = 1 do // получить Сотрудники //============================================== // итоги по Сотрудник //============================================== тз.NewLine(); тз.Сотрудники = Би.Subconto(1); // итоги по Сотрудники //---- суммы ----------------------------------------- // Сумма на начало - // если 0 - нет долгов // меньше 0 - долг за предприятием // больше 0 - сотру повезло.... ему переплатили .... т.е. долг за сотром //------------------------------------------------------- // аналогично конец периода // итоги по первому субконто - сумма за все периоды //------------------------------------------------------- // именно в этой точке надо смотреть остатки на начало // текущего периода.... Как можно заметить, здесь // ЕЩЕ НЕ АНАЛИЗИРУЕТСЯ субконто ПЕРИОД тз.СуммаНаНачало = Би.СНД ("С")-Би.СНК ("С"); тз.СуммаНаКонец = Би.СКД ("С")-Би.СКК ("С"); тз.ПриходСумма = Би.ДО ("С"); // выплаты тз.РасходСумма = Би.КО ("С"); // начисления if Би.SelectSubconto(2) =1 then // выбрать while Би.GetSubconto(2) = 1 do // получить // по сотру с разбиением на периоды тз.NewLine(); тз.Сотрудники = Би.Subconto(1); тз.СрокиУплаты = Би.Subconto(2); //---- суммы --------------------------------- // в данной точке СуммаНаНачало ВСЕГДА (!!!!) равна // НУЛЮ !!! И анализировать ее могут только идиоты // // Сумма на конец отражает состояние ЗП на конец // периода //----------------------------------------------- тз.СуммаНаНачало = Би.СНД ("С")-Би.СНК ("С"); тз.СуммаНаКонец = Би.СКД ("С")-Би.СКК ("С"); тз.ПриходСумма = Би.ДО ("С"); тз.РасходСумма = Би.КО ("С"); endDo; // перебор по СрокиУплаты endIf; endDo; // перебор по Сотрудники EndIf; //============================================================== if тз.LinesCnt() <> 0 then //----------------------------------------- for Индекс = 1 to тз.LinesCnt() do // цикл по ТЗ тз тз.GetLineByNumber(Индекс); if тз.Период.Selected() <> 1 then //--------------------------------------------------- // расскажем об итогах //--------------------------------------------------- Message ("-----------------------------"); Message ("Сотр ----"+тз.Сотрудник); if тз.СуммаНаНачало > 0 then Message ("Долг за сотром --- "+тз.СуммаНаНачало); elsIf тз.СуммаНаНачало < 0 then Message ("Долг за конторой --- "+Строка(0-тз.СуммаНаНачало)); else Message ("Этот идиот получил все и не имеет долгов"); endIf; Message ("Начислено "+тз.РасходСумма); Message ("Выплачено "+тз.ПриходСумма); if тз.СуммаНаКонец > 0 then Message ("Долг за сотром после выплаты --- "+тз.СуммаНаНачало); elsIf тз.СуммаНаКонец < 0 then Message ("Долг за конторой после выплаты --- "+Строка(0-тз.СуммаНаНачало)); else Message ("Этот идиот получил все и не имеет долгов после выплаты"); endIf; else // период выбран - данные по начислениям/выплатам за выбранный период // ................. endIf; endDo; //----------------------------------------- endIf; |
|||
31
костя
15.05.04
✎
20:53
|
(427) ты совершенно прав - Периоды - это справочник с реквизитами ДатаНач ДатаКон
|
|||
32
костя
15.05.04
✎
21:01
|
(30) СПАСИБО ! разбираюсь...
|
|||
33
427
15.05.04
✎
21:11
|
В коде, который написан в (0) - две ошибки
Одна техническая.... в параметре ... Вторая - идеологическая... по причине непонимания работы запросов и БИ в частности Исправление любой одной из них не позволит получить требуемый результат P.S. насчет справочника - ну это и предполагалось... В общем то практически единственный вариант... В советах Гаврилы (примерного сына) ... нет указаний на техническую ошибку ... про идеологическую он вообще не допер ... |
|||
34
костя
15.05.04
✎
21:17
|
критика принята ко вниманию
|
|||
35
Gavrila
16.05.04
✎
13:29
|
(33) были указания на техн. ошибку, были... (6), хотя может ты про другое - тогда поясни :)
а идеологические ошибки "допирать" - это еще и опыт работы с бухией нужен, которого нет к сожалению :) |
|||
36
427
16.05.04
✎
13:54
|
Пардон... насчет 2 (кстати, 1 надоть) - было замечание...
А опыт работы с бухией тут ни при чем... Нет понимания идеологии работы не самой бухии... А работы БИ... А это две большие разницы.... как говорят в Одессе... Подумай, почему "в данной точке СуммаНаНачало ВСЕГДА (!!!!) равна НУЛЮ !!!" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |