Имя: Пароль:
1C
1C 7.7
v7: Средняя стоимость
0 mirror1982
 
02.11.11
14:58
В стандартной УСН есть ли функция возвращающая среднюю стоимость товара?
1 mirror1982
 
02.11.11
14:59
v7 Пардон!
2 ДенисЧ
 
02.11.11
15:04
Есть.
Оборотка по 10. Сумму на количество раздели
3 mirror1982
 
02.11.11
15:06
(2) Поподробнее. Обработка по 10? Это что? Я специализируюсь по торговли. Подскажите место в конфе и название функции!
4 ЧеловекДуши
 
02.11.11
15:09
(0)Кури Бух. Учет.
5 mirror1982
 
02.11.11
15:11
(4) Что это значит?
6 ДенисЧ
 
02.11.11
15:13
(3) Оборотка, а не обработка.
Оборотно-сальдовая ведомость.
Функции в явном виде нет. Используй бух-запрос
7 mirror1982
 
02.11.11
15:16
(6) Подскажи, в бухгалтерии профан, как получить среднюю стоимость товара?

СредняяСтоимость=?????
8 1Сергей
 
02.11.11
15:16
С такой полоской, как не ай-яй-яй? :)
9 1Сергей
 
02.11.11
15:16
(7) также как и в оперучёте. Делишь общую стоимость на количество
10 medved_kot
 
02.11.11
15:24
Би = СоздатьОбъект("БухгалтерскиеИтоги");
Би.ИспользоватьСубконто(ВидыСубконто.Номенклатура,, 2);
Би.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "41.1")
Би.ВыбратьСубконто(1);
Пока Би.ПолучитьСубконто(1) = 1 Цикл
 ОстСумма = Би.СКД(1);
 ОстКолво = Би.СКД(2);
 СредняяЦена = ОстСумма / ОстКолво;
КонецЦикла;
11 mirror1982
 
02.11.11
15:31
(10) Спасибо! А почему цикл?
12 medved_kot
 
02.11.11
15:32
по привычке. простой перебор всей номенклатуры
13 mirror1982
 
02.11.11
15:34
т.е. так?:

Би = СоздатьОбъект("БухгалтерскиеИтоги");
Би.ИспользоватьСубконто(ВидыСубконто.Номенклатура,, 2);
Би.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "41.1")
Би.ВыбратьСубконто(1);
Если Би.ПолучитьСубконто(1) = 1 Тогда
 ОстСумма = Би.СКД(1);
 ОстКолво = Би.СКД(2);
 СредняяЦена = ОстСумма / ОстКолво;
КонецЕсли;
14 ДенисЧ
 
02.11.11
15:35
(13)
Би.ИспользоватьСубконто(ВидыСубконто.Номенклатура, ВыбНужнаяНоменклатура, 2);
15 mirror1982
 
02.11.11
15:46
Спасибо всем!
16 mirror1982
 
02.11.11
16:13
Ошибка!:

Би.ВыполнитьЗапрос(Константа.ДатаПереходаНаУСН,ДатаДок,"41.1");
{Документ.СписаниеТМЦ.Модуль Документа(8)}: За данный период бухгалтерские итоги не рассчитаны!

Как поставить правильно конец периода?
17 ДенисЧ
 
02.11.11
16:14
(16) Так итоги-то рассчитай...
18 medved_kot
 
02.11.11
16:15
Операции, Управление бухгалтерскими итогами
19 Mnemonic1C
 
02.11.11
16:17
(16) глПроверкаПериода();
20 mirror1982
 
02.11.11
16:29
Би=СоздатьОбъект("БухгалтерскиеИтоги");
Би.ИспользоватьСубконто(ВидыСубконто.Номенклатура,Номенклатура,2);
Би.ВыполнитьЗапрос(Константа.ДатаПереходаНаУСН,ДатаДок,"41.1");
Би.ВыбратьСубконто(1);
Если Би.ПолучитьСубконто(1) = 1 Тогда
    ОстСумма=Би.СКД(1);
    ОстКолво=Би.СКД(2);
    СредняяЦена=ОстСумма/ОстКолво;
КонецЕсли;                  
Сообщить(СредняяЦена);

Завел новый товар "Тест", сделал поступление 5 шт по 1000 рублей за каждое изделие. Провожу свой документ и он мне по моему товару Тест среднюю цену 0 дает. Документ оформлен, после поступления. Даже с датой на следующий день не получается!!!
21 SiAl-chel
 
02.11.11
16:39
(20) Когда документ оформлен - разницы нет. Потому что ты получаешь итоги на дату перехода на УСН.
22 mirror1982
 
02.11.11
16:42
(21) т.е. мне надо узнать цену на дату документа. Т.е. я должен как поставить период?:

ДатаДок,ДатаДок+1
23 zak555
 
02.11.11
16:43
Стаж: 4 г.
24 runoff
 
02.11.11
16:46
параметр у процедуры БИ.ВыполнитьЗапрос(): <ТипИтогов> = 5
25 mirror1982
 
02.11.11
16:47
(23) не умничай, я занимаюсь ТиС и УТ. Автоматизация розницы. А не бухучет, умник.
26 SiAl-chel
 
02.11.11
16:49
(22) Выдержка из синтаксис-помощника про ВыполнитьЗапрос
Параметры:
<НачалоПериода> - дата, документ или позиция начала периода запроса.
<КонецПериода> - дата, документ или позиция конца периода запроса.
Кто мешает указать начальную дату - документ? И получать сальдо начальное, то есть до движений этого документа? В ТиС же обычно РассчитатьРегистрыНа, а не РассчитатьРегистрыПо используется.
27 unknown181538
 
02.11.11
16:50
А в ТиС есть функция, возвращающая среднюю стоимость?)
28 zak555
 
02.11.11
16:50
(25) какая разница, чем ты занимаешься, если в карточке у тебя написано "Программист" ?
29 zak555
 
02.11.11
16:51
(27) отчёты там есть
со средней ценой =)
30 unknown181538
 
02.11.11
16:52
(29) Прям со средней? Не помню)
31 mirror1982
 
02.11.11
16:57
(26) да не нужно мне начальное сальдо. товар приходил в течении года: 100, 110, 98, 76, 101. Мне надо, чтобы он расчитал с самого начала по  текущий документ.

Я и поставил: дату перехода на усн (01.01.03) и тек. документ (02.11.11)
32 unknown181538
 
02.11.11
17:05
(31) Так надо разве не среднюю стоимость по остаткам? СуммаОстаток/КоличествоОстаток? Или нужно среднюю цену поступления за период?
33 unknown181538
 
02.11.11
17:07
(20) Товар на 41-м счете?
34 mirror1982
 
02.11.11
17:07
(32) Вот код:

Би=СоздатьОбъект("БухгалтерскиеИтоги");
Би.ИспользоватьСубконто(ВидыСубконто.Номенклатура,Номенклатура,2);
Би.ВыполнитьЗапрос(Константа.ДатаПереходаНаУСН,ДатаДок,"41.1");
Би.ВыбратьСубконто(1);
Если Би.ПолучитьСубконто(1) = 1 Тогда
    ОстСумма=Би.СКД(1);
    ОстКолво=Би.СКД(2);
    СредняяЦена=ОстСумма/ОстКолво;
КонецЕсли;                  
Сообщить(СредняяЦена);

Что не правильно?
35 unknown181538
 
02.11.11
17:08
41.1 - Товары, не приним. для НУ ?
36 ДенисЧ
 
02.11.11
17:08
(34) И что, даёт 0? А должен давать деление на 0 :-)
В СП загялнул или нет?
37 unknown181538
 
02.11.11
17:09
Отчет "Оборотно-сальдовая ведомость по счету" смотрел?
38 zak555
 
02.11.11
17:09
код где выполняется ?
39 unknown181538
 
02.11.11
17:09
(36) Би.ПолучитьСубконто(1)  = 0 надо полагать. Совсем ничего нету.
40 mirror1982
 
02.11.11
17:14
(37) не не смотрел. я не шарю в бухучете. я прошу лишь правильный код, а здесь все умничают и смеются. А сами написать ничего не могут.
41 mirror1982
 
02.11.11
17:15
(36) по поводу чего?
42 unknown181538
 
02.11.11
17:17
(40) ппц. Мы поняли, что не шаришь, поэтому подсказали, куда посмотреть.
Порядок действий примерно такой же, как в любой другой конфе.
В ТиСе я бы для начала смотрел остатки по нужным измерениям. Но у тебя какое-то другое мышление.
Телепатирую: попробуй 41.1 заменить на 41.2.
43 unknown181538
 
02.11.11
17:19
Что говорит отладчик? Выполняется ли Если Би.ПолучитьСубконто(1) = 1 Тогда?
44 SiAl-chel
 
02.11.11
17:21
(31) Сначала читай (26), потом думай, потом читай (26), потом  только пиши.
Я не предлагал получать начальное сальдо на "начало времен". Я предлагал получать сальдо на начало позиции документа. Ты хоть раз видел такое в обработке проведения: РассчитатьРегистрыПо(ДатаДок)? Но почему подобное пытаешься состряпать тут?
И еще, если у тебя создание и заполнение переменной СредняяЦена идет внутри ветки условия, то что в этой переменной будет, если ты не попадаешь в ветку условия?
45 vladko
 
02.11.11
17:21
раз он не знает, что такое оборотка, ему сложно будет в программе прописать счет, где хранится товар. А вообще, может он товаром материалы называет
46 zak555
 
02.11.11
17:25
ладно уж


Би=СоздатьОбъект("БухгалтерскиеИтоги");
Би.ИспользоватьСубконто(ВидыСубконто.Номенклатура,Номенклатура,2);
Би.ВыполнитьЗапрос(ТекущийДокумент(),,"41.1");

ОстКолво=Би.СНД(2);
СредняяЦена= ? (ОстКолво, 0, Би.СНД(1)/ОстКолво );
47 zak555
 
02.11.11
17:25
только в цикл не суй
48 ДенисЧ
 
02.11.11
17:25
(46) ОстКолво=Би.СНД(2);
?

НАфига ты в количество валютную сумму пихаешь?
49 SiAl-chel
 
02.11.11
17:26
(31) Тебе нужно получить итоговые данные только на позицию документа, но ты с помощью ВыполнитьЗапрос('01.01.03','02.11.11') получаешь обороты за фиг знает сколько лет. Что не ну никак не может быть оптимально - производительным. Так что совет обычный: читать, думать, опять читать, снова думать, а уж потом делать.
50 mirror1982
 
02.11.11
17:26
(48) Так и я могу! :)
51 zak555
 
02.11.11
17:30
(48) очевидно, что там опечатка
52 mirror1982
 
02.11.11
17:34
(51) Ну и финальный код? (46) - не работает!
53 zak555
 
02.11.11
17:36
Би=СоздатьОбъект("БухгалтерскиеИтоги");
Би.ИспользоватьСубконто(ВидыСубконто.Номенклатура,Номенклатура,2);
Би.ВыполнитьЗапрос(ТекущийДокумент(),,СчетПоКоду("41.1"),,,1,,5);

ОстКолво=Би.СНД(2);
СредняяЦена= ? (ОстКолво, 0, Би.СНД(1)/ОстКолво );
54 medved_kot
 
02.11.11
17:39
ОстКолво=Би.СНД(3);
СредняяЦена= ? (ОстКолво, 0, Би.СНД(1)/ОстКолво );
55 zak555
 
02.11.11
17:41
опять забыл исправить =)


это всё из-за ебунты
56 mirror1982
 
02.11.11
17:43
(55) и счет 41.2
57 unknown181538
 
02.11.11
17:43
(53) А это принципиально отлицается от (34)?
58 zak555
 
02.11.11
17:43
в принципе нужно будет делать так :

Выгрузить ТЧ в ТЗ, далее выгрузить в СЗ
передать СЗ в Номенклатура и по ней считать

но я против сворачивания ТЗ
59 zak555
 
02.11.11
17:44
(56) а где тут нпро розницу было ?
60 zak555
 
02.11.11
17:44
(57) конечно
он какую-то там шнягу ищет
61 unknown181538
 
02.11.11
17:44
(59) В УСН это товары принимаемые к НУ.
62 unknown181538
 
02.11.11
17:46
(60) Ну с датами не очень. Хотя уже давно этого 7.7 не писал.
63 zak555
 
02.11.11
17:46
(61) я не помню, что там в усн =)
64 zak555
 
02.11.11
17:46
(62) ему нужно на позицию
65 unknown181538
 
02.11.11
17:47
Но если в течение дня еще не было списаний, то разница по СКД не будет заметна)
66 zak555
 
02.11.11
18:08
(65) чё ?
67 unknown181538
 
02.11.11
18:43
(66) СКД() по ДатаДок вернет остатки на конец дня. Если в этот день позиция списывалась одним документом - разницы в остатке при проведении между границей документа и датой не будет. Или я где-то ошибаюсь? А вообще, мне пофиг.
68 zak555
 
02.11.11
20:52
(67) смотри внимательно на (53) - там сНд
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.