Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 692
от 01.01.2008, 11:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 387, Экспертов: 42
В номере:Вопросов: 5, Ответов: 11

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 116021: Уважаемые эксперты, у меня такой вопрос ... Как можно выгрузить в таблицу значений справочник с номенклатурой с иерархией ... и чтобы например у каждой номенклатуры есть реквизит тип булево ... так вот чтобы при изменении влага у группы в таблице...
Вопрос № 116031: Здравствуйте уважаемые эксперты. 1с77. Конфигурация самописная на регистрах, не я писал. Нужно выгрузить остатки по складах во внешний файл. Как получить остатки на определенную дату. Просто остатки я получаю функцией: ТМЦ_ДБФ.Tri = Регистр....
Вопрос № 116041: Здравствуйте уважаемые эксперты. 1с77. Необходимо подсчитать сумму у определенных льготчиков (с одинаковым счетом но прибавлять надо ктому льготчику у которого они проживают (для етого есть кодЛьгот) и количество этих льготчиков, и выгрузить выэтуже ...
Вопрос № 116072: Люди, помогите!!! Каким образом прикрепить список значений к конкретному элементу табличной части документа. Объясняю ситуацию. Нужно присвоить серийники позициям Номенклатуры, при том, что выбор конкретных серийников в табличной части напр...
Вопрос № 116130: Доброе утро/день/вечер/утра вечера мудренее. Вопрос хоть и косвенно относится к 1С, но всё-таки я его задам. Есть 1С 7.7 dbf версия (Торговля), но нет операционной системы. Решили, дабы экономить денежки поставить Linux Mandriva One на все ко...

Вопрос № 116.021
Уважаемые эксперты, у меня такой вопрос ...
Как можно выгрузить в таблицу значений справочник с номенклатурой с иерархией ... и чтобы например у каждой номенклатуры есть реквизит тип булево ... так вот чтобы при изменении влага у группы в таблице значений менялись флаги у всех элементов группы ....
Поделитесь опытом ... примерчиками ... может кто нить так делал ...
Спасибо.
Отправлен: 26.12.2007, 11:18
Вопрос задал: Bvg82 (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Dmitry Stashenko
Здравствуйте, Bvg82!

Все зависит от поставленной задачи. Можно, например, так: ТаблицаЗначений со следующими колонками: КодЭлемента, КодРодителя, Реквизиты элемента, БулевыйРеквизит. Соответственно КодЭлемента - Код, КодРодителя - Родитель.ПолныйКод(), Реквизиты элемент - реквизиты элемента справочника (или может быть ссылка на сам элемент, зависит от того, что вообще нужно сделать), БулевыйРеквизит - собственно булевый реквизит. Иерархия будет прослеживаться исходя из кода родителя. При смене флага у группы процедура перебирает ТаблицуЗначений, и если КодРодителя (в ТаблицеЗначений) = ПолныйКод() (группы), то обновляет значение в ТаблицеЗначений.

Было бы лучше, если бы сказали, что конкретно надо сделать. Удачи
Ответ отправил: Dmitry Stashenko (статус: Студент)
Ответ отправлен: 26.12.2007, 20:35
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ ... надо чтобы это выглядело визуально хорошо типа как у иерархического справочника номенклатура ... А сделать нужно следующее:
При открытии таб. часть заполняется только номенклатурой – список номенклатуры с учетом иерархии. По кнопке Заполнить заполняются флажки из номенклатуры. Пользователь устанавливает или снимает значения флажков, причем, если изменяет значение флажка у группы – изменяется на такое же значение флажок у всех подчиненных элементов!!!
Потом флажки записываются в номенклатуру

Отвечает: Яна
Здравствуйте, Bvg82!
1. Не путайте ТаблицуЗначений - тип данных с элементами управления.
У ТаблицыЗначений сами по себе флаги не меняются.
2. ПриИзменении флажка у группы, нужно выбрать все элементы этой группы, почитайте в синтакс-помощнике про метод выбрать(см. вложение) у справочника, а затем перебрать в цикле результат выборки и у каждого элемента проставить признак.
3. С точки зрения методологии учета лучше подобными вещами не увлекаться. Лучше пользоваться регистрами сведений. И незачем совершенно признаки всякие в справочники вставлять. Если есть возможность посмотрите в типовой бухгалтерии регистр сведений СчетаУчетаНоменклатуры. Как используется и для чего предназначен. Куда проще, понятнее, быстрее работает, чем перезаписывать целую группу номенклатуры, лучше добавить/изменить одну строку в регистре.

Приложение:

Ответ отправила: Яна (статус: Студент)
Ответ отправлен: 27.12.2007, 10:36

Отвечает: Ovr1970
Здравствуйте, Bvg82!
Я так делал. Добавил в форме списка справочника галочку "Выполнить со всеми элементами текущего уровня". При установке галочки менял значение глобальной переменной.
При перехвате удаления или переноса в другую группу (Это процедура глобального модуля - "ПриУдаленииЭлемента" (нужно проверять тип справочника) и "ПриПереносеЭлементаВДругуюГруппу") выполнял требуемое действие со всеми элементами.
Если поступить аналогично, перехватив управление в процедуре "ПриЗаписи" - в ней определить реквизит и изменить его у требуемых элементов.
Стоит обратить внимание на то, что в данной процедуре через ТекущийЭлемент().<Реквизит> вы получаете старое значение реквизита, а просто <Реквизит> - новое.
Также имейте в виду, что если Выбран метод редактирования элемента "В диалоге" - то процедура при записи будет отрабатываться в Форме элемента , а не в форме списка справочника.

Недосмотрел, что ве рсия платформы не та, извините.
Ответ отправил: Ovr1970 (статус: Практикант)
Ответ отправлен: 27.12.2007, 14:38
Оценка за ответ: 3
Комментарий оценки:
Вы наверно не совсем поняли вопрос или я не понимаю вашего ответа ... но мне на надо работать со справочником ... мне надо это реаизовать в табличном поле как это реализовано в справочнике ... лучше пример, чтобы от чего то отталкиваться


Вопрос № 116.031
Здравствуйте уважаемые эксперты.
1с77. Конфигурация самописная на регистрах, не я писал. Нужно выгрузить остатки по складах во внешний файл. Как получить остатки на определенную дату. Просто остатки я получаю функцией:
ТМЦ_ДБФ.Tri = Регистр.ПартииТовара.СводныйОстаток(ТМЦ,Склад.ТекущийЭлемент(),,,"ОстатокТовара");
Нужно на определенную дату.
Отправлен: 26.12.2007, 12:08
Вопрос задал: Александр Павлович (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Munster
Здравствуйте, Александр Павлович!
Вам нужно делать запрос.
Пример должен выгружать в таблицу значений остатки на дату ДатаОтчета по складу ВыбСклад.

Приложение:

Ответ отправил: Munster (статус: 9-ый класс)
Ответ отправлен: 26.12.2007, 14:53
Оценка за ответ: 5
Комментарий оценки:
Отлично.

Отвечает: Сергей Максименко [Elric]
Здравствуйте, Александр Павлович!

Еще один вариант решения -- через временный расчет регистров. Пример смотрите в Приложении.

Приложение:

---------
В творчестве рождается истина

Ответ отправил: Сергей Максименко [Elric] (статус: Профессионал)
Украина, Киев
Тел.: (044) 22-88-369
Организация: "МАКСЕР" - продажа и внедрение "1С:Предприятие"
Адрес: г. Киев
WWW: "1С:Предприятие" в Киеве
----
Ответ отправлен: 27.12.2007, 12:31
Оценка за ответ: 5
Комментарий оценки:
спасибо


Вопрос № 116.041
Здравствуйте уважаемые эксперты. 1с77. Необходимо подсчитать сумму у определенных льготчиков (с одинаковым счетом но прибавлять надо ктому льготчику у которого они проживают (для етого есть кодЛьгот) и количество этих льготчиков, и выгрузить выэтуже таблицу или создать новую. Помогите уменя выгружается только один или вобще невыполняет ничего (подсчет суммы и количества льготчиков)!

Приложение:

Отправлен: 26.12.2007, 13:20
Вопрос задал: Козинский Тарас (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Сергей Максименко [Elric]
Здравствуйте, Козинский Тарас!

У Вас проблема в организации цикла по строкам таблицы Табл, когда Вы пытаетесь ее "свернуть". Схематически, это выглядит так:

Табл.ВыбратьСтроки();
Пока Табл.ПолучитьСтроку()=1 Цикл
    Табл.ВыбратьСтроки(); // В этот момент сбивается выборка, Вы "забываете", какую строку обрабатываете во внешнем цикле
    Пока Табл.ПолучитьСтроку()=1 Цикл
    ...
    КонецЦикла;
КонецЦикла;


Самое простое решение -- выгрузить Табл в другую таблицу (скажем, Табл2) и уже в ней искать родственников. Тогда этот участок будет иметь примерно такой вид, как у меня в Приложении.

Приложение:

---------
В творчестве рождается истина

Ответ отправил: Сергей Максименко [Elric] (статус: Профессионал)
Украина, Киев
Тел.: (044) 22-88-369
Организация: "МАКСЕР" - продажа и внедрение "1С:Предприятие"
Адрес: г. Киев
WWW: "1С:Предприятие" в Киеве
----
Ответ отправлен: 27.12.2007, 12:01

Отвечает: Ovr1970
Здравствуйте, Козинский Тарас!
Здравствуйте - у Вас просто ошибка, в вложенном цикле по таблице значений используется цикл по той же таблице значений.

Значительно проще сделать по другому.
Примерно Так:

Приложение:

Ответ отправил: Ovr1970 (статус: Практикант)
Ответ отправлен: 27.12.2007, 14:08


Вопрос № 116.072
Люди, помогите!!! Каким образом прикрепить список значений к конкретному элементу табличной части документа.

Объясняю ситуацию. Нужно присвоить серийники позициям Номенклатуры, при том, что выбор конкретных серийников в табличной части например Расходной, каждой строке соответствует список серийников равный количеству конкретной позиции номенклатуры.
Отправлен: 26.12.2007, 17:52
Вопрос задал: Greyadmin
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Татьяна Ласовская
Здравствуйте, Greyadmin!
Таблицу значений использовать как элемент строки в общем случае нельзя, т.к. для ее хранения в документе используется строка неограниченной длины, а реквизит такого типа использовать в табличной части документа нельзя.
Выход - создаем в конфигураторе обычный документ, состоящий из следующих реквизитов: ссылка на родительский документ (это нужно больше для понимания того, к какому доку относится наш документ) и табличной части с одним реквизитом "Серийный номер". Далее, в исходном документе в табличную часть добавляется реквизит-ссылка на наш свежесозданный документ, в котором мы будем хранить серийные номера, и в этом же исходном документе останется прописать создание нового служебного документа при создании новой строки, его удаление при удалении строки и редактирование при необходимости добавить серийный номера. Отображение информации из дополнительного документа осуществляется с помощью ТаблицыЗначений.
Это идея. Если потребуются пояснения, рада буду ответить _tatiana@mail.ru
Ответ отправила: Татьяна Ласовская (статус: 10-ый класс)
Ответ отправлен: 26.12.2007, 20:53

Отвечает: Dmitry Stashenko
Здравствуйте, Greyadmin!

В свое время мне пришлось делать аналогичное. Кроме того, как завести Справочник.СерийныеНомера с реквизитами Документ, ТМЦ, СерийныйНомер, я ничего придумать не смог. При вводередактированииудалении серийного номера работал со списком значений, который заполнял из Справочника.СерийныеНомера изходя из ТекущегоДокумента и ТМЦ. Потом обновлял сам справочник. Естественно, есть ограничения, например, хотя бы то, что документ перед добавлением сер.номеров должен быть записан, так как иначе нечего будет добавлять в реквизит Документ. Ну и при удалении документа надо отслеживать удаление сер.номеров. Зато легко делается отчет, например, по движению серийного номера. По реквизиту из справочника выбрал элементы, и все, видишь в каких документах он участвовал. Вот где-то так. Удачи
Ответ отправил: Dmitry Stashenko (статус: Студент)
Ответ отправлен: 26.12.2007, 21:01

Отвечает: Сергей Максименко [Elric]
Здравствуйте, Greyadmin!

На форме помещаете элемент диалога "Список значений", присваиваете ему идентификатор Спис (или по Вашему выбору).
Также на форме помещаете объект "Текст", делаете его невидимым, в графе Формула на закладке "Дополнительно" пишете название функции ЗаполнитьСписок() (или по Вашему выбору).
В модуле формы объявляете переменную СтарНомерСтроки, доступную во всех процедурах модуля.
В модуле формы добавляете функцию ЗаполнитьСписок() такую, как у меня в Приложении.
При этом я оставляю за Вами решение, где хранить и брать значения для этого Списка значений :) Это могут быть данные регистра, либо строковый реквизит справочника неограниченной длины и преобразованный потом в список значений (функции ЗначениеВСтроку() и ЗначениеИзСтроки()), либо другой вариант...

Приложение:

---------
В творчестве рождается истина

Ответ отправил: Сергей Максименко [Elric] (статус: Профессионал)
Украина, Киев
Тел.: (044) 22-88-369
Организация: "МАКСЕР" - продажа и внедрение "1С:Предприятие"
Адрес: г. Киев
WWW: "1С:Предприятие" в Киеве
----
Ответ отправлен: 27.12.2007, 12:21


Вопрос № 116.130
Доброе утро/день/вечер/утра вечера мудренее.
Вопрос хоть и косвенно относится к 1С, но всё-таки я его задам.
Есть 1С 7.7 dbf версия (Торговля), но нет операционной системы. Решили, дабы экономить денежки поставить Linux Mandriva One на все компьютеры, да вот только наш любимый 1С не хочет (понятное дело) работать на нём. Вопрос: как организовать работу на линуксе работу 1С, при этом сделать так, чтобы проблем с проверкой лицензий не было (чтобы нам никто не сделал а-та-та). При этом организовать, чтобы все компьютеры работали на одном компе (т.к. база разрастётся со временем до порядочных размеров).
Заранее спасибо.
Отправлен: 27.12.2007, 05:50
Вопрос задал: Vlads_K (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Munster
Здравствуйте, Vlads_K!
Обратитесь в http://www.etersoft.ru/.
Есть программа Wine@Etersoft.
С их помощью я запускал 1С 7.7 под Мандривой, и пользователи могли работать в терминальном режиме.
Вот что я использовал:
сервер:Mandriva 2007, Wine@Etersoft Network, 1С 7.7;
клиент: Windows XP Prof + Xming через XDMCP

Они дают два месяца на тестирование, разумеется бесплатно.
Ответ отправил: Munster (статус: 9-ый класс)
Ответ отправлен: 27.12.2007, 08:48


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.66 от 23.12.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное