7.7 Поменять значение в подчиненном справочнике

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем Николай7, 31 авг 2016.

  1. TopicStarter Overlay
    Николай7
    Offline

    Николай7

    Регистрация:
    16 июл 2014
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    В справочнике номенклатура при нажатие на кнопку нормы появляется подчиненный справочник расклады. В нем есть таблица значений. В зависимости от вида перечислений и нормы есть колонка с количеством. Мне надо подцепиться к этому количеству и записать другое значение.
    Код:
        Перем КонтФрм,КонтРас;
        СпрНом = СоздатьОбъект("Справочник.Номенклатура");
        СпрРасклад = СоздатьОбъект("Справочник.Расклады");
        Табл.ВыбратьСтроки();
        Пока Табл.ПолучитьСтроку() = 1 Цикл
            СпрНом.НайтиПоКоду(Табл.Код);
            ТекущийЭлемент = СпрНом.ТекущийЭлемент();
       
            ОткрытьФорму("Справочник.Расклады",КонтФрм);
            КонтФрм.ИспользоватьВладельца(ТекущийЭлемент,0);
        СпрРасклад.ВыбратьЭлементы();
        Пока КонтФрм.ВыбратьЭлементы() = 1 Цикл
            Если КонтФрм.ВидСырья = Перечисление.ВидСырьяПриОбмене.Сырье Тогда
    
    Так вот загвоздка в том, что не могу получить значения этой таблица значений, спозиционироваться на нужном мне реквизите(значение колонки) Хотел через родителя выйти к данным. Не получилось.
    --- Объединение сообщений, 31 авг 2016 ---
    подчиненный справочник , который получил, он мне первую строчку табличной части выдает. Перебрать строчки не получается.
    Надо заметить, что Таб.Код берется из екселевского файла и значение которое надо поменять от туда же. Как спозиционироваться на колонке? подскажите
    База самописная.

    Вложения:

    Последнее редактирование: 31 авг 2016
  2. TopicStarter Overlay
    Николай7
    Offline

    Николай7

    Регистрация:
    16 июл 2014
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Как лучше подступиться? Через номенклатуру подчиненный справочник расклады или через справочник расклады к родителю справочник номенклатура.
  3. Хряк
    Offline

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

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    хмм, может и поменять в экселевском файле

    и, да, выложи конфу
    на худой конец кусок кода, где заполняется ТЗ
  4. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    405
    Симпатии:
    71
    Баллы:
    54
    Здравствуйте.
    А зачем Вам открывать форму подчиненного справочника? В любом случае, сначала установите владельца, а уже потом работайте с подчиненным справочником.
  5. TopicStarter Overlay
    Николай7
    Offline

    Николай7

    Регистрация:
    16 июл 2014
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Еще раз, может неправильно сформулировал.

    Есть екселевский документ, в нем 2 колонки. первая колонка код справочника номенклатура, вторая значение в колонке подчиненного справочника. а именно открываю справочник номенклатура. Нажимаю на кнопку нормы появляется форма, в которой есть колонка "Норма" в ней строчка "норма времени" в этой строчке в колонке "Количество" стоит число. Именно это число и есть значение которое должно быть изменено на число из второй колонки.
    Т.е. у справочника номенклатура есть подчиненный справочник Расклады, который открывается при нажатии на кнопку нормы.

    С екселевским файлом все нормально, получая поля, заполняю таблицу значений.
    --- Объединение сообщений, 9 сен 2016 ---
    Я уже тоже пришел к этому выводу. Занят другим был. Появилось время, решил доделать.
    Последнее редактирование: 9 сен 2016
  6. TopicStarter Overlay
    Николай7
    Offline

    Николай7

    Регистрация:
    16 июл 2014
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Сделал. Может кому понадобится. Спозиционировался на подчиненном справочнике. Получил вид расчета(сырья). Получил значение. Установил значение.
    Код:
    СпрНом.НайтиПоКоду(1колонка);
            ТекущийЭлемент = СпрНом.ТекущийЭлемент();
    СпрРасклад.ИспользоватьВладельца(ТекущийЭлемент);
            СпрРасклад.ВыбратьЭлементы();
    Пока СпрРасклад.ПолучитьЭлемент()=1
    Цикл   Если СпрРасклад.ВидСырья = Перечисление.ВидСырьяПриОбмене.Сырье Тогда Если СпрРасклад.Сырье.Получить(РабочаяДата()) = НормаВремени
    Тогда СпрРасклад.Колич.Установить(2колонка);
Похожие темы
  1. MrTrue
    Ответов:
    1
    Просмотров:
    648
Загрузка...

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