|   |   | 
| 
 | как проверить товар, на выводимые сообщения при проведении документа | ☑ | ||
|---|---|---|---|---|
| 0
    
        falselight 27.07.16✎ 15:11 | 
        Конфигурация Розница.
 При проведении поступления товаров выходят сообщения, на товар в табличной части: Инвентарный товар (563) уже присутствует на складе ООО 40б. Повторное оприходование невозможно. При проведении документа отчет о розничных продажах выходят сообщения, типа: Номенклатура IM Превышен сводный остаток на складе ООО , на 1 шт. При проведении данных документов в обработке, как можно получая номенклатуру узнавать - Присутствует ли она на складе, если да что бы удалить из табличной части документа. Что бы это не мешало проведению? - И превышает ли она свободный остаток, что бы её оприходовать заранее, для корректного проведения документа? Эти сообщения выводятся при проведении. Но получая номенклатуру из тч, как это определить? Есть специальные функции? | |||
| 1
    
        Поросенок Петр 27.07.16✎ 15:25 | 
        А откуда взялись документы с лишними товарами в тч?     | |||
| 2
    
        arccos6pi 27.07.16✎ 15:34 | 
        (0) нужно просто поставить учет нормально     | |||
| 3
    
        FIXXXL 27.07.16✎ 17:11 | 
        (0) ну глянь как проверяется номенклатура при проведении, откуда сообщения сыпятся     | |||
| 4
    
        falselight 28.07.16✎ 08:12 | 
        (3) а где вероятнее всего это может быть?
 Начал смотреть обработку проведения в модуле документа. | |||
| 5
    
        Горогуля 28.07.16✎ 08:15 | 
        откуда запятая взялась в заголовке? ну нельзя же их ставить рандомно, я верю в людей     | |||
| 6
    
        falselight 28.07.16✎ 08:24 | 
        по тексту сообщения нащел в одном модуле эту процедуру, которая формирует сообщения     | |||
| 7
    
        Горогуля 28.07.16✎ 08:26 | 
        (6) уже поздравлять?     | |||
| 8
    
        Горогуля 28.07.16✎ 08:26 | 
        >При проведении данных документов в обработке, как можно получая номенклатуру узнавать 
 извини меня, но русский язык - это не твоё | |||
| 9
    
        falselight 28.07.16✎ 09:02 | 
        Как у проведенного документа может быть, проведение=Истина???
 Пробую на одном документе. Он не проведет. При проведении заходит в процедуру где формируются эти сообщения. Но там проверяются Источник.Движения.ТоварыНаСкладах. От куда у него движения если он не проведен в тч. Хотя по свойствам проведен. Когда программно провлжу документ, он то точно не проведет. И движений нет, по этому как его можно проверить????? От куда движения у этого не проведеного документа? | |||
| 10
    
        falselight 28.07.16✎ 09:02 | 
        (9) Как у НЕ проведенного документа может быть, проведение=Истина???     | |||
| 11
    
        Горогуля 28.07.16✎ 09:03 | 
        (10) проведён - это такая галка в БД
 (9) это просто чудо | |||
| 12
    
        vicof 28.07.16✎ 09:09 | 
        (11) Это не чудо, это @Livingstar     | |||
| 13
    
        falselight 28.07.16✎ 09:18 | 
        почему то именно в этой процедуре можно передать параметром
 в запрос движения документа, и он значится как проведенный но на самом деле он не проведен, и когда я вызываю эту процедуру из обработки, так же ничего не выбирается Процедура ВыполнитьКонтрольОстатковИнвентарныхТоваров(Источник, Отказ, РежимПроведения) Экспорт // Формируем шаблон сообщения об ошибке ШаблонСообщения = НСтр("ru = 'Инвентарный товар %1 уже присутствует на складе %2. Повторное оприходование невозможно.'"); // При оприходывании инвентарного товара на склад необходимо проверить, а не имеется ли он уже на складе ТекстЗапроса = "ВЫБРАТЬ | ДвиженияТоварыНаСкладах.ВидДвижения, | ДвиженияТоварыНаСкладах.Склад, | ВЫРАЗИТЬ(ДвиженияТоварыНаСкладах.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура, | ВЫРАЗИТЬ(ДвиженияТоварыНаСкладах.Характеристика КАК Справочник.ХарактеристикиНоменклатуры) КАК Характеристика, | ДвиженияТоварыНаСкладах.Количество |ПОМЕСТИТЬ ДвиженияТоварыНаСкладах |ИЗ | &ТоварыНаСкладах КАК ДвиженияТоварыНаСкладах |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ДвиженияТоварыНаСкладах.Номенклатура, | ДвиженияТоварыНаСкладах.Характеристика |ПОМЕСТИТЬ ТаблицаПоТоварам |ИЗ | ДвиженияТоварыНаСкладах КАК ДвиженияТоварыНаСкладах |ГДЕ | ДвиженияТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) | И ДвиженияТоварыНаСкладах.Номенклатура.ВидНоменклатуры.ор_ИнвентарныйУчет | И НЕ ДвиженияТоварыНаСкладах.Характеристика = Значение(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДвиженияТоварыНаСкладах.ВидДвижения, | ДвиженияТоварыНаСкладах.Склад, | ДвиженияТоварыНаСкладах.Номенклатура, | ДвиженияТоварыНаСкладах.Характеристика, | ДвиженияТоварыНаСкладах.Количество |ИЗ | ДвиженияТоварыНаСкладах КАК ДвиженияТоварыНаСкладах |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТаблицаПоТоварам.Номенклатура, | ТаблицаПоТоварам.Характеристика |ИЗ | ТаблицаПоТоварам КАК ТаблицаПоТоварам |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТоварыНаСкладахОстатки.Склад, | ТоварыНаСкладахОстатки.Номенклатура, | ТоварыНаСкладахОстатки.Характеристика, | ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток |ИЗ | ТаблицаПоТоварам КАК ТаблицаПоТоварам | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки( | , | (Номенклатура, Характеристика) В | (ВЫБРАТЬ | ТаблицаПоТоварам.Номенклатура, | ТаблицаПоТоварам.Характеристика | ИЗ | ТаблицаПоТоварам КАК ТаблицаПоТоварам)) КАК ТоварыНаСкладахОстатки | ПО ТаблицаПоТоварам.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура | И ТаблицаПоТоварам.Характеристика = ТоварыНаСкладахОстатки.Характеристика |ГДЕ | ТоварыНаСкладахОстатки.КоличествоОстаток > 1"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("ТоварыНаСкладах", Источник.Движения.ТоварыНаСкладах); // Выполняем запрос и информируем пользователя о найденных ошибках Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ШаблонСообщения, ФормированиеПечатныхФормСервер.ПолучитьПредставлениеНоменклатурыДляПечати(Выборка.Номенклатура, Выборка.Характеристика), Строка(Выборка.Склад) ); ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, Источник,,, Отказ); КонецЦикла; КонецПроцедуры // ВыполнитьКонтрольОстатковИнвентарныхТоваров() | |||
| 14
    
        falselight 28.07.16✎ 09:20 | 
        (13+)  это можно сделать только при записи документа
 вызывая это из обработки у документа нет никаких движений | |||
| 15
    
        Горогуля 28.07.16✎ 09:22 | 
        (12) опять? да сколько ж можно?     | |||
| 16
    
        mehfk 28.07.16✎ 09:22 | 
        (12) Если это действительно Livingstar, то за время, пока его не было на мисте он значительно деградировал.     | |||
| 17
    
        Горогуля 28.07.16✎ 09:22 | ||||
| 18
    
        falselight 28.07.16✎ 09:26 | 
        вызывается эта процедура (13) подпиской на событие обработка проведения, и там есть движения документа, как это можно использовать из обработки?     | |||
| 19
    
        Lexey_ 28.07.16✎ 09:29 | 
        (16) да, это он. "за время, пока его не было" он был:  1cstudy     | |||
| 20
    
        mehfk 28.07.16✎ 09:30 | 
        (19) В курсе. Но его уже тоже относительно давно забанили.     | |||
| 21
    
        mehfk 28.07.16✎ 09:32 | 
        Может он как проколотое колесо? Если его не подкачивать, то сдувается до нуля :)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |