8.х Регистр сведений и запись в отдельное поле

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Bambrlog, 15 мар 2010.

  1. TopicStarter Overlay
    Bambrlog
    Offline

    Bambrlog Опытный в 1С

    Регистрация:
    7 июл 2009
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    Я немного доработал справочник номенклатура, добавил новый реквезит "Весы" (Тип Данных: СправочникСсылка.Весы). Перед этим создал справочник для" Весов" который сождержит всего 2 поля код и наименование.
    Далее в Регистре сведений "КодыВесовогоТовара" (непереодический) создал: Измерение "Весы" тип данных.СправочникСсылка.Весы.
    Что хочу получить. При выборе в номенклатуре Весов. Данное значение должно добавляться в Регистр сведений.
    Как создать запись в регистр чтобы при выборе весов данное значение записывалось в колонку "Весы" в Регистре сведений?
    Это необходимо для того чтобы при выгрузке товаров в кассу "Фронтол" касса сама загружала весы по отделам.
    зарание спасибо.
  2. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здратсвуйте!
  3. TopicStarter Overlay
    Bambrlog
    Offline

    Bambrlog Опытный в 1С

    Регистрация:
    7 июл 2009
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    книгу Радченко я читаю, немогли бы, конкретно написать код на моем примере.
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Это не книга радченко была, это был пример из синтаксис помошника. Так если вы книгу читали, напишите хоть что то сами, а мы уже подправим если что не так. Просто получается вы нам что то вроде ТЗ поставили и проите написать, а сами для этого усилий не прикладываете. Откйте то тже синтаксис помошник, там сразу куски кда в примерах есть копируйте вставляйте и правьте. А мы дополним
  5. TopicStarter Overlay
    Bambrlog
    Offline

    Bambrlog Опытный в 1С

    Регистрация:
    7 июл 2009
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    Приношу свои извинения, надо было сразу кинуть мои мысли.
    Изначально я решил запросом получить параметр Весы из Регистра сведений и записать в него текущие данные ЭлементНоменклатуры "Весы"
    Код:
       Запрос = Новый Запрос("ВЫБРАТЬ
    |	КодыВесовогоТовара.Весы КАК Весы
    |ИЗ
    |	РегистрСведений.КодыВесовогоТовара КАК КодыВесовогоТовара
    |ГДЕ
    |	КодыВесовогоТовара.Весы = &Весы");
    
    КодыВесовогоТовара = КодыВесовогоТовара.Колонки.Получить("весы");
    Запрос.УстановитьПараметр("Весы", ТекущиеДанные); 
    НаборЗаписей = РегистрыСведений.КодыВесовогоТовара.СоздатьНаборЗаписей(); 
    
    НаборЗаписей.Прочитать(); 
    Для каждого Запись Из НаборЗаписей Цикл 
    Запись.КодыВесовогоТовара = КодыВесовогоТовара; 
    КонецЦикла; 
    НаборЗаписей.Записать();
    
    
    
    запнулся на параметре "ТекущиеДанные" как передать его.
    Как пришел к такому коду, просто пытался анализировать разные обработки и примеры.
    Полюбому намудрил тут :)
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    1й вопрос в модуле чего вы это пишите?
    2й - КодыВесовогоТовара.Колонки.Получить("весы"); - это я так понимаю вы получаете колонку весов из какой то табличной части? Что за табличнвая часть где распологается.
    И тогда в запросе должно быть
    |ГДЕ
    | КодыВесовогоТовара.Весы В (&Весы)

    т.к у вас весы не 1ни а массив

    3й Текущие данные чего?

    Текущие данные получают всегда например из табличной части их порой и передавать не надо
    Допустим вам надо получить текущие данные табл части КодыВесовогоТовара

    стр=ЭлементыФормы.КодыВесовогоТовара.ТекущиеДанные;
  7. TopicStarter Overlay
    Bambrlog
    Offline

    Bambrlog Опытный в 1С

    Регистрация:
    7 июл 2009
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    Справочник Номенклатура.ЭлементФормы "Весы" процедура "ПриИзминении"

    РегистрСведений.КодыВесовогоТовара. Колонка "Весы"

    Текущие Данные ЭлементаФормы "Весы", в свою очередь элементформы "Весы" берет параметры из СправочникНомекнлатуры.Весы.
  8. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Т.е. вы каждый раз, когда пользователь выбирает весы на форме хоитет добавлять запись в ргеистр Сведений? А представьте что он просто ошибся и решил перевыбрать элемент. Вообще глянть как те же штрих коды реализованны. Ила на краний случай как работает изменеие Фамилил и паспортных данных в справочнике Физ Лиц
  9. TopicStarter Overlay
    Bambrlog
    Offline

    Bambrlog Опытный в 1С

    Регистрация:
    7 июл 2009
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    Задачу решил, все намного проще.
    1. Удалил элемент номенклатуры "весы"
    2. Создал колонку весы в табличном поле "КодыВесовогоТовара"
    3. Добавил строку в процедуре "КодыВесовогоТовараПриНачалеРедактирования"
    Код:
    ТекущиеДанные.Весы     	   = Справочники.Весы;
    
    Все прекрасно работает. Всем спасибо за советы.
  10. TopicStarter Overlay
    Bambrlog
    Offline

    Bambrlog Опытный в 1С

    Регистрация:
    7 июл 2009
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    Изначально задачей стояло автоматическая загрузка весов из кассовых терминалов "фронтол" Т.к. у нас 3 отдела, и разные весы, я разными путями искал способ записать в фаил выгрузки в 24-е поле номер весов. Незнаю правильно или нет, я забил на редактирования РегистраСведений думаю никчему там информация к каким весам принадлежит товар.
    итак подробней:
    1. Создал справочник "Весы" (код5, наименование 25)
    2. В справочнике "Номенклатура" создал элемент "Весы" ссылка.Справочник.Весы.
    3. Отредактировал внешную обработку [query]ATOLCashierECROffline_v2[/query]
    немного доработал Функция ВыгрузитьТовары:
    Код:
    	////Весы
    Весы = Товар.Номенклатура.Весы;
    Если Товар.Номенклатура.Весы = Справочники.Весы.НайтиПоКоду("00001")
    Тогда
    Весы = 1;
    ИначеЕсли Товар.Номенклатура.Весы = Справочники.Весы.НайтиПоКоду("00002")
    Тогда
    Весы = 2;
    ИначеЕсли Товар.Номенклатура.Весы = Справочники.Весы.НайтиПоКоду("00003")
    Тогда
    Весы = 3;
    КонецЕсли;
    //////Весы
    
    Дале
    Код:
    + Весы													+ мРазделитель
    
    Таким образом измения в номенклатуре весы мы можем выгружать в разные отделы. Я не претендую на правильность моего решения, может оно и не "кашерное". С удовольствием выслушую мнения или другие решения на данную тему. А так может кому пригодится. Всем спасибо за советы.

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