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

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

  Все выпуски  

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


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

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

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

Выпуск № 747
от 04.03.2008, 21:05

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

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


Вопрос № 125218: Уважаемые эксперты! Подскажите два вопроса: 1 Не работает функция которая должна проверять введенный со сканера штрихкод на предмет совпадений в табличной части документа. 2 Как лучше организовать ведение лога с необходимыми нам сообщени...
Вопрос № 125221: Добрый день, уважаемые специалисты! Подскажите пжалста, как в комплексной конфигурации 7 написать "Отчет" по движению той или иной позиции за любой период времени. Как создать такой отчет...
Вопрос № 125224: В типовую 1С 8.1 редакция1.5 добавила новый документ Перевод Единиц,у которого есть движения по регистру бухгалтерии,, потом в режиме предприятия не дает посмотреть движения, говорит Поле объекта не обнаружено (ПереводЕдиниц). Установлено,что выз...
Вопрос № 125238: Здравствуйте, уважаемые эксперты! Необходима ваша помощь в следующем: пишу обработку, назначение которой построить любую 2-х мерную замкнутую фигуру по расстояниям между вершинами. Например, треугольник по длинам сторон, или четырехугольник ...
Вопрос № 125304: Здраствуйте дорогие эксперты!! Почти разобралась(благодаря вам) в dbf, но остался ещё вопрос: файл создается, в него сохраняются все суммы, но в столбец TIP выводятся не наименование бюджета(как в отчете), а его код. Как это исправить?Как вывести име...

Вопрос № 125.218
Уважаемые эксперты! Подскажите два вопроса:
1 Не работает функция которая должна проверять введенный со сканера штрихкод на предмет совпадений в табличной части документа.

2 Как лучше организовать ведение лога с необходимыми нам сообщениями программы: как можно делать записи в специально созданный "Системный" журнал? или лучше писать в тхт файл?
Привожу код функции и процедуры:

Приложение:

Отправлен: 28.02.2008, 08:41
Вопрос задал: Vlad Sarkozi (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Strawberry
Здравствуйте, Vlad Sarkozi!

Попробуйте вот так :

Функция ПроверитьКеги(шкод,месс)
флаг=0;
месс="Найдены совпадающие штрихкоды!";
Шкод=СокрЛП(Данные); //данные со сканера
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Если СокрЛП(Штрихкод)=шкод тогда флаг=1; Сообщить(месс); КонецЕсли;
КонецЦикла;
возврат флаг;
КонецФункции
---------
Мальчик-извращенец прочел деду Морозу с табуретки всего Пастернака!
Ответ отправил: Strawberry (статус: Студент)
Ответ отправлен: 28.02.2008, 09:58

Отвечает: Villista
Здравствуйте, Vlad Sarkozi!
На сколько смог разобраться, то выглядеть должно примерно так (обратите внимание на комментарии в тексте!):

////////////////////////////////////////////////////////////////////////////

// Не нужно обьявлять переменные на уровне модуля формы!

///////////////////////////////////////////////////////////////////////////
Функция ПроверитьКеги(шкод)
флаг=0;
месс="Найдены совпадающие штрихкоды!";
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл

Если СокрЛП(Штрихкод)=СокрЛП(шкод) тогда // Реквизит "Штрихкод" здесь и "ШтрихКод" в записи в таблицу - РАЗНЫЕ по написанию! Исправьте где не правильно!

флаг=НомерСтроки;
Сообщить(месс);
КонецЕсли;
КонецЦикла;
возврат флаг;
КонецФункции
////////////////////////////////////
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)

Если ПустоеЗначение(СокрЛП(Данные))=1 Тогда
Сообщить("ОШИБКА !!!!!!!!!!!! Штрихкод не считан !!!!!!!!!!!! "+ТекущееВремя());
Возврат;
КонецЕсли;

НС=ПроверитьКеги(Данные);
Если НС>0 Тогда
Сообщить("Найдены совпадения в строке: "+НС);
// Здесь возможно выход, или корректировка
КонецЕсли;
ВыбратьСтроки();
НоваяСтрока();

ШтрихКод = Строка(Данные); // Реквизит "ШтрихКод" здесь и "Штрихкод" в функции проверки совпадений - РАЗНЫЕ по написанию! Исправьте где не правильно!

Литр = Литраж;
Изготов = Изготовитель;
ГодВып = ГодВыпуска;

Сообщить("Бочка "+Данные+" записана!");

КонецПроцедуры

Ответ отправил: Villista (статус: 1-ый класс)
Ответ отправлен: 28.02.2008, 11:07


Вопрос № 125.221
Добрый день, уважаемые специалисты! Подскажите пжалста, как в комплексной конфигурации 7 написать "Отчет" по движению той или иной позиции за любой период времени. Как создать такой отчет
Отправлен: 28.02.2008, 09:34
Вопрос задал: Дундев Алексей Юрьевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Dmitry Stashenko
Здравствуйте, Дундев Алексей Юрьевич!

Вообще в комплексной конфигурации таких отчетов уже немало есть. Как пример, посмотрите например Оборотно-сальдовую ведомость по счету (это общий отчет, основаный на использовании бухгалтерских счетов, соответственно для отчета по движению товара надо будет выбрать счет учета товаров), или Отчет по остаткам товаров - отчет, основаный на использовании регистров.
Ответ отправил: Dmitry Stashenko (статус: Студент)
Ответ отправлен: 28.02.2008, 10:12

Отвечает: Villista
Здравствуйте, Дундев Алексей Юрьевич!
Мы часто пользуемся отчетом о движении товара по конкретной позиции номенклатуры (я встраивал его в форму справочника номенклатуры, и он выводится по нажатию клавиши (у меня F12 например). Если нужен Файл (.ert) - пишите на villista@inbox.ru я вышлю. Код в приложении для примера запроса, попробуете разобраться? На форме должна быть таблица "Таб1", поля выбора номенклатуры "ТМЦ" (может передаваться в запрос например напрямую из справочника Номенклатуры") и периода "НачДата" и "КонДата". Но это для наглядности. А так получив запрос и обходя группировку "Документ" из него берем сами документы и по номеру строки выводим в красочную (у меня приход, расход и перемещение разными цветами выделены) таблицу количество, сумму, контрагента ну и что еще интересует. Желаю успехов

Приложение:

Ответ отправил: Villista (статус: 1-ый класс)
Ответ отправлен: 28.02.2008, 11:44


Вопрос № 125.224
В типовую 1С 8.1 редакция1.5 добавила новый документ Перевод Единиц,у которого есть движения по регистру бухгалтерии,, потом в режиме предприятия не дает посмотреть движения, говорит Поле объекта не обнаружено (ПереводЕдиниц).
Установлено,что вызывается обработка ручная корректировка, в ней есть процедура, на которой спотыкается
Процедура ЗаполнитьТЧ()

ИмяДокумента = ДокументОбъект.Метаданные().Имя;
ЭтаФорма[ИмяДокумента] = ДокументОбъект;
.....
КонецПРОЦЕДУРЫ
--------------------------------------------
ИмяДокумента =тип строка, название документа возвращает
соответственно и ДокументОбъект.Метаданные().Имя

ДокументОбъект =Перевод единиц 00000000001 от 28.02.2008 11:12:16 -тож вроде нормально

а вот
ЭтаФорма[ИмяДокумента] возвращает {(1)}: Поле объекта не обнаружено (ПереводЕдиниц)
Отправлен: 28.02.2008, 10:04
Вопрос задала: Sholpa (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Яна
Здравствуйте, Sholpa!
Посмотрите список реквизитов формы, возможно, для каждого имени документа есть по реквизиту форму, а для Вашего нового документа такого реквизита нет, в этом случае его нужно создать.
Ответ отправила: Яна (статус: Практикант)
Ответ отправлен: 28.02.2008, 10:14
Оценка за ответ: 5


Вопрос № 125.238
Здравствуйте, уважаемые эксперты!

Необходима ваша помощь в следующем: пишу обработку, назначение которой построить любую 2-х мерную замкнутую фигуру по расстояниям между вершинами. Например, треугольник по длинам сторон, или четырехугольник по длинам сторон и диагоналям. Количество вершин не статично и может менятся от 3 до много-много (хотя на практике наверняка и не будет больше 15, ограничение впринципе не приемлемо, поскольку стремимся к универсальности). Количество необходимых для построения расстояний нужно стремится свести к минимуму (например, для построения четырехугольника кроме длин всех сторон необходима длина одной любой диагонали, а не двух).

Интересуют, собственно, как алгоритмы построения, так и варианты реализации в 1С (хотя понимаю, что 1С наверняка менее всего подходит для реализации, тем не менее это надо сделать именно в 1С).
Отправлен: 28.02.2008, 11:04
Вопрос задал: Dmitry Stashenko (статус: Студент)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Коровин Александр
Здравствуйте, Dmitry Stashenko!
По моему мнению, алгоритмы построения можно взять из геометрического построения фигур. К сожелению, в вопросе слишкрм мало информации для полного совета. Но, на мой взгляд, Вам не обойтись без углов и операций с ними. Могу Вам порекомендовать компоненту к 1С - math.dll, которая позволяет работать с математическими функциями. Если не найдете в Инете информации про нее - пишите на почту. Помогу. Удачи!
Ответ отправил: Коровин Александр (статус: 2-ой класс)
Ответ отправлен: 28.02.2008, 11:24

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

Если это для определения кратчайшего маршрута при доставке товара, то посмотри в гугле "Задача коммивояжёра"
там эта задача с помощью графов решается.
у меня была подобная задача, но я не успел доделать..
Ответ отправил: Ahab (статус: 4-ый класс)
Ответ отправлен: 28.02.2008, 11:24

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Dmitry Stashenko!
Во первых, делать задачу на Н вершин тяжело.
Гораздо проще
Если КоличествоВершин=3 Тогда
строим треугольник
ИначеЕсли КоличествоВершин=4 Тогда
строим 2 треугольника
Для рисования треугольника подойдет объект Диарамма, тип - график, треугольник - три серии точек, четырехуольник - 4 серии точек и т.д.
Для того чтобы провести линию из (10,20) в (30,50) нужно узнать коэффициент наклона линии К=(50-20)/(30-10)
и построить график по 100 точкам
Для Сч=1 По100 Цикл
Диарамма....Х=(Сч-10)
Диаграмма...Y=Сч*К+20
Ну вот и все
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Практикант)
Ответ отправлен: 29.02.2008, 12:16

Отвечает: Крюков Р.А.
Здравствуйте, Dmitry Stashenko!
Для отображения графической информации в 1С v7.7 предусмотрен Объект Картинка для которого предусмотрены 4 метода.
Загрузить(<ИмяФайла>)
Сохранить(<ИмяФайла>)
РежимРисования(<Режим>)
где <Режим> -:
1 - растягивать;
2 - рисовать по центру с оригинальным размером;
3 - рисовать, сохраняя оригинальное соотношение размеров.
УстановитьКартинку(<Объект>)
где <Объект> - Выражение, имеющее значение типа объекта картинки встроенного языка, или OLE-объект типа IPicture
Для решения данной задачи придется воспользоваться механизмом OLE
т.е Построить картинку используя OLE а затем подгрузить её.
По поводу алгоритмов нужно перлюстрировать архивы когда найду сброшу в сообщении.

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


Вопрос № 125.304
Здраствуйте дорогие эксперты!! Почти разобралась(благодаря вам) в dbf, но остался ещё вопрос: файл создается, в него сохраняются все суммы, но в столбец TIP выводятся не наименование бюджета(как в отчете), а его код. Как это исправить?Как вывести именно наименование?Заранее спасибо.

Приложение:

Отправлен: 28.02.2008, 17:50
Вопрос задала: Olyamur (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Maximush
Здравствуйте, Olyamur!

Видимо для бюджета у вас стоит основное представление - в виде кода.

//----
....
Х.TIP = Бюджет;
....
//----

замените на
//----
...
Х.TIP = Бюджет.Наименование;
...
//----
Ответ отправил: Maximush (статус: 2-ой класс)
Ответ отправлен: 28.02.2008, 18:24
Оценка за ответ: 5
Комментарий оценки:
Спасибо, но это (Х.TIP = Бюджет.Наименовани) не помогает.Выдается ошибка:"Значение не представляет агрегатный объект(Наименование)".

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

Х.TIP = ?(ТипЗначенияСтр(Бюджет)="Справочник",Бюджет.Наименование,Бюджет);
Ответ отправил: Dmitry Stashenko (статус: Студент)
Ответ отправлен: 28.02.2008, 19:06
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо!!! Всё работает как надо.Спасибо.

Отвечает: Крюков Р.А.
Здравствуйте, Olyamur!
Пропишите в коде
Х.TIP = Бюджет.Наименование;

---------
Отвечаю только на вопросы в тему.
Ответ отправил: Крюков Р.А. (статус: 3-ий класс)
Ответ отправлен: 29.02.2008, 10:18
Оценка за ответ: 4
Комментарий оценки:
Спасибо, но так выдается ошибка.


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

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

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

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

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

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


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


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

В избранное