|   |   | 
| 
 | Контроль остатков в регистре накопления | ☑ | ||
|---|---|---|---|---|
| 0
    
        Nolan 24.03.15✎ 16:49 | 
        Вот в чем суть: При проведении документы "Поступление товаров" и "Реализация товаров" формируют проводки по регистру накопления "Остатки" (это работает). Потом, при списании если у склада установлен флаг "Контроль остатков" то документ не должен проводиться , если количество списания больше чем остатков номенклатуры на данном складе. 
 Как выполнить данное задание??? | |||
| 55
    
        Nolan 25.03.15✎ 12:51 | 
        (51) не знаю, нужно попробовать поставить до и посмотреть что будет.
 А почему он мне сумму не хочет выводить, я вписываю Движение.Сумма = Выборка.Сумма а он пишет поле не найдено( | |||
| 56
    
        Nolan 25.03.15✎ 12:54 | 
        у документа в ТЧ есть реквизит сумма, у регистра тоже есть ресурс сумма     | |||
| 57
    
        GROOVY 25.03.15✎ 12:56 | 
        (54)  Совсем не лишнее. Блокировать от чтения остатки то надо.     | |||
| 58
    
        fisher 25.03.15✎ 13:00 | 
        (57) А разве до конца транзакции будет не исключительная блокировка СУБД для строчки таблицы итогов по комбинации измерений? По идее не получится прочитать.     | |||
| 59
    
        GROOVY 25.03.15✎ 13:06 | 
        На запись будет, если нет разделения итогов, на чтение нет.     | |||
| 60
    
        Nolan 25.03.15✎ 13:21 | 
        (55) (56) , кто-нибудь знает почему такое может быть?     | |||
| 61
    
        GROOVY 25.03.15✎ 13:23 | 
        (60) В запросе нет суммы. Ну и собственно сумму из документа в регистр писать, в данном случае, глупо. Это же не себестоимость, а сумма продажи.     | |||
| 62
    
        DmitriyDI 25.03.15✎ 13:23 | 
        (60) знаем, конечно.     | |||
| 63
    
        Nolan 25.03.15✎ 13:30 | 
        (61) У меня в документе "Реализация товаров" уже указывается сумма продажи( имеется в виду цена продажи*на количество продажи), чем это не сумма продажи? это ведь и так не себестоимость, себестоимость то из другого документа бралась бы из "Поступления товаров"     | |||
| 64
    
        DmitriyDI 25.03.15✎ 13:33 | 
        Вот так переделай запрос и будет браться 
 Запрос.Текст = "ВЫБРАТЬ | РеализацияТовары.Номенклатура, | СУММА(РеализацияТовары.Количество) КАК Количество | СУММА(РеализацияТовары.Сумма) КАК Сумма |ПОМЕСТИТЬ ДокТЧ |ИЗ | Документ.РеализацияТоваров.Товары КАК РеализацияТовары |ГДЕ | РеализацияТовары.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | РеализацияТовары.Номенклатура |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДокТЧ.Номенклатура, | ДокТЧ.Количество, | ДокТЧ.Сумма |ИЗ | ДокТЧ КАК ДокТЧ"; | |||
| 65
    
        GROOVY 25.03.15✎ 13:33 | 
        (63)  А в регистре, что в ресурсе сумма хранится? Плановая сумма продажи, или закупочная стоимость (себестоимость)?     | |||
| 66
    
        DmitriyDI 25.03.15✎ 13:33 | 
        (64) ток |    СУММА(РеализацияТовары.Количество) КАК Количество, с запятой     | |||
| 67
    
        fisher 25.03.15✎ 13:35 | 
        (59) Много думал. Не совсем так. На блокировочнике не должно дать прочитать вообще при READ COMMITED в котором работают управляемые блокировки (иначе это было бы "грязное" чтение), а вот на версионнике прочитает старую версию. А это таки косяк с точки зрения проведения. А на новых версиях 1С и с MSSQL работает как с версионником, не говоря уже про postgresql.
 Так что ты прав. Не лишнее. | |||
| 70
    
        Nolan 25.03.15✎ 13:50 | 
        (66) Спасибо за помощь!!!) Извини может за глупый вопрос, а вот склад, ведь его тоже нет в запросе, а он выдается в регистре. Почему так? Почему именно для " номенклатуры" "суммы" и "количества" нужно проделывать данную операцию?     | |||
| 71
    
        GROOVY 25.03.15✎ 13:54 | 
        Мда, не удержусь.
 Купили ложку за 100р, продали за 302р. В регистре что останется? минус 202р? Это что за цифра? Нафига она в регистре? (70) Склад доступен в контексте объекта. | |||
| 72
    
        Nolan 25.03.15✎ 13:54 | 
        (65) В регистре плановая сумма продажи     | |||
| 73
    
        Nolan 25.03.15✎ 13:57 | 
        (71) я так понимаю, что у меня в регистре пишется просто сумма продажи. купил ложку за 100р записался приход сумма 100, продал ложку за 300 записался расход сумма 300р. Так не правильно делать???     | |||
| 74
    
        fisher 25.03.15✎ 13:58 | 
        (70) Тебе оказали медвежью услугу. Записывать в регистр остатков сумму из документа продажи - глупость и ересь. Если это себестоимость, то она должна приходоваться в регистр из документа поступления товаров а при продаже - считываться из регистра и списываться пропорционально количеству.
 (72) Тогда всё равно остаток по ней никогда не будет сходиться. Подобные показатели учитывают на оборотных регистрах. | |||
| 75
    
        fisher 25.03.15✎ 14:00 | 
        Хотя... Если нужно при продаже фиксировать факт расхождения с плановой суммой продажи, тогда может иметь смысл. Но на практике подобная задача с подобной реализацией - тоже ересь какая-то.     | |||
| 76
    
        DmitriyDI 25.03.15✎ 14:02 | 
        (74) неужели вы думаете что он пишет, какую-то рабочую базу, для какой-то фирмы)?     | |||
| 77
    
        Nolan 25.03.15✎ 14:03 | 
        (74) да это логично. ну вот смотри на примере. я купил  3   ложки по 100р, у меня в регистре пишет приход сумма"300р". 
 а потом я продал 2 по 200р, тогда что у меня должно отображаться в регистре в расходе??? | |||
| 78
    
        Nolan 25.03.15✎ 14:03 | 
        (76) хочется научиться работать правильно.     | |||
| 79
    
        Garykom гуру 25.03.15✎ 14:05 | 
        Не, не...у вас все неправильно...надо давать проводить документ, потом проверять остатки на минуса...если есть "-" в регистре то отменять проведение...
 ЗЫ баян "не мой" | |||
| 80
    
        Garykom гуру 25.03.15✎ 14:05 | 
        (79)+ почему баян кривой была ветка уже в поиск     | |||
| 81
    
        DmitriyDI 25.03.15✎ 14:06 | 
        (77) вот именно в регистре расхода продаж, а ты пишешь в регистр остатки, который отвечает за что? за оперативный контроль остатков.     | |||
| 82
    
        fisher 25.03.15✎ 14:08 | 
        (76) Здравый смысл хоть какой-то должен быть даже в тестовых задачах.
 (77) Классически это решается так. В регистре остатков товаров учитывается его себестоимость. Т.е. спишется 2 шт. по 100 (по закупочной). А сумма продажи отображается по отдельному оборотному регистру продаж (там же можно сразу отразить и обороты по списываемой себестоимости). В итоге ты всегда видишь по чем продал и по чем ты купил то, что продал. Т.е. сколько заработал. Если ты спишешь 2 по 200 в итоге у тебя на остатке будет 1 по -100. И как ты при следующей продаже поймешь, сколько заработал? | |||
| 83
    
        GROOVY 25.03.15✎ 14:09 | 
        (78)  Ты сначала подумай зачем в регистре сумма? Ну вот нафига она там?!     | |||
| 84
    
        Nolan 25.03.15✎ 14:16 | 
        (82) все понятно) да тут конечно столько тонкостей) вообщем теперь мне это нужно в коде исправить, чтобы  в при списании мне мне выдавалась сумма по себестоимости)     | |||
| 85
    
        fisher 25.03.15✎ 14:18 | 
        В промышленных конфигурациях учет и расчет себестоимости гораздо хитрее и сложнее :)     | |||
| 86
    
        Nolan 25.03.15✎ 14:19 | 
        (85) да понимаю, но тут хотя бы с этим разобраться) а я могу теперь вытащить в своем запросу цену из документа "поступления товаров"?     | |||
| 87
    
        GROOVY 25.03.15✎ 14:22 | 
        (86)  Я еще раз обращаю внимание на пост (83).     | |||
| 88
    
        Nolan 25.03.15✎ 14:25 | 
        (87) ну для того чтобы знать сумму списания товаров. так наверное?     | |||
| 89
    
        Nolan 25.03.15✎ 14:27 | 
        (81) а я могу теперь вытащить в своем запросе цену из документа "поступления товаров"?     | |||
| 90
    
        GROOVY 25.03.15✎ 14:29 | 
        (88)  А "Количество" - чтобы знать количество списания? Нет.
 Сумма, а точнее Стоимость в регистре - это остаток в денежном выражении, равно как Количество - это натуральный остаток. То бишь смотря на свой склад, владелец может не только увидеть дцать ложек, но и сможет узнать сколько эта куча стоит. Регистр, любой, хранит 1 показатель. В примере из (0) показатель в регистре - Остаток товаров, он хранится в натуральном и суммовом выражении. | |||
| 91
    
        fisher 25.03.15✎ 14:30 | 
        (86) Зачем из документа? А зачем же ты её в регистр писал? И как ты вообще себе это представляешь?
 Парень, меня смущает не то, что ты новичок. А то, что думать у тебя плохо получается. И работать с информацией тоже. И то и другое плохо сочетается с программированием. Хочется верить, что у тебя получится перестроиться. | |||
| 92
    
        GROOVY 25.03.15✎ 14:30 | 
        (89)  Купили ложку первого числа по 100р, и второвго числа по 500р. Продаем ложку третьего числа, какая стоимость должна списаться?     | |||
| 93
    
        GROOVY 25.03.15✎ 14:31 | 
        (91)  Вот! Я было уже в других терминах написал, хорошо что не запостил.     | |||
| 94
    
        Nolan 25.03.15✎ 14:41 | 
        (90) Хорошо, допустим так. Я купил 5ть ложек по 100р. Потом продал 3. Регистре должно отобразиться у меня КОЛИЧЕСТВО 3 ЦЕНА 300 , так получается????     | |||
| 95
    
        Nolan 25.03.15✎ 14:42 | 
        (91) все получится)))     | |||
| 96
    
        Nolan 25.03.15✎ 14:43 | 
        (92) наверное 300. Так???     | |||
| 97
    
        Nolan 25.03.15✎ 14:45 | 
        (90) (94) Или должно быть КОЛИЧЕСТВО 2 ЦЕНА 300 ???? как правильно???     | |||
| 98
    
        GROOVY 25.03.15✎ 14:45 | 
        (96) Ну зависит от того как себестоимость считается (а я знаю минимум 5 способов), ответ наводит на мысль, что себестоимость рассчитывается по среднему, и что из документов поступления в таком случае вытаскивать собираешься?     | |||
| 99
    
        GROOVY 25.03.15✎ 14:47 | 
        Слово "Цена" тут совсем не в тему, только сбивает с толку.
 Себестоимость 1 штуки 300р, если считать по-среднему. | |||
| 100
    
        Nolan 25.03.15✎ 14:49 | 
        (99) Хорошо. Пусть так
 Я купил 5ть ложек по 100р. Потом продал 3. Тогда в регистре должно отобразиться КОЛИЧЕСТВО 3 СУММА 300 ИЛИ КОЛИЧЕСТВО 2 СУММА 200 как правильно? | |||
| 101
    
        GROOVY 25.03.15✎ 14:50 | 
        "Отобразиться" - это что? Движения или остатки?     | |||
| 102
    
        Nolan 25.03.15✎ 14:53 | 
        (101) Ну когда я провожу документ "Реализация товаров" это что? остатки же наверное     | |||
| 103
    
        GROOVY 25.03.15✎ 14:55 | 
        (102)  Нет. Это движения. Почитайте книжки, посмотрите бесплатные мультики, самый короткий: http://v8.1c.ru/metod/videotutorial/000000022.html
 У Вас каша в голове. | |||
| 104
    
        fisher 25.03.15✎ 14:58 | 
        <рука-лицо>
 В движениях регистра при списании "отобразится" 3 шт на сумму 300. Ты же три продаешь, вот три и списываешь. Если после этого прочитать остатки регистра, то на них "отобразится" 2 шт на сумму 200. ЗЫ. Слушай, ну заставь себя поискать и поработать с методическими материалами. Если уже работал, то постарайся при этом больше думать. Складывается ощущение, что ты для себя вынес и понял чуть менее чем ничего. | |||
| 105
    
        Nolan 25.03.15✎ 15:02 | 
        (104) ну вот, теперь понятно))) А как прочитать остатки регистра?     | |||
| 106
    
        fisher 25.03.15✎ 15:05 | 
        Соответствующим способом.
 В книжках про это много. И даже в картинках. И даже видео люди трудились, снимали. | |||
| 107
    
        fisher 25.03.15✎ 15:07 | 
        Тебе даже было лень разобрать код, который ты скопипастил? Или это какое-то изощренное издевательство?     | |||
| 108
    
        Nolan 25.03.15✎ 15:10 | 
        (107) да нет, книги тоже смотрю. Может ещё не дошел до того момента. а вот это задание нужно было выполнить, поэтому наверное и такие вопросы возникают. Хотя по Радченко регистры накопления уже прочитал, может упустил... Ладно буду перечитывать)     | |||
| 109
    
        fisher 25.03.15✎ 15:11 | 
        Может, ты просто жертва курсов скорочтения?     | |||
| 110
    
        GROOVY 25.03.15✎ 15:15 | 
        (109)  Не похоже, похоже на "обучение по примерам" без разъяснений.     | |||
| 111
    
        Nolan 25.03.15✎ 15:15 | 
        (109) Радченко стр 208 "Регистры накопления" , там вообще ничего про это не рассказано. Даже поля СУММА нет. Только что глянул! 
 А как прочитать остатки регистра? ответь если не трудно) | |||
| 112
    
        iceman2112 25.03.15✎ 15:15 | 
        Практическое пособие разработчика     | |||
| 113
    
        Nolan 25.03.15✎ 15:16 | 
        (110) похоже на "на выполни задание" выполняй как хочешь!     | |||
| 114
    
        1976vas 25.03.15✎ 15:16 | 
        (108) Проверим. Зачем в регистрах накопления нужны регистры оборотов, если в регистре остатки есть и обороты?     | |||
| 115
    
        Nolan 25.03.15✎ 15:18 | 
        (114) ну получается нужно создать ещё один регистр, только ВИД РЕГИСТРА будет "Обороты"?     | |||
| 116
    
        1976vas 25.03.15✎ 15:20 | 
        (115) Не получится у тебя без теории, методом тыка, ничему научиться.     | |||
| 117
    
        Nolan 25.03.15✎ 15:23 | 
        (116) Ладно это все будет. За 3 недели все выучить не получится. Теперь мне нужно что у меня в поле сумма выдавалась цена себестоимости*количество.     | |||
| 118
    
        Nolan 25.03.15✎ 15:27 | 
        Когда научусь программировать и получу работу, скину вам друзья по 1000 рублей за помощь)))     | |||
| 119
    
        1976vas 25.03.15✎ 15:28 | 
        (117) А где у тебя себестоимость хранится?     | |||
| 120
    
        1976vas 25.03.15✎ 15:36 | 
        Себестоимость рассчитывается, а исходя из чего?     | |||
| 121
    
        fisher 25.03.15✎ 15:38 | 
        (118) Я прям прослезился. Когда-то точно также во франч устраивался, с абсолютного нуля. И тоже было три недели на решение сертификационных задач.
 Но т.к. я смог вытянуть самостоятельно, то от меня сочувствия не жди. В современных условиях при наличии интернета, доступности методических материалов и бездны готовых решений - это тупая проверка на адекватность и сообразительность. | |||
| 122
    
        fisher 25.03.15✎ 15:42 | 
        Или две недели? Давно это было. Помню отпуск специально брал на старой работе...     | |||
| 123
    
        Nolan 25.03.15✎ 16:02 | 
        (119) себестоимость я сам вписываю, в документ "Поступление товаров". а потом когда его провожу эта цена отображается в регистре накопления "Остатки".     | |||
| 124
    
        Nolan 25.03.15✎ 16:03 | 
        (122) сейчас тоже во франче работаешь?     | |||
| 125
    
        Nolan 25.03.15✎ 16:13 | 
        (120) в документ "Поступление товаров" в реквизите табличной части "Цена" -это и есть моя себестоимость     | |||
| 126
    
        fisher 25.03.15✎ 16:13 | 
        (124) Нет.     | |||
| 127
    
        Nolan 25.03.15✎ 16:14 | 
        (126) почему, франч не самое лучшее место для работы?     | |||
| 128
    
        fisher 25.03.15✎ 16:20 | 
        (127) Так уж сложилось. Но свой франч - тоже неплохо.     | |||
| 129
    
        mTema32 25.03.15✎ 16:20 | 
        (127)ооооох. Вот так вброс)     | |||
| 130
    
        Nolan 25.03.15✎ 16:25 | 
        (128) ясно. ну подскажи как мне сделать, чтобы у меня в поле сумма выдавалась цена себестоимости*количество, где цена себестоимости берется из документ "Поступление товаров" в реквизите табличной части "Цена"?     | |||
| 131
    
        GROOVY 25.03.15✎ 16:29 | 
        (130)  Продавать по себестоимости будешь?     | |||
| 132
    
        Nolan 25.03.15✎ 16:36 | 
        (131) нет! при проведении документа "Реализация товаров" в регистре накопления "Остатки" в поле "СУММА" должно записываться цена себестоимости*количество, где цена себестоимости берется из документ "Поступление товаров" в реквизите табличной части "Цена"     | |||
| 133
    
        GROOVY 25.03.15✎ 16:37 | 
        Не, все, я сдаюсь. Это *издец.     | |||
| 134
    
        1976vas 25.03.15✎ 16:38 | 
        (132) Ты просто пишешь, что в Поле Сумма, в этом поле у тебя ЦенаПродажи, наверное.     | |||
| 135
    
        supremum 25.03.15✎ 16:40 | 
        (132) Почем нынче фунт себестоимости?     | |||
| 136
    
        Nolan 25.03.15✎ 16:44 | 
        (134) В Поле Сумма у меня должно быть цена покупки*количество! Это регистр "Остатки". Это не регистр "Обороты"     | |||
| 137
    
        Nolan 25.03.15✎ 16:45 | 
        (134) В этом поле у меня должна быть цена списания может так понятней будет!     | |||
| 138
    
        1976vas 25.03.15✎ 16:49 | 
        (137) Получай себестоимость из регистра, потом при проведении документа списывай количество и сумму. И урок 11 посмотри Павла Чистова.     | |||
| 139
    
        fisher 25.03.15✎ 16:50 | 
        (137) Мне кажется, что ты растрачиваешь таланты в неправильном направлении. Плюнь на 1С. Потом еще спасибо скажешь.     | |||
| 140
    
        Nolan 25.03.15✎ 16:52 | 
        (138) это мне нужно новый запрос делать и использовать соединение, чтобы получить себестоимость из регистра?     | |||
| 141
    
        1976vas 25.03.15✎ 16:54 | 
        (140) посмотри Урок, там за час все разъясняется. Уже бы давно сделал ))     | |||
| 142
    
        GROOVY 25.03.15✎ 16:55 | 
        (141)  Нет, он будет неделю на форуме все выяснять.     | |||
| 143
    
        1976vas 25.03.15✎ 16:55 | 
        (142) Ну общения, наверное, хочется ))     | |||
| 144
    
        Nolan 25.03.15✎ 16:55 | 
        (141) ладно посмотрю! просто в библиотеке ютуб не работает(     | |||
| 145
    
        1976vas 25.03.15✎ 16:57 | 
        (144) Ищи кафэшку какую-нибудь )     | |||
| 146
    
        fisher 25.03.15✎ 16:57 | 
        Потому что тишина должна быть в библиотеке!     | |||
| 147
    
        Nolan 25.03.15✎ 16:58 | 
        (145) хорошо, всем спасибо за советы! я пошел тогда)     | |||
| 148
    
        fisher 25.03.15✎ 17:01 | 
        Только ненадолго! Мы будем волноваться!     | |||
| 149
    
        Nolan 25.03.15✎ 22:56 | 
        В общем наконец доделал. Спасибо Чистову) воттак теперь выглядит код 
 Процедура ОбработкаПроведения(Отказ, Режим) Движения.Остатки.Записывать=Истина; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТокТаЧ.Номенклатура, | МАКСИМУМ(ТокТаЧ.Количество) КАК Количество, | СУММА(ЕСТЬNULL(Остатки.КоличествоОстаток, 0)) КАК КоличествоОстаток, | МАКСИМУМ(ЕСТЬNULL(Остатки.СуммаОстаток, 0)) КАК СуммаОстаток |ИЗ | Документ.РеализацияТоваров.Товары КАК ТокТаЧ | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Остатки.Остатки(&МоментВремени, ) КАК Остатки | ПО ТокТаЧ.Номенклатура = Остатки.Номенклатура |ГДЕ | ТокТаЧ.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | ТокТаЧ.Номенклатура"; Запрос.УстановитьПараметр("МоментВремени", МоментВремени() ); Запрос.УстановитьПараметр("Ссылка", Ссылка); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.Количество > Выборка.КоличествоОстаток Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Не хватает товара""" + Выборка.Номенклатура + """, из необходимых " + Выборка.Количество + " в наличии осталось только " + Выборка.КоличествоОстаток; Сообщение.Сообщить(); Отказ=Истина; Движения.Остатки.Записывать=Ложь; КонецЕсли; Если Отказ Тогда Продолжить; КонецЕсли; Движение = Движения.Остатки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Номенклатура = Выборка.Номенклатура; Движение.Склад = Склад; Движение.Количество = Выборка.Количество; Движение.Сумма = Выборка.Количество/Выборка.КоличествоОстаток*Выборка.СуммаОстаток; КонецЦикла; КонецПроцедуры вопрос как теперь здесь осуществлять контроль по тому есть ли в складе Контроль по остаткам. Вот этот код подойдет? и куда именно его вписать? Если не Склад.КонтрольОстатков тогда Возврат; | |||
| 150
    
        Nolan 25.03.15✎ 23:48 | 
        попробовал так
 |ГДЕ | ТокТаЧ.Ссылка = &Ссылка И ТокТаЧ.Ссылка.Склад.КонтрольОстатков документ проводиться, только когда его провожу нет проводки в регистре( | |||
| 151
    
        DmitriyDI 26.03.15✎ 10:01 | 
        (150)  Если Выборка.Количество > Выборка.КоличествоОстаток и Склад.КонтролироватьОстатки Тогда , можно тут но тогда пользователь не узнает что провел в минус, не будет сообщения.
 можно так Отказ=Склад.КонтролироватьОстатки; Движения.Остатки.Записывать=не Склад.КонтролироватьОстатки; | |||
| 152
    
        sFAQer 26.03.15✎ 11:29 | 
        Блин, ОП ты не мог до пятницы подождать?     | |||
| 153
    
        fisher 26.03.15✎ 11:33 | 
        Не мешайте ТС изучать язык запросов методом научного тыка.     | |||
| 154
    
        alex_shkut 26.03.15✎ 12:11 | 
        Возьми коробку с кубиками и поиграйся в поступление и списание.
 Намек ;) коробка - это твой регистр. Или лучше со спичками, их можно на части ломать :). Может так понимание придет? | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |