|   |   | 
| 
 | как проверить был ли приход перед тем как списать со склада? | ☑ | ||
|---|---|---|---|---|
| 0
    
        golovonometr 26.02.15✎ 14:01 | 
        Учу 1С, пишу в процедуре ОбработкаПроведения() след:
 Для Каждого Материала из Материалы Цикл // из табличной части документа Запись = Движения.Склад.ДобавитьРасход(); Запись.Период = Дата; ..... КонецЦикла; Движения.Склад.Записать; Я хочу узнать перед тем как добавить расход, был ли приход этого материала, хватает ли его на складе. Я могу например влепить Запрос в цикл типа "ВЫБРАТЬ Количество ИЗ РегистрНакопления.Склад.Остатки ГДЕ Материал = &Материал", но душа не лежит на запрос в цикле написать, как получить эти остатки? | |||
| 1
    
        Бубка Гоп 26.02.15✎ 14:07 | 
        (0) зачем в цикле? помести все материалы в СЗ, а еще лучше - во временную таблицу, и к ней прилевачь текущие остатки. п.с. душа у тебя верно лежит циклы в запросе - за это и побить могут     | |||
| 2
    
        Бубка Гоп 26.02.15✎ 14:09 | 
        т.е. что то вроде
 "ВЫБРАТЬ Количество ИЗ РегистрНакопления.Склад.Остатки ГДЕ Материал В(&Материалы)" пример для вт писать без конструктора лениво, извини. в инете поищи если интересно | |||
| 3
    
        Бубка Гоп 26.02.15✎ 14:10 | 
        (2) + наверно и сам материал выбирай, чтобы видеть чего конкретно остаток ты получил :)     | |||
| 4
    
        Масянька 26.02.15✎ 14:11 | 
        (0) А при заполнении документа (подбор) не вариант?     | |||
| 5
    
        floody 26.02.15✎ 14:13 | 
        (0) контроль остатков обычный? предлагаю посмотреть видео павла чистова, первые 5-6 уроков. и не изобретать велосипед.     | |||
| 6
    
        SleepyHead гуру 26.02.15✎ 14:20 | 
        Спиши и проверь остатки. Если есть отрицательные, выставляй Отказ в Истину, то есть транзакция будет отменена, документ не будет проведен.     | |||
| 7
    
        SleepyHead гуру 26.02.15✎ 14:20 | 
        (4) пока он подбирает, другой списать может.     | |||
| 8
    
        golovonometr 26.02.15✎ 14:29 | 
        контроль остатков обычный, самый примитивный склад, с которого списываются товары по номенклатуре, я как программист, понимаю что проверять остатки по каждой номенклатуре необходимо будет сделать, но каждый раз Запрос посылать или функцию проверки на остатки в цикле - стремно, наверно стремно будет также списать, а потом проверить на отрицательные остатки все и отменять транзакцию. Или это нормальная практика в 1С? Если можно приведите пример. 
 С Временными таблицами мне понравилось, копаюсь в этом пока. | |||
| 9
    
        anatoly 26.02.15✎ 14:35 | 
        во первых наверное не ОбработкаПроведения а ПередЗаписью.
 во вторых, выбери остатки как в (2) объедини с ТЧ списания по номенклатуре - и посмотри в каких строках остаток меньше расхода. | |||
| 10
    
        Бубка Гоп 26.02.15✎ 14:37 | 
        (8) ну вт прикольно когда решается задача посерьезнее, все таки. если все так примитивно как ты описал, то можно обойтись и СпискомЗначений в качестве параметра.     | |||
| 11
    
        Бубка Гоп 26.02.15✎ 14:38 | 
        (9) почему перед записью? аргументируйте.     | |||
| 12
    
        DrShust 26.02.15✎ 14:44 | 
        (8)     
 МВТ = Новый МенеджерВременныхТаблиц; Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = МВТ; ТЗ = ТабЧаст.Выгрузить(, "Номенклатура, Количество"); Запрос.УстановитьПараметр("тз", ТЗ); Запрос.Текст = "ВЫБРАТЬ | тз.Номенклатура |ПОМЕСТИТЬ втТЗ |ИЗ | &тз КАК тзСостав; | |//////////////////////////////////////////////////////////////////////////////// | |||
| 13
    
        SleepyHead гуру 26.02.15✎ 15:10 | 
        (9) В проведении нужно это делать, так как выполняется транзакция и в этот момент другие пользователи списывать не могут.
 Управление блокировками автоматическое или управляемое? | |||
| 14
    
        D_E_S_131 26.02.15✎ 15:13 | 
        (12) Зачем менеджер ВТ инициализировать, если работа с ВТ внутри одного запроса происходит?
 Зачем вообще создавать ВТ, если нужны данные всего лишь из одной колонки? (8) "нормальная практика" — проверить остатки на "минус" это замечательная практика. | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |