7.7 ечаль (Как получить значение элемента формы справочника)

Тема в разделе "Типовые решения "1С:Предприятие 7.7"", создана пользователем dmitry1-irk38, 17 ноя 2013.

  1. TopicStarter Overlay
    dmitry1-irk38
    Offline

    dmitry1-irk38 Опытный в 1С

    Регистрация:
    10 окт 2012
    Сообщения:
    102
    Симпатии:
    0
    Баллы:
    26
    Добрый День, устал искать ответ и тыкаться
    Имею 1С 7.7 с ТиС 9.2
    В документе реализация извлекаю из табличной части элемент справочника номенклатура - мне нужно получить значение веса РеквВесОсновной, но это не реквизит справочника номенклатуры, а элемент формы, вопрос, как получить его значение?

    Код:
     Сообщить("Атрибут = "+СпрНом.ПолучитьАтрибут("РеквВесОсновной"));
     СпрНом.РеквВесОсновной;
    Не работает так (
  2. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    что написано в формуле элемента формы РеквВесОсновной?
  3. TopicStarter Overlay
    dmitry1-irk38
    Offline

    dmitry1-irk38 Опытный в 1С

    Регистрация:
    10 окт 2012
    Сообщения:
    102
    Симпатии:
    0
    Баллы:
    26

    Вложения:

  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Очень похоже (но не факт) это реквизит единицы измерения... Проверьте.
    Конфа явно дописана. Без МДшника можно только гадать
  5. TopicStarter Overlay
    dmitry1-irk38
    Offline

    dmitry1-irk38 Опытный в 1С

    Регистрация:
    10 окт 2012
    Сообщения:
    102
    Симпатии:
    0
    Баллы:
    26

    Вложения:

  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Никак вы к нему не обратитесь из отчета... Он каким-то образом заполняется в модуле (при открытии скорее всего).
    Узнав как заполняется - обратиться можно (вычислить).
    МДшник выложите в файлообменник, а сюда - ссылку
  7. TopicStarter Overlay
    dmitry1-irk38
    Offline

    dmitry1-irk38 Опытный в 1С

    Регистрация:
    10 окт 2012
    Сообщения:
    102
    Симпатии:
    0
    Баллы:
    26
    Вот я получил элемент справочника, а достать значение не могу из него ((
    Код:
    Процедура ПриОкончанииРедактированияГрузчик()  
    СпрНом = СоздатьОбъект("Справочник.Номенклатура");
    СпрНом.ИспользоватьДату(ТекущаяДата());
    СпрНом.ПорядокКодов();
    Сообщить("ПриОкончанииРедактированияГрузчик()");
    Сообщить(ТекущийДокумент());
    ДокР = ТекущийДокумент();
    ДокР.ВыбратьСтроки();
    Пока ДокР.ПолучитьСтроку()=1 Цикл
    // СпрНом = ДокР.Номенклатура;  
    
    //Конт = СпрНом.Форма.Параметр.Получить("Контекст");
    //Рекв = Конт.РеквВесОсновной; 
    
    //Конт = "";
    //ОткрытьФормуМодально(СпрНом,Конт);
    ////Рекв = Конт.РеквВесОсновной;
    //Сообщить("Контектс = "+Конт);
    
    ДокР.Тоннаж = ДокР.Количество;	
    // Сообщить("Форма = "+СпрНом.ЭлементыФормы.РеквВесОсновной);
    // Сообщить("Атрибут = "+СпрНом.ПолучитьЭлемент("РеквВесОсновной");	 
    // Сообщить("Форма реализация = "+Форма.ТекстОплаты);
    
    // Сообщить(" СпрНом.РеквКоэффициентОсновной ==="+СпрНом.ЭлементыФормы.РеквВесОсновной");
    //  Сообщить(СпрНом+" Реквизит = "+Рекв);
    СпрНом.ВыбратьЭлементы();
    СпрНом.НайтиПоНаименованию(ДокР.Номенклатура);
    
    // сч=0;
    // Пока СпрНом.ПолучитьЭлемент() = 1  Цикл
    //  Если (СпрНом.ПометкаУдаления() = 1) ИЛИ (СпрНом.ЭтоГруппа() = 1) Тогда
    //	  Продолжить;
    //  КонецЕсли;
    //
    //  сч=сч+1;
    //
    //  ИНН = СпрНом.ИНН;
    //  Телефоны = СпрНом.Телефоны;
    //  Наименование= СпрНом.Наименование;
    //  ПолнНаименование = СпрНом.ПолнНаименование;
    //  Состояние(сч);  
    Сообщить(СпрНом.РеквВесОсновной);
    
    // КонецЦикла;
    КонецЦикла;
    КонецПроцедуры
    Тут МД-ник выложил
    http://speedy.sh/msHMN/1cv7.rar
    Код:
    http://speedy.sh/msHMN/1cv7.rar
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Как я и предполагал это вес единицы измерения ТМЦ.
    В документе можно обратится так: Единица.Вес
  9. TopicStarter Overlay
    dmitry1-irk38
    Offline

    dmitry1-irk38 Опытный в 1С

    Регистрация:
    10 окт 2012
    Сообщения:
    102
    Симпатии:
    0
    Баллы:
    26
    Нет мне нужен Вес ТМЦ, из справочника номенклатура. Я извлекаю все элеенты табличной части документа Реализация, потом выделяю номенклатуру и из этого элемента выделяю его вес
    т.е так что ли?
    Код:
    Процедура ПриОкончанииРедактированияГрузчик()  
    СпрНом = СоздатьОбъект("Справочник.Номенклатура");
    СпрНом.ИспользоватьДату(ТекущаяДата());
    СпрНом.ПорядокКодов();
    Сообщить("ПриОкончанииРедактированияГрузчик()");
    Сообщить(ТекущийДокумент());
    ДокР = ТекущийДокумент();
    ДокР.ВыбратьСтроки();
    Пока ДокР.ПолучитьСтроку()=1 Цикл
    СпрНом = ДокР.Номенклатура;
    ДокР.Тоннаж = ДокР.Количество;	
    
    // Сообщить(ДокР.Единица.Вес);
    Сообщить(СпрНом.Единица.Вес);
    
    КонецЦикла;
    КонецПроцедуры
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Или я дурак, или *опа с двумя буквами "п" пишется...
    Единица.Вес это и есть ваш искомый реквизит РеквВесОсновной
  11. TopicStarter Overlay
    dmitry1-irk38
    Offline

    dmitry1-irk38 Опытный в 1С

    Регистрация:
    10 окт 2012
    Сообщения:
    102
    Симпатии:
    0
    Баллы:
    26
    блин не получает его получить ((

    Код:
     ДокР = ТекущийДокумент();
    ДокР.ВыбратьСтроки();
    Пока ДокР.ПолучитьСтроку()=1 Цикл
    СпрНом = ДокР.Номенклатура;
    ДокР.Тоннаж = ДокР.Количество;	
    
    СпрЕд=СоздатьОбъект("Справочник.Единицы");
    СпрЕд.ИспользоватьВладельца(ДокР.Номенклатура); 
    
    Сообщить("Вес = "+СпрЕд.Вес); 
    
    // Сообщить(СпрНом.Единица.Вес);
    
    КонецЦикла;
    Вес выдает 0, а там не ноль в документе реализация, подскажите пожалуйста, как мне все таки достать вес? ((
  12. TopicStarter Overlay
    dmitry1-irk38
    Offline

    dmitry1-irk38 Опытный в 1С

    Регистрация:
    10 окт 2012
    Сообщения:
    102
    Симпатии:
    0
    Баллы:
    26
    Вроде разобрался
    Код:
     Пока ДокР.ПолучитьСтроку()=1 Цикл
    СпрНом = ДокР.Номенклатура;
    ДокР.Тоннаж = ДокР.Количество;	
    
    СпрЕд=СоздатьОбъект("Справочник.Единицы");
    СпрЕд.ИспользоватьВладельца(ДокР.Номенклатура); 
    
    // Сообщить("Коэфициент = "+СпрЕд.Коэффициент);
    Сообщить("Коэфициент2 = "+Единица.Коэффициент);
    
    // Сообщить(СпрНом.Единица.Вес);
    
    КонецЦикла;
    Спасибо :) У меня вес записан почему-то в Единицы.Коэффициент
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Да не так надо!
    Вот ваш код
    Код:
    Пока ДокР.ПолучитьСтроку()=1 Цикл
    Сообщить(ДокР.Единица.Вес);
    КонецЕсли;
    
  14. TopicStarter Overlay
    dmitry1-irk38
    Offline

    dmitry1-irk38 Опытный в 1С

    Регистрация:
    10 окт 2012
    Сообщения:
    102
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, еще один вопрос по ТиС 7.7 версии 9.2. Реализую задачу учета тоннажа грузчиков, в документ Реализация в табличную часть добавил реквизиты, грузчик и тоннаж. Оператор в проведенном документе из накладной устанавливает грузчика из справочника физические лица, при сохранении некоторых реализаций возникает ошибка "На складе нет нужного свободного количества ТМЦ" (см. прикрепленный файл).
    Вопрос: Мы же просто добавили грузчика в табличную часть, зачем обращаться на склад?
    Внешняя обработка проходит все документы Реализации за выбранный период, рассчитывает тоннаж и записывает в табличную часть, значение, потом записывает документ, возможны ли изменения на складе, документ перепроводится?

    Вложения:

  15. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    просто у вас что-то изменили задним числом... Просто пример:
    Поступило 8 карандашей. В Реализации №1 отгрузили 5. В реализации №2 отгрузили 3.
    Потом зашли в №1 и изменили 5 на 6. Конечно после этого №2 не проведется. Хотя до этого была проведена без ошибки.
  16. TopicStarter Overlay
    dmitry1-irk38
    Offline

    dmitry1-irk38 Опытный в 1С

    Регистрация:
    10 окт 2012
    Сообщения:
    102
    Симпатии:
    0
    Баллы:
    26
    Может быть это резервирование у них? И как это побороть, что сделать, а то вся идея рушится с подсчетом тоннажа (((
  17. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Если тоннаж пишется в регистр - только в константах отключить контроль отрицательных остатков: самый плохой вариант. Себестоимость летит к чертям.
    Если просто нужно хранить реквизит - зачем в обработке заполнения не нужно проводить документ.
  18. TopicStarter Overlay
    dmitry1-irk38
    Offline

    dmitry1-irk38 Опытный в 1С

    Регистрация:
    10 окт 2012
    Сообщения:
    102
    Симпатии:
    0
    Баллы:
    26
    У меня кладовщик берет накладную и уже в проведенную Реализацию вносит в табличную часть грузчика, при сохранении возникает данная ошибка :( т.е такой порядок работы.
    Себестоимость полетит? ммм. плохо
  19. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Она и так уже у вас явно не в порядке...
    На копии восстановите последовательность БД. Убедитесь что у вас там явный бардак..

    +права думаю нужно перенастроить чтобы не было искушения менять ранее проведенные документы.
    +почаще пользоваться датой запрета редактирования (также отобрать права у всех кроме ГБ и зама). Иначе порядка не будет.
  20. TopicStarter Overlay
    dmitry1-irk38
    Offline

    dmitry1-irk38 Опытный в 1С

    Регистрация:
    10 окт 2012
    Сообщения:
    102
    Симпатии:
    0
    Баллы:
    26
    "только в константах отключить контроль отрицательных остатков: самый плохой вариант. Себестоимость летит к чертям.
    "Это получается единственный путь лечения этой проблемы для меня? А последствия на работоспособности скажется? Они не особо используют ее для ценообразования, так чисто обороты, складской учет

Поделиться этой страницей