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

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

  Все выпуски  

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


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

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

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

Выпуск № 732
от 18.02.2008, 13:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 383, Экспертов: 49
В номере:Вопросов: 7, Ответов: 18

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


Вопрос № 122843: Добрый День Уважаемые Эксперты! Подскажите как можна отлавливать событие Печать! Задача: Если документ уже напечатан то во все последующих копиях в фоне выводится "КОПИЯ" Спасибо! ...
Вопрос № 122919: Здравствуйте уважаемые эксперты. 1С бухгалтерия 7.7. Вношу изменения в конфигурацию. Нужно при подборе, вместо стандартного окошка "Введите количество" поставить свою обработку пересчета товара на разные единицы измерения....
Вопрос № 122927: Здравствуйте уважаемые эксперты. 1С бухгалтерия 7.7. Создаю на основе счета накладную. При создании нужно отследить, есть ли еще накладные, созданные на основании этого счета. ...
Вопрос № 122931: Здравствуйте уважаемые эксперты! 7.7 Бухгалтерия. Как можно реализовать контроль уникальности ИНН контрагента, за исключением выборки всех элементов? найти по реквизиту не подходит ведь? т.к. в ИНН ещё и КПП пишется...
Вопрос № 122936: Вопрос по версии 7.7 1) Какие возможности появляются при снятии флажка "Автоматическое удаление движений" при редактировании свойств вида документов и описания структуры, или почему хорошо или плохо применять в Процедуре ОбработкаП...
Вопрос № 122939: Здравствуйте! Ответьте, пожалуста, на вопрос по 8.0. Есть СписокЗначений, куда заброшены названия всех документов, как они зыданы в конфигураторе. Пользователю дана возможность выбрать конкр етный документ. Как по выбранному документу сделать цыкл? (П...
Вопрос № 122945: Здравствуйте уважаемые эксперты. У меня возникла проблемка с ПланомОбмена (вопрос по УПП 8.1). Дело в том что из главного узла хотелось бы передавать не все подряд изменения в базе,а только по определенным подсистемам (т.е. все что касается произ...

Вопрос № 122.843
Добрый День Уважаемые Эксперты!
Подскажите как можна отлавливать событие Печать!
Задача: Если документ уже напечатан то во все последующих копиях
в фоне выводится "КОПИЯ"
Спасибо!
Отправлен: 12.02.2008, 17:25
Вопрос задал: Metelskij (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Крюков Р.А.
Здравствуйте, Metelskij!

Предлагаю такое решение в реквизиты шапки документа добавить реквизит "Копия" с возможными значениями 1 и 0 в модуле формы процедуре печати прописать

блок
Если Копия=1 Тогда
..... //вывести секцию "Копия"
КонецЕсли;
.....
.....
Копия=1;
КонецПроцедуры; // Печать

при распроведении можно скидывать флажок в 0

---------
Отвечаю только на вопросы в тему.
Ответ отправил: Крюков Р.А. (статус: 3-ий класс)
Ответ отправлен: 12.02.2008, 17:55

Отвечает: Кулевский Сергей Владимирович
Здравствуйте, Metelskij!
Если 8.x, то можно создать свойство у объекта и при печати его проверять заполнено или нет.
Ответ отправил: Кулевский Сергей Владимирович (статус: 2-ой класс)
Ответ отправлен: 12.02.2008, 19:20
Оценка за ответ: 5

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

1. В версии 7.7 это событие не отлавливатся 100%.
2. Иногда документ надо перепечатать, так чтоб был еще один экземпляр чистый и последующие "КОПИЯ" (предыдущие соответственно изничтожить). Так что все равно пользователь будет решать, когда оригинал печатать, а когда копию.
---------
В творчестве рождается истина
Ответ отправил: Сергей Максименко [Elric] (статус: Профессионал)
Украина, Киев
Тел.: (044) 22-88-369
Организация: МАКСЕР, "1С:Предприятие" в Киеве
Адрес: г. Киев
WWW: www.makser.com.ua
----
Ответ отправлен: 13.02.2008, 01:31
Оценка за ответ: 5

Отвечает: Ahab
Здравствуйте, Metelskij!

Пользователь мог просто вывести на экран печатную форму и закрыть её без печати.

как вариант может насильно заставлять пчатать один экземпляр отправляя его сразу на принтер (см. описание Напечатать()), а остальные оказывать на экране с пометкой "копия",
но опять же кто гарантирует что с принтером всё впорядке, что его не выкинут просто, ну и прочее..
хотя тут опять же простор для фантазии - можно завести лог-файл куда записывать кто какой документ печатал и спрашивать с него за потерянные экземпляры..

а штатных средств в 7.7 как уже говорилось - нету... сам бы хотел :)
Ответ отправил: Ahab (статус: 4-ый класс)
Ответ отправлен: 13.02.2008, 03:51
Оценка за ответ: 5


Вопрос № 122.919
Здравствуйте уважаемые эксперты.
1С бухгалтерия 7.7. Вношу изменения в конфигурацию. Нужно при подборе, вместо стандартного окошка "Введите количество" поставить свою обработку пересчета товара на разные единицы измерения.
Отправлен: 13.02.2008, 08:08
Вопрос задал: Александр Павлович (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Strawberry
Здравствуйте, Александр Павлович!
Если подбор из формы списка то пользуем процедуру

Процедура ПриВыбореСтроки()
КонецПроцедуры
Синтаксис:
ПриВыбореСтроки()
Назначение:
Предопределенная процедура при выборе строки списка.
Замечание:
Режим обработки выбора строки (двойной щелчок мыши или клавиша Enter) предопределенной процедурой ПриВыбореСтроки включается в форме списка справочника, журнала документов, счетов, журнала операций, журнала проводок при помощи метода Форма.ОбработкаВыбораСтроки(1). Данная процедура может располагаться только в программном модуле формы.

---------
Мальчик-извращенец прочел деду Морозу с табуретки всего Пастернака!
Ответ отправил: Strawberry (статус: Студент)
Ответ отправлен: 13.02.2008, 10:04
Оценка за ответ: 5


Вопрос № 122.927
Здравствуйте уважаемые эксперты.
1С бухгалтерия 7.7. Создаю на основе счета накладную. При создании нужно отследить, есть ли еще накладные, созданные на основании этого счета.
Отправлен: 13.02.2008, 09:45
Вопрос задал: Александр Павлович (статус: 1-ый класс)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Strawberry
Здравствуйте, Александр Павлович!
В Процедура ВводНаОсновании(ДокОснование) в накладной добавляем код см. пприложение

Приложение:

---------
Мальчик-извращенец прочел деду Морозу с табуретки всего Пастернака!

Ответ отправил: Strawberry (статус: Студент)
Ответ отправлен: 13.02.2008, 10:18
Оценка за ответ: 5
Комментарий оценки:
Вроде бы все и просмотрел, но наверное под утро уже плохо соображал.
Стандартная процедура.

Отвечает: Ушаков Михаил Андреевич
Здравствуйте, Александр Павлович!
Посмотрите справку по методу ВыбратьПодчиненныеДокументы(). Если не понятно, уточните, что не получится :с)
Какой результат Вам нужен? Если открыть форму существующего документа на основании, то ввод на основании придется делать отдельной процедурой документа Счет, где выбирать подчиненные документы и получать существующую накладную. Если просто необходимо отследить уже выписанный товар и сумму из счета, то метод ВыбратьПодчиненныеДокументы() нужно вызывать в модуле формы новой накладной в процедуре ВводНаОсновании(ДокОсн) применительно к документу-основанию, т.е. ВыбратьПодчиненныеДокументы(,,ДокОсн) и в цикле по полученным документам анализировать существующие документы вида "Накладная"
Ответ отправил: Ушаков Михаил Андреевич (статус: 2-ой класс)
Ответ отправлен: 13.02.2008, 10:18
Оценка за ответ: 5

Отвечает: Ahab
Здравствуйте, Александр Павлович!
Для этого в в создаваемой накладной должен быть реквизит типа "Документ" в который при создании накладной будет занесён документ основание (счёт в данном случае)
РасхНакл.ДокСчёт = ТекущийДокумент(); при создании расх. накладной в процедуре ВводНаОсновании().

1С позволяет получать документы, имеющие реквизиты - ссылки на указанный документ
Док = СоздатьОбъект("Документ");
Док.ВыбратьПодчинённыеДокументы(ТекДок);
Пока Док.ПолучитьДокумент() = 1 Цикл
// тут обрабатываем документы в которых есть реквизит ссылка на ТекДок
КонецЦикла;

т.е. при попытке создания расх. накладной ещё раз, нужно будет выбрать документы подчинённые текущему, и при наличии таковых совершить нужные действия :)
Ответ отправил: Ahab (статус: 4-ый класс)
Ответ отправлен: 13.02.2008, 10:23
Оценка за ответ: 5

Отвечает: Крюков Р.А.
Здравствуйте, Александр Павлович!
Воспользуйтесь методом ВыбратьПодчиненныеДокументы

Приложение:

---------
Отвечаю только на вопросы в тему.

Ответ отправил: Крюков Р.А. (статус: 3-ий класс)
Ответ отправлен: 13.02.2008, 10:24
Оценка за ответ: 5

Отвечает: Кулевский Сергей Владимирович
Здравствуйте, Александр Павлович!
Скорее всего запросом и проверять в условии запроса "документОснование" и тип полученной ссылки
Ответ отправил: Кулевский Сергей Владимирович (статус: 2-ой класс)
Ответ отправлен: 13.02.2008, 11:38


Вопрос № 122.931
Здравствуйте уважаемые эксперты! 7.7 Бухгалтерия. Как можно реализовать контроль уникальности ИНН контрагента, за исключением выборки всех элементов? найти по реквизиту не подходит ведь? т.к. в ИНН ещё и КПП пишется
Отправлен: 13.02.2008, 10:09
Вопрос задала: Darina (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ушаков Михаил Андреевич
Здравствуйте, Darina!
Создайте справочник "ИНН", с длиной кода 12 символов и введите уникальность по коду. Как вариант :с)
Ответ отправил: Ушаков Михаил Андреевич (статус: 2-ой класс)
Ответ отправлен: 13.02.2008, 10:21
Оценка за ответ: 3
Комментарий оценки:
Хотелось бы дополнительных изменений в справочнике

Отвечает: DERL.KG
Здравствуйте, Darina!
Только при записи проверять записываемый ИНН на существование...
в процедуре ПриЗаписи()
Ответ отправил: DERL.KG (статус: 8-ой класс)
Ответ отправлен: 13.02.2008, 10:40

Отвечает: Ahab
Здравствуйте, Darina!

Как вариант:
Разделить ИНН и КПП на 2 реквизита.
Реквизиту ИНН установить свойство Сортировка, и при записи отбирать по нему элементы и проверять то что нужно.

Однако замечу что у филиалов тот же ИНН что и у головного офиса, но другой КПП, т.е. уникальности записей в справочнике контрагентов одной проверкой ИНН не добиться.
Ответ отправил: Ahab (статус: 4-ый класс)
Ответ отправлен: 13.02.2008, 10:53

Отвечает: Кулевский Сергей Владимирович
Здравствуйте, Darina!
1) Если у вас представление: "ИНН/КПП"
Разбиратьстроку до символа "/" и искать и сравнивать по полученной подстроке
2) Если есть разделить вообще
Тем же способом,что и 1)
3) Если нет разделителя,
Анализировать подстроку до 13 символа включительно(длинна ИНН)
Ответ отправил: Кулевский Сергей Владимирович (статус: 2-ой класс)
Ответ отправлен: 13.02.2008, 11:36

Отвечает: Полозов Олег aka Asher
Здравствуйте, Darina!

Возможно поможет запрос, что то типа вот такого:
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|ИНН = Справочник.Контрагенты.ИНН;
|Группировка ИНН;
|Условие(ТекИНН в ИНН);
|"//}}ЗАПРОС

Суть - проверить вхождение подстроки ТекИНН в строку ИНН, если условие выполняется, значит такой ИНН уже существует, иначе можно записывать элемент.

Ответ отправил: Полозов Олег aka Asher (статус: Студент)
Ответ отправлен: 14.02.2008, 07:50


Вопрос № 122.936
Вопрос по версии 7.7

1) Какие возможности появляются при снятии флажка "Автоматическое удаление движений" при редактировании свойств вида документов и описания структуры, или почему хорошо или плохо применять в Процедуре ОбработкаПроведения() механизм явного удаления движений документа по регистрам.
2) Как влияет на быстродействие системы (формирование отчетов) размер одной записи регистра при увеличении числа Измерений и Ресурсов, если я использую только 1 измерение - ссылку на элемент справочника карточки ОС, а в запросе использую ОстатСтоимость = Регистр.ОстаткиОС.ОснОС.Стоимсоть;
Конкретнее, меня волнует размер таблицы (DBF и CDX файлов) и в частности размер одной записи: т.е. чем больше у меня будет число измерений и ресурсов, тем длиннее будет запись таблицы и индексный файл, а следовательно и сама таблица (DBF, CDX) - регистр. При каких размерах (в Мб таблицы) регистра вы стали замечать в своей пактике увеличение времени формирования запрос ов на данных этого регистра



-----


∙ Отредактировал: Сергей Максименко [Elric] (Профессионал)
∙ Дата редактирования: 14.02.2008, 12:36


дополнил вопрос из мини-форума
-----
∙ Отредактировал: Сергей Максименко [Elric] (Профессионал)
∙ Дата редактирования: 14.02.2008, 12:37

Приложение:

Отправлен: 13.02.2008, 10:38
Вопрос задал: Виталий (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 4)

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

Вопросы, я так понимаю, по версии 7.7.

1) Вы получаете преимущества при перепроведении документов. Например, если Вам необходимо перерассчитать себестоимость при списании и нет необходимости при этом трогать взаиморасчеты, то Вы удаляете только движения регистра Партии и формируете их заново, в проводках тоже выбираете какие оставлять и какие заменять. Соответственно, обратная независимость тоже соблюдается.
2) Я не отслеживал размер таблиц и при каком размере начинается замедление. На мой взгляд, здесь нужен немного иной подход.
Вы строите информационную модель. Вам в любом случае нужно хранить необходимую информацию и делать запросы к ней. Следовательно, вопрос лишь в том, какой механизм быстрее, а не с какого этапа будет замедление. Достаточно не хранить избыточную информацию. А запросы к регистрам одни из самых быстрых в системе 1С:Предприятие 7.7.
---------
В творчестве рождается истина
Ответ отправил: Сергей Максименко [Elric] (статус: Профессионал)
Украина, Киев
Тел.: (044) 22-88-369
Организация: МАКСЕР, "1С:Предприятие" в Киеве
Адрес: г. Киев
WWW: www.makser.com.ua
----
Ответ отправлен: 14.02.2008, 02:28


Вопрос № 122.939
Здравствуйте! Ответьте, пожалуста, на вопрос по 8.0. Есть СписокЗначений, куда заброшены названия всех документов, как они зыданы в конфигураторе. Пользователю дана возможность выбрать конкретный документ. Как по выбранному документу сделать цыкл? (Проблема в том, что каждый раз можно выбирать разные документы.) Заранее спасибо.
Отправлен: 13.02.2008, 10:58
Вопрос задал: М.Денис (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Яна
Здравствуйте, М.Денис!
Есть замечательный оператор Выполнить(<Выражение>);
Он Вас спасет. С помощью него можно сначала выбрать все необходимые документы, а потом их перебрать.
Нужно написать что-то типа:
Выборка=0;
Выполнить("Выборка=Документы."+ИмяДокументаВКонфигураторе+".Выбрать()");
Потом можно выборку обычным циклом обходить.

добавил последнюю кавычку
-----
∙ Отредактировал: Сергей Максименко [Elric] (Профессионал)
∙ Дата редактирования: 14.02.2008, 02:17
Ответ отправила: Яна (статус: Практикант)
Ответ отправлен: 13.02.2008, 12:55
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо!!! Прекрасно работает! Просто и красиво.


Вопрос № 122.945
Здравствуйте уважаемые эксперты.
У меня возникла проблемка с ПланомОбмена (вопрос по УПП 8.1). Дело в том что из главного узла хотелось бы передавать не все подряд изменения в базе,а только по определенным подсистемам (т.е. все что касается производства и т.п. переносить, а управление з/п, розничная торговля и т.п. игнорировать).
На закладке "Состав" плана обмена я выбрала необходимые лишние объекты и поставила им "запретить авторегистрацию", выполнила в режиме предприятия запись изменений основной базы и прочитала эти изменения в базе-образе. Но перенеслись вс-таки все изменения.
Я нашла также что в модуле нашего плана обмена отсутствует процедура ПриОтправкеДанныхПодчиненному. Неужели все-таки в ней мне теперь надо прописывать все те объекты, которые не нужно отправлять? Или есть какой-то другой способ? Если даже и необходимо все-таки в ней, то может есть какая-то возможность сослаться на набор объектов, которые я определила на закладке "Состав"?
Отправлен: 13.02.2008, 11:40
Вопрос задала: 2kasandra (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Яна
Здравствуйте, 2kasandra!
1. При отключении авторегистрации, ранее зарегистрированные изменения не удаляются, поэтому они попали в подчиненную базу.
В дальнейшем это вряд ли будет происходить.
2. Регистрация изменений может происходить не только автоматически, а и вручную в модулях передаваемых объектов в процедуре ПередЗаписью, а также методом ЗарегистрироватьИзменения. Очищать таблицу регистрации изменений тоже можно вручную. Почитайте хотя бы синтакс-помощник.
3. Свои желания и действия рекомендую соизмерять со знанием платформы и пониманием механизмов работы обмена.
Например, а что будет в этом случае с регистрами: ПартииТоваровНаСкладах, ТоварыНаСкладах и пр.?
Еще нужно не забывать о последовательностях.
Рекомендую приобрести и почитать книгу "Профессиональная разработка в системе 1С:Предприятие 8" хотя бы главу про обмен.
Ответ отправила: Яна (статус: Практикант)
Ответ отправлен: 13.02.2008, 12:51


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

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

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

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

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

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


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


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

В избранное