Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   помогите с бухгалтерсики итогами. (http://forums.kuban.ru/f1040/pomogite_s_buhgaltersiki_itogami-2568301.html)

zetovich 04.05.2012 10:45

помогите с бухгалтерсики итогами.
 
///////////////////////////////////////////////////
НачДатаВремя = СформироватьПозициюДокумента(НачДата, Число(Лев(НачВремя, 2)), Число(Прав(НачВремя, 2)), 0, 0);
КонДатаВремя = СформироватьПозициюДокумента(КонДата, Число(Лев(КонВремя, 2)), Число(Прав(КонВремя, 2)), 0, 0);

Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ИспользоватьСубконто(ВидыСубконто.Счета, Касса);
Ит.ВыполнитьЗапрос(НачДатаВремя, КонДатаВремя, СчетПоКоду("30.1"),,, 3, "Проводка", "С");

Ит.ВыбратьПериоды();
Пока Ит.ПолучитьПериод() = 1 Цикл
[b]//как получить Ит.СНД() на начало периода? т.е. на НачДатаВремя[/b]
КонецЦикла
///////////////////////////////////////////////////

К примеру: мне нужно отобрать кассовую книгу с позиции документа на позицию документа.
Спс.

VZ 04.05.2012 11:34

Вообще-то, в качестве временной отметки для запроса годится и документ ;)
А СНД() - это и есть Сальдо [b]Начальное[/b] Дебитовое :)
А "кассовая книга" формируется по дням. И "мне нужно" есть дикая фантазия.

zetovich 04.05.2012 11:49

1-VZ >
1) попробую документ

zetovich 04.05.2012 11:50

1-VZ >
2) так мне начальное нужно на позицию...а много хочу?

zetovich 04.05.2012 11:52

3) я ж сказал...к примеру. Я понимаю что это дикая фантазия.
п.с. плохо что нельзя редактировать сообщения (по привычке ctrl + enter жамкаю). Вы уж простите.

VZ 04.05.2012 12:24

3-zetovich > Для начала "зачем на позицию"?
Если в какой-то день первый кассовый документ будет в 08:01, то начальное сальдо 50-го счета "на позицию" будет ровно таким же, как и "на начало дня". И вовсе не надо что-то изобретать.
Или стоит цель совместить с Z-отчетами? Уверяю, это совершенно не требуется. Нет такого нормативного требования. И никогда не будет совпадения, поскольку есть "обычные" приходы-расходы вне кассового аппарата.
Не нужно этого.
СНД() дается на начало выборки. Если выборка начинается с выборки по периоду, то СНД (ровно как и СНК, СКД, СКК, ДО и КО) выдаются именно по границам периода.
Но в сабже период запроса = "Проводка". А СКД и прочее годится для периода "календарного" (Месяц, Квартал, День, Год).
Так что для "кассовой книги" алгоритм д.б. следующим: вначале по "календарному" периоду определяем конечное и начальное сальда (можно вместо конечного Обороты, не суть), затем делаем выборку уже по периоду = "Проводка", тщательно суммируя (самостоятельно) оборот по проводкам. При достижении конца выборки сравниваем полученный оборот "по проводкам" с предварительно бережно сохраненными значениями ДО() и КО(). Ну, или получая конечное сальдо, что есть начальное сальдо + оборот. Сравниваем тогда с бережно сохраненным СКД().
В случае совпадения - все хорошо. В случае несовпадения подключаем драйвер барабана, вузевулы, и выводим на экран грозное предупреждение, в в печатную форму - строчку о расхождении результатов с бухучетом.

Buhta 04.05.2012 12:35

0-zetovich >все так "к примеру"... какие-то непонятные документы, немыслимые счета и виды субконто... что нужно-то?

zetovich 04.05.2012 14:02

6-Buhta >Самописная конфа для общепита + Рабочее место официанта (бух, не мое). Попросили кассовую книгу. Но так как это Кафе, то время имеет место быть.

Конечно хотел схитрить. Взять из бухгалтерии (Украинской. Я с Украины).
Я так и думал как, как сказал [b]VZ[/b].

Пацталоцци 04.05.2012 18:54

кто-нибудь понял о чём речь?

Маус 04.05.2012 19:03

каждый о своем, как обычно. Я ничего не понял (хотя сочувствую обоим;-)

zetovich 04.05.2012 21:55

8-Пацталоцци > а что именно не понятно? мне нужна кассовая книга не с Дата1 по Дата2 (Даты), а что б можно было укахать временной интервал. т.е. с 04.05.12 13:00 по 04.05.12 17:00

Mitrich 05.05.2012 07:15

Да все понятно, но что конкретно :)
Перевожу. VZ рассказывает про нормальную кассовую книгу. А аффтар хочет [b]отчет по оперативной кассе[/b], который упорно именует "кассовой книгой".
Оба правы в своих суждениях (за исключением каши в постановке задачи у аффтара), консенсус в (7) достигнут, все довольны, пьятница (которая переносом на субботу) :)
(10) Маленький вопросец. А где ты в 7.7 точное время найдешь? Брать док на 17:00 из 7.7 и надеяться, что он был введен в 17:00 - это неисправимый оптимизьм.

ПодОпытный 05.05.2012 12:39

(11) Даже если и будет документ на 17:00
В 77 на 1 секунду может быть выписано несколько документов )
Это если только сделать свой реквизит и писать точное время самому.

VZ 05.05.2012 14:37

12-ПодОпытный > 1. Ваабще-то, время документа фиксируется с гораздо большей точностью, нежели секунда. И ее можно извлечь.
2. При позиционировании границы периода документом, все эти доли секунды будут прекрасно уловлены. Ибо платформа возьмет их общего журнала документов. И в этом случае совсем не надо извлекать точное время.

victuan 05.05.2012 15:35

Скажу по секрету, позиция документа хранится в его внутр. ИД, который можно получить через ЗначениеВСтрокуВнутр

VZ 05.05.2012 15:51

14-victuan > Не, не хранится ;)

victuan 05.05.2012 16:46

15-VZ >Блин, ты зараза, заставил меня ковыряться в моем же коде!
[em]ПозицияДок= Формат(Док.ДатаДок, "ДГГГГММДД")+Док.ВремяДок+лев(прав(ЗначениеВСтрокуВнутр(Док),15),13)[/em]

victuan 05.05.2012 16:48

И сравни с тем, что возвращает [em]Док.ПолучитьПозицию()[/em]

VZ 05.05.2012 17:40

17-victuan > Реплика (15) относилась к (14). А там лажа :D

Sadovnikov 06.05.2012 14:04

18-VZ > Не горячись. Ну, подумаешь, перепутал человек IDDOC, Date_Time_IDDOC и то, что возвращает ЗначениеВСтрокуВнутр :)

VZ 07.05.2012 10:06

19-Sadovnikov > Да я и не горячусь :) Странно, правда, не сообразить (даже не рассматривая эту самую строку), что ID, как ссылка, принципиально не должен включать ни дату, не время, ни прочие переменные признаки. Иначе ID перестанет быть ;)

Sadovnikov 07.05.2012 10:20

20-VZ > Так это ж думать надо... :)

victuan 07.05.2012 14:21

19-Sadovnikov >Я ничего не перепутал, не думал, что меня читают тролли, которые докопаются до ложной сути моих высказываний.

20-VZ >Не бери на себя много, приписывая мне чего я не говорил и не соображал.

Sadovnikov 07.05.2012 14:26

22-victuan > Офигеть... Перечитай-ка еще раз (14).

Чучундер 07.05.2012 14:27

вам бы двоим в Эстонию съездить...?

Sadovnikov 07.05.2012 14:32

24-Чучундер > Некогда...
Некогда даже вдумчиво несколько раз перечитать (24), что бы понять, почему ты именно это написал... Поясни?

victuan 07.05.2012 14:37

23-Sadovnikov >Заметь, там нет слова "целиком". Зачем ты его туда приписываешь? Вот если бы было "[em]позиция документа [b]целиком [/b]хранится в его внутр. ИД[/em]", то - да.

Чучундер 07.05.2012 14:40

спорим на пирожок, что не подеретесь!

Sadovnikov 07.05.2012 14:40

26-victuan > Офигеть дважды... Какой, извиняюсь, нафиг "целиком"? Единственный кусочек позиции документа, который хранится в IDDOC - это сам IDDOC. Всё. Ничего более.
Уж признай, что в (14) лаже написал. Ничего страшного в этом нет - все мы периодически лажаемся по полной.

victuan 07.05.2012 14:45

28-Sadovnikov >Из чего состоит позиция документа? Дата+Время (с точностью до секунды) + позиция внутри секунды = [b]часть[/b] его внутр. ИД.
Что написано в (14)?
"[em]позиция документа хранится в его внутр. ИД[/em]"
А про "целиком" это твои фантазии.

victuan 07.05.2012 14:46

Может я [для кого-то] нечетко выразил свою мысль, но она была такой у меня изначально.

victuan 07.05.2012 14:48

27-Чучундер >Может и подеремся. Мы ведь не так уж и далеко друг от друга [географически] ;)

Sadovnikov 07.05.2012 14:50

29-victuan > Ну зачем бред пишешь?
Позиция документа: поле Date_Time_IDDOC таблицы _1SJOURN в скулевой базе. В dbf - несколько колонок таблицы 1SJOURN.
Состоит из:
1. 8 символов - дата в формате ГГГГММДД
2. 6 символов - количество секунд от начала дня до времени документа, умноженное на 1000 и переведенное в 36-тиричный формат
3. 9 символов - IDDOC (ИД) документа.
Всё. И никакие "целиком" или "не целиком" тут фигурировать не могут.

victuan 07.05.2012 14:56

32-Sadovnikov >Я написал что-то отличное от твоего?

Sadovnikov 07.05.2012 14:59

33-victuan > Еще как писал: "позиция внутри секунды = часть его внутр. ИД".
Про остальные твои метания я скромно помолчу :)

victuan 07.05.2012 15:01

34-Sadovnikov >И что тебе здесь не понравилось?

Sadovnikov 07.05.2012 15:03

35-victuan >
1. ИД - вовсе не позиция внутри секунды. ИД - это обычный счетчик.
2. Даже если в контексте "позиция" рассматривать ИД, как часть секунды, то IDDOC в позиции никоим образом не частично, а полностью.

victuan 07.05.2012 15:09

36-Sadovnikov >
1. и где противоречие? Да, ИД это обычный счетчик, но определяет он позицию именно в [b]пределах секунды[/b], которая задана остальной частью ПозицииДокумента.
2. Я нигде не употреблял IDDOC, это твои фантазии. Я говорил о внутр. ИД, который возвращается функцией ЗначениеВСтрокуВнтур, вот часть этого результата и входит в позицию документа. Часть, не целиком.
И расскажи мне про остальные мои метания. Мне интересно.

Sadovnikov 07.05.2012 15:14

37-victuan >
1. Не определяет он позицию внутри секунды... Если ты перенесешь документ по времени в другую секунду - ты не получишь ту же часть секунды, которая была раньше. В данном случае IDDOC - это просто поле для сортировки, позволяющее однозначно отсортировать по времени. И все. Смысловой нагрузки "часть секунды" оно не несет.
2. Функция ЗначениеВСтрокуВнтур никогда не возвращала ИД документа. Она возвращала, возвращает и, надеюсь, будет возвращать строку, из которой 1С-ка сможет восстановить объект. И "ИД документа" - это лишь часть этой строки.

victuan 07.05.2012 15:23

38-Sadovnikov >
1. Еще как определяет. Если перенесешь док в другую секунду, будет определять его положение в другой секунде относительно других документов с той же датой и временем. Да, смысловой нагрузки "доля секунды" тут нет, никто этот смысл и не вкладывал. Это твоя очередная фантазия или просто словоблудие.
2. я не говорил, что функция ЗначениеВСтрокуВнтур возвращала ИД документа, я сказал "внутр. ИД". Это термин, он был введен другим автором, я просто его повторил. Я знаю, что он неточен, вернее говорить "строковое системное представление". Но привычка укоренилась, т.к. я часто общался раньше с тем автором.


Текущее время: 18:45. Часовой пояс GMT +3.