|   |   | 
| 
 | Изменение группы номенклатуры в ТЧ Документа Поступление Товаров и Услуг | ☑ | ||
|---|---|---|---|---|
| 0
    
        tabarigen 24.07.15✎ 17:05 | 
        Конфигурация 1С-Рарус: Управление аптекой (1.50.25.01). Платформа 8.2. 
 При проведении документа поступление товаров в УА, номенклатура попадает в группу медикаменты. Как мне позволить пользователю самому выбирать в какую группу будет попадать товары из ТЧ документа. Ясно дело, что нужно повесить обработчик события, пройтись по ТЧ циклом и сменить у строк, Номенклатура.Родитель.Ссылка. Вопрос в следующем. Может есть какое либо штатное средство предписанное в конфигурации для выбора группы. Если такой возможности нет, то в каком обработчике события править код, ПередЗаписью? Для выбора группы можно ли обойтись ДопРеквизитами или обязательно добавлять реквизит на форму? | |||
| 1
    
        Рэйв 24.07.15✎ 17:41 | 
        У тебя при проведении меняется Родитель???
 ... Куда катится мир. | |||
| 2
    
        kcdnb 24.07.15✎ 18:41 | 
        Нариман, вы не из Москвы?     | |||
| 3
    
        tabarigen 24.07.15✎ 21:15 | 
        (1) Простите за терминологию. Наверное не так выразился. 
 При оприходовании товара, можно ведь сделать так, чтоб весь товар присваился определенной группе номенклатуры. Именно этоя имел ввиду. (2) К счастью нет. | |||
| 4
    
        tabarigen 27.07.15✎ 09:58 | 
        Подскажите пожалуйста.
 На форме создал реквизит Справочник.номеклатура и в свойствах поставил Выборку.Групп. В модуле документа ПоступлениеТоваров прописал следующий код: Если ГруппаНоменклатуры <> Неопределено Тогда Для каждого СтрокаТЧ Из ЭтотОбъект.Товары Цикл СтрокаТЧ.Номенклатура.Родитель = ГруппаНоменклатуры; КонецЦикла; КонецЕсли; При записи выдается ошибка {Документ.ПоступлениеТоваров.Форма.ФормаДокумента.Форма(675)}: Поле объекта недоступно для записи (Родитель) СтрокаТЧ.Номенклатура.Родитель = ГруппаНоменклатуры; Это типичная ошибка новичка. А как будет правильно изменить строкиТЧ документа? | |||
| 5
    
        Metman 27.07.15✎ 10:06 | 
        Чтобы у объекта что-то изменить, нужно его сначала получить.     | |||
| 6
    
        tabarigen 27.07.15✎ 10:18 | 
        Из Модуля объекта я не могу разве его получить??     | |||
| 7
    
        hhhh 27.07.15✎ 10:18 | 
        (4) это вы не строку меняете, а саму номенклатуру. Это очень опасно. НАпример это номенклатура у вас была в 1000 документов за предыдущие несколько лет. И эти документы вдруг чудесным образом все сразу поменяются. Да вас прользователи за это живьем без лопаты закопают в асфальт.     | |||
| 8
    
        tabarigen 27.07.15✎ 10:38 | 
        (5) Попробовал получить ссылку, ошибка та же
 Док = ЭтотОбъект.Ссылка; Если ГруппаНоменклатуры <> Неопределено Тогда Для каждого СтрокаТЧ Из Док.Товары Цикл СтрокаТЧ.Номенклатура.Родитель = ГруппаНоменклатуры; КонецЦикла; КонецЕсли; (7) Я собственноэто и пытаюсь сделать. Нужно номенклатуру которая приходуется помещать в выбранную юзверем группу. | |||
| 9
    
        tabarigen 27.07.15✎ 11:05 | 
        Док = ЭтотОбъект.Ссылка;
 По моему ошибка в том что неправильно получил объект. Метода ПолучитьОбъект() у свойства ЭтотОбъект нету. Как же быть | |||
| 10
    
        Metman 27.07.15✎ 11:08 | 
        Вам нужно получить текущий элемент номенклатуры, изменить родителя и записать его.     | |||
| 11
    
        tabarigen 27.07.15✎ 11:08 | 
        ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
 ЭтотОбъект (ThisObject) Использование: Только чтение. Описание: Тип: ДокументОбъект. Содержит сам объект базы данных. Предназначено, в основном, для получения данного объекта встроенного языка в модуле объекта или модуле формы. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). СП тоже говорит что, ЭтотОбъект только для чтения доступен. | |||
| 12
    
        tabarigen 27.07.15✎ 11:09 | 
        (10) Текущий элемент я вроде получаю. 
 при отладке при наведении он высвечивается при наведении. | |||
| 13
    
        Tarlich 27.07.15✎ 11:12 | 
        Док = ЭтотОбъект.Ссылка; 
 Если ГруппаНоменклатуры <> Неопределено Тогда Для каждого СтрокаТЧ Из Док.Товары Цикл спр = СтрокаТЧ.Номенклатура.ПолучитьОбъект(); спр.Родитель =ГруппаНоменклатуры; спр.Записать() КонецЦикла; КонецЕсли; | |||
| 14
    
        Альбатрос 27.07.15✎ 11:13 | 
        Для каждого СтрокаТЧ Из Док.Товары Цикл 
 ТекОбъект = СтрокаТЧ.Номенклатура.ПолучитьОбъект(); ТекОбъект.Родитель = ГруппаНоменклатуры; Попытка ТекОбъект.Записать(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЦикла; | |||
| 15
    
        tabarigen 27.07.15✎ 11:29 | 
        (13), (14) Спасибо большое. Получилось.
 Док = ЭтотОбъект.Ссылка; Если ГруппаНоменклатуры <> Неопределено Тогда Для каждого СтрокаТЧ Из Док.Товары Цикл ТекОбъект = СтрокаТЧ.Номенклатура.ПолучитьОбъект(); ТекОбъект.Родитель = ГруппаНоменклатуры; Попытка ТекОбъект.Записать(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЦикла; КонецЕсли; | |||
| 16
    
        tabarigen 27.07.15✎ 11:56 | 
        Кстати парни ГруппаНоменклатуры <> Неопределено это есть тоже самое что и ГруппаНоменклатуры.Пустая()??     | |||
| 17
    
        Альбатрос 27.07.15✎ 12:06 | 
        (16) Юзай ЗначениеЗаполнено()     | |||
| 18
    
        Альбатрос 27.07.15✎ 12:06 | 
        (16) нет     | |||
| 19
    
        tabarigen 27.07.15✎ 12:27 | 
        Если ГруппаНоменклатуры = ЗначениеЗаполнено(Справочники.Номенклатура.Ссылка) Тогда
 Так?? | |||
| 20
    
        tabarigen 27.07.15✎ 12:27 | 
        ГруппаНоменклатуры.Пустая() вроде норм отрабатывает без ошибок.     | |||
| 21
    
        hhhh 27.07.15✎ 12:37 | 
        Если ЗначениеЗаполнено(ГруппаНоменклатуры) Тогда     | |||
| 22
    
        tabarigen 27.07.15✎ 13:00 | 
        (21) спасибо. Так и в самом деле логичнее и читабельнее.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |