Имя: Пароль:
1C
1С v8
Автоматическое создание документа в момент проведения другого документа
0 pnamik
 
17.10.15
14:28
Добрый день
Есть документы "расходная накладная" и "ввод остатков"
Необходимо реализовать автоматическое создание документа ввод остатков ТМЦ, если проводится расходная накладная с товаром, остаток которого в базе ноль. Составил процедуру в модуле объекта расходная накладная

Процедура ОприходоватьИзлишки(ТекНом,ПолучЦена,Кол,ЦенаПоступления);
    
    Отбор = Новый Структура("Автор",глПользователь);
    Результат = ПоискДокументаВводОстатков(Отбор,Дата);
    
    Попытка
        ДокОб = Результат.ПолучитьОбъект();
    Исключение
        Результат = Ложь;
    КонецПопытки;    
    
    Если Результат = Ложь Тогда
        ДокОб = Документы.ВводОстатковТМЦ.СоздатьДокумент();
        ДокОб.Дата = НачалоДня(Дата);
        ДокОб.Автор = глПользователь;
        ДокОб.КодОперации = Перечисления.КодыОпераций.ВводОстатковТМЦ;
        ДокОб.Склад = глПользователь.ПоУмолчаниюСклад;
        ДокОб.УчитыватьНДС = Истина;
        ДокОб.СуммаВклНДС = Истина;
        ДокОб.Комментарий = "Оприходование излишков";
        ДокОб.ПризнакДокумента = Перечисления.ПризнакиДокументов.Излишки;
        ДокОб.Представление = "Оприходование излишков РНК";
    КонецЕсли;
    
    ДокСтр = ДокОб.Накладная.Добавить();
    Докстр.Артикул = СокрЛП(ТекНом.Артикул);
    ДокСтр.Единица = ТекНом.Единица;
    ДокСтр.Количество = Кол;
    ДокСтр.Коэффициент = ТекНом.Коэффициент;
    ДокСтр.Номенклатура = ТекНом;
    ДокСтр.РозничнаяЦена = ПолучЦена;
    ДокСтр.СтавкаНДС = ТекНом.СтавкаНДС;
    ДокСтр.СуммаРозница = ДокСтр.Количество*ДокСтр.РозничнаяЦена;
    ДокСтр.ЦенаПоступления = ЦенаПоступления;
    ДокСтр.Сумма = ДокСтр.Количество*ДокСтр.ЦенаПоступления;
    ДокСтр.СуммаНДС = ДокСтр.Сумма*ТекНом.СтавкаНДС.Ставка/(100+ТекНом.СтавкаНДС.Ставка);
    ДокСтр.СуммаБезНДС = ДокСтр.Сумма-ДокСтр.СуммаНДС;
    ДокСтр.ШтрихКод = СокрЛП(ДокСтр.Номенклатура.ТекШтрихКод);
    спрП = Справочники.Партии.СоздатьЭлемент();
    спрП.Владелец = ДокСтр.Номенклатура.Ссылка;
    спрП.СтранаПроисхождения = ДокСтр.Номенклатура.СтранаПроисхождения;
    спрП.Записать();
    ДокСтр.Партия = спрП.Ссылка;
    ДокОб.СуммаИтог = ДокОб.Накладная.Итог("Сумма");
    ДокОб.Записать(РежимЗаписиДокумента.Запись);
    ДокОб.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
КонецПроцедуры


которая бездействует. Подскажите, пожалуйста, что не так?
1 torgm
 
17.10.15
14:35
Афинительная постановка!!! Тут надо подумать подсказывать дальше ТС или нет, в любом случае учету капец.
2 pnamik
 
17.10.15
14:41
(1) почему капец? находят товары излишки, которые хотят передать другим, составляют РНК, система автоматом оприходует эти товары, причину выясняют потом. откуда эти излишки.
3 Franchiser
 
гуру
17.10.15
14:45
Наверно в исключение попадает, напиши там сообщить или отладчик в помощь
4 Franchiser
 
гуру
17.10.15
14:47
наверно должно быть Результат[0].Ссылка.ПолучитьОбъект() или как-то так, смотря какие там поля...
5 Aleksey
 
17.10.15
14:48
(2) а зачем вам контроль остатков?
Отключите контроль и пусть система проводит в минус. А вы потом будете выяснять причину минуса

И кстати можно к вам на склад? кладовщиком поработать. Это же золотая жила. если плюса можно воровать, а недостача в программе автоматически будет закрываться вводом остатков
6 pnamik
 
17.10.15
14:50
(5) а документы ввод остатков (если все получится) как будете прятать? Удалите без следа? с админправами? откуда?
7 torgm
 
17.10.15
14:54
Зашибись, поиходную не оприходовали , провели расход, автоматом занесли оприходование, а затем и приход который надо провести провели... Красота получается, врагов даже не надо...
8 Sasha_1CK
 
17.10.15
14:57
(7) Это заразно что ли? я вчера вот буквально утром еле отбился от аналогичной постановки задачи - типа если в минус - давайте сразу приходовать.
(2) Как показывает практика "потом" не наступает никогда.
9 pnamik
 
17.10.15
15:08
(8) насчет потом частично согласен
(7) представьте ситуацию: привезли товар больше 500 шт. все оприходовали, суммы совпали, промаркировали, вынесли в зал, через некоторое время среди этих товаров происходит пересортица по причине того, что ценники переклеиваются, выпадают (кассир не тот товар продает) и т.д. таких операций в течение дня очень много.
Легче товары, которые в остатке ноль (по кассе ушел другой товар вместо него), оприходовать автоматом (не создать для оператора ПК лишнюю работу, чтобы не допустить очередные ошибки), чем несколько дней поднимать все бумаги, и искать источник ошибки.
10 Звездец
 
17.10.15
15:11
для этого придумали инвентаризацию. Не хотите нести затраты на внеплановую инвентаризацию - переложите их на виновных в бардаке
11 pnamik
 
17.10.15
15:12
(10) ключевое слово - очень много товаров
12 Tateossian
 
17.10.15
15:12
У тебя омнокод, дальше не читал.

Попытка
        ДокОб = Результат.ПолучитьОбъект();
    Исключение
        Результат = Ложь;
    КонецПопытки;

И постановка вопроса просто ужасна, ты ломаешь учет.
13 Звездец
 
17.10.15
15:14
(11) очень много товаров? 500 шт это уже много?

Если много, то ТСД для вас еще не придумали?
14 Звездец
 
17.10.15
15:16
НЕЛЬЗЯ ничего вводить автоматом. Все должно быть осмысленно ответственным лицом. А что будете делать, если кладовщик например в конце месяца скажет что он не согласен с остатками в программе?
15 pnamik
 
17.10.15
15:16
(13) ТСД придумано для всех.
таких 500 в течение дня несколько раз
16 Звездец
 
17.10.15
15:17
(15) выгнать кого-нибудь из "работников" предлагали?
17 pnamik
 
17.10.15
15:20
(14) сказать можно все что угодно. и к стати, в случае отрицательных остатков, наверно, у кладовщика, "рот автоматом закрывается"..
(16) в понедельник
18 Aleksey
 
17.10.15
15:22
формат торговли какой? Товар лежит на складе и покупатель берет и топает с ним на кассу и нужно пробить товар в любом случае, даже если нет на остатке?

Или менеджер делает накладную на клиента и с ней клиент идёт получать товар?
19 Звездец
 
17.10.15
15:23
(17) в случае появления отрицательных остатков проводится оперативная внеплановая инвентаризация сегмента товара и выясняется что и где не так. В Вашем случае налицо бардак, так Вы в него еще и хаос внесете
20 pnamik
 
17.10.15
15:28
(18) это магазин, где очень много товаров. На товарах есть ШК (приклеенные). они выпадают, их переклеивают покупатели.
(19) представляю, как будут искать по всему торговому залу и складам, которые забиты товарами, несколько товаров на общую сумму 1500 руб. Легче оприходовать автоматом, чем занимать несколько людей для внеплановой инвентаризции
21 pnamik
 
17.10.15
15:30
(19) бардак слишком громко звучит, да есть недостатки, но все относительно
22 Звездец
 
17.10.15
15:31
(20)>>На товарах есть ШК (приклеенные). они выпадают, их переклеивают покупатели.    БРЕД!!!

Кассир вообще не в курсе что за товар у нее в руках и что высветилось на экране???

>>представляю, как будут искать по всему торговому залу и складам, которые забиты товарами, несколько товаров на общую сумму 1500 руб     БАРДАК!!!

У вас все что угодно лежит где угодно???


Не трогайте конфигурацию ни в коем случае
23 Aleksey
 
17.10.15
15:35
(20) Адрес магазина какой, надо прийти пару ШК переклеить и можно оптовыми покупками заниматься.

Хотя конечно если у вас не FixPrice
24 pnamik
 
17.10.15
15:36
(23) фикс
25 pnamik
 
17.10.15
15:37
(23) по честнее нужно быть, товарищ!
26 Звездец
 
17.10.15
15:38
(25) это жизнь такая
27 pnamik
 
17.10.15
15:38
(23) как будто Вы первый раз слышите о том, что переклеивают ценники
28 pnamik
 
17.10.15
15:39
(26) жизнь не причем. ЧЕЛОВЕК!
29 Звездец
 
17.10.15
15:39
(27) так для этого меры принимают соответствующие, а не внесение хаоса в учет.

Кассиры куда смотрят, когда держат в руках шоколадку а пробился набор отверток
30 Звездец
 
17.10.15
15:40
(28) если есть возможность, то найдется и тот кто ей воспользуется
31 pnamik
 
17.10.15
15:41
(29) человеческий фактор никто не отменил. Рядом с каждым кассиром не поставишь одного контроллера
32 pnamik
 
17.10.15
15:42
тот, кто пользуется "возможностью', если попадется, пожалеет о том, что сделал
33 Звездец
 
17.10.15
15:43
так что же вы вместо того чтобы он пожалел решили учет сломать окончательно?
34 Звездец
 
17.10.15
15:47
Если у вас пересорт (а значит сотрудники особо ничего магазину не должны материально), то после ваших идей он превращается в недостачу. с кого списывать будем?
35 pnamik
 
17.10.15
15:58
разница в двух подходах: отрицательные остатки и оприходование в целом нет. и то и другое плохо.
36 pnamik
 
17.10.15
15:59
(34) до списывания еще не дошли. когда дойдем, со всех, кто участвует в процессе прихода и продажи, соразмерно зарплате.
37 Звездец
 
17.10.15
16:00
(36) внимательно читаем (34) желательно раза 3
38 pnamik
 
17.10.15
16:01
(24) к стати не фикс, а фиг получится
39 Sasha_1CK
 
17.10.15
16:12
(9) Да я 100500 таких ситуаций могу придумать.

главный вопрос - зачем приходовать "минус", да еще и автоматом?

Если есть пересорт - значит контроль остатков нужно отключать.

тем более если у вас "самообслуживание" - то бишь по сути розница.

А все накопившиеся минуса - нужно приходовать в рамках плановой инвентаризации.
40 pnamik
 
17.10.15
16:13
приход 6 товаров, товар 1-5 по 100 руб, товар 6  - 200 руб. кассир продал товар 6 как товар 1, т.е. за 100 руб и еще товар 1 за 100 руб

инвентаризация документ - должны быть в зале товары 2-5 по 100 руб, и товар 6 за 200 руб. итого кол-во 5 шт, сумма 600 руб

фактически в зале лежат товары 2-5 за 100 руб,  остаток по кол-ву 4 шт, сумма 400 руб
как на этот процесс влияет подходы: отрицательный остаток и оприходование?
41 pnamik
 
17.10.15
16:14
*в документе инвент еще один товар 1 со минусом 1
42 pnamik
 
17.10.15
16:19
какая разница, когда эти товары оприходуешь: сразу или через 3-4 месяца?
43 Джинн
 
17.10.15
16:27
(42) Спасите человечество, убейтесь об стену...
44 pnamik
 
17.10.15
16:29
(43) от тебя нужно спасти человечество
45 Джинн
 
17.10.15
17:13
(44) Зря Вы не прислушиваетесь к хорошим советам и воспринимаете это как личное оскорбление. Хотите стать специалистом - не занимайтесь херней. Как Вам тут все и советуют. Хотите всю жизнь быдлокодить - тоже Ваш выбор. Но жалко Ваших заказчиков.
46 GreyK
 
17.10.15
17:32
(0)(44) Мне только одно интересно, какая вам разница списывается товар в минус или вначале создаётся "фиктивный плюс", а потом товар списывается?
47 pnamik
 
17.10.15
17:48
(46) абсолютно без разницы. Но некоторым Джиннам похоже есть разница. По теме можно было помочь, подсказать, а тему превратили в другую: отрицательные остатки:
http://www.retailclub.ru/manage/338.html
удачи все джиннам!
48 GreyK
 
17.10.15
18:15
(47) Видишь-ли из модуля проведения документа логически нельзя проводить другой документ, можно при записи без проведения, ну как-бы до того "как".
49 Джинн
 
17.10.15
18:18
(47) По теме все просто - так делать нельзя. Ни с методической, ни с технической точек зрения. Можно только через зад извращаться со всеми вытекающими ударами граблями.

Но кому-то нравится упорно долбить...
50 pnamik
 
17.10.15
19:28
(49) кто-то упорно не хочет видеть очевидное: никто не задавал вопрос: скажите, так можно ли делать с точки зрении методологии учета?
51 Джинн
 
17.10.15
19:36
(50) Вам же объяснили - с точки зрения методологии и с точки зрения архитектуры 1С это ересь. Сделать можно методом удаления гланд нетрадиционным способом, но не имеет смысла и чревато ударами граблей.
52 Aleksey
 
17.10.15
19:39
(50) С точки зрения логики я бы сделал отдельный регистр - НедостачаТовара, и при проведения писал бы туда. Эту в 1000 раз лучше чем из одного документа проводить другой. И к тому же для анализа проще, сразу понятно и какой товар и в каком документе не хватает.
53 pnamik
 
17.10.15
19:39
(51) ты уже воспользовался этим методом удаления гланды?
54 pnamik
 
17.10.15
19:41
(52) спасибо за советы по теме.
(51) решать мне, что по методологии правильно.
55 Aleksey
 
17.10.15
19:41
(53) У меня так было сделано. Граблей куча, когда один документ проводился, а второй нарывался на транзакцию. И в твоем случае ты никак не отследишь это.
Хуже когда при проведении сбивается ТА, и тогда приходится всех выгонять и делать пересчет итогов, иначе программа выдает левые остатки .
56 Джинн
 
17.10.15
19:43
(54) Долбите дальше...
57 pnamik
 
17.10.15
19:46
(56) где ты видишь долбеж по теме? 48 и что?
58 roman52
 
17.10.15
21:41
самое дельное предложение в (52)
а если сделаешь через ввод остатков, то тебя еще и крайним могут сделать
59 Звездец
 
18.10.15
09:19
если сделать как он пишет, то это автоматом вогнать в долги всех МОЛ. Его просто ... сами придумайте что с ним сделают
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн