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

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

  Все выпуски  

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


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

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

Выпуск № 429
от 14.02.2007, 23:35

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


Вопрос № 74863: Доброго времени суток. Я создала документ в котором для выбора материала должна открываться форма дляПодбора, в которой в поле ввода выбирается материал из справочника владельца а в табличной части отображаются все данные по этому материалу (места хр...
Вопрос № 74898: Здравствуйте! Сечас работаем на 7.7. Возможно ли запустить её на Linux'е? Если да, то что для этого нужно?...
Вопрос № 74924: Здравствуйте! Имеется вид накладной РасходнаяНакл, которая оплачивается только по банку. В журнале РасходныеНакл сделала (на примере платежных поручений), чтобы выводилась пиктограмма если документ использован в Выписке. В журнале.РасходныеНакл созда...
Вопрос № 75017: Здравствуйте эксперты! Документ СчетФактура вводится на основании РасходнаяНакл при нажатии на кнопку Действия (глДействия(Контекст, СписокДействий). Как мне описать, чтобы по РасходнойНакл может вводится только одна СчетФактура. Т.е. если уже записа...

Вопрос № 74.863
Доброго времени суток. Я создала документ в котором для выбора материала должна открываться форма дляПодбора, в которой в поле ввода выбирается материал из справочника владельца а в табличной части отображаются все данные по этому материалу (места хранения, Даты поступления и т.д ), надеюсь понятно объяснила ,так вот я делаю следующие:
В документе пишу:
Процедура Материалы()
СпрНазнач=СоздатьОбъект("Справочник.Назначение");
ОткрытьФормуМодально("Справочник.Назначение.ДляПодбора",Материал);
КонецПроцедуры

А в форме ДляПодбора
Процедура Приоткрытии()
ИспользоватьВладельца(Форма.Параметр);
КонецПроцедуры
Но при открытии формы ДляПодбора в поле ввода ничего не передается, а в табличной области содержаться все материалы, но если даже я и выбираю материал, ничего не меняется. Я думаю, что неправильно использую Форма.Параметр

Отправлен: 08.02.2007, 23:31
Вопрос задал: Fifina (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Fifina!
Во первых, подбор открывается так:
Докум=Контекст;
ОткрытьПодбор(Каталог,"ДляПодбораРозница",Докум);
УстановитьЗначениеВПодборе("Склад",МестоХранения);

Во вторых, при выборе ТМЦ в подборе выполняется процедура
Процедура ОбработкаПодбора(Выб, КонтекстФормы)
Количество_ПриПодборе = 1;
Если ВвестиЧисло(Количество_ПриПодборе,"Введiть кiлькiсть",15,3) = 0 Тогда
Возврат;
КонецЕсли;
НоваяСтрока();
ТМЦ=Выб;
Количество=Количество_ПриПодборе;

КонецПроцедуры //* ОбработкаПодбора

Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Студент)
Ответ отправлен: 09.02.2007, 12:04
Оценка за ответ: 4
Комментарий оценки:
я использую открытьФормуМодально а не ОткрытьПодбор.


Вопрос № 74.898
Здравствуйте!
Сечас работаем на 7.7. Возможно ли запустить её на Linux'е? Если да, то что для этого нужно?
Отправлен: 09.02.2007, 07:50
Вопрос задал: Munster (статус: 7-ой класс)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Зайцев Александр
Здравствуйте, Munster!
Такая возможность есть, для этого вам надо под Линукс установить транслятор Wine, (http://www.etersoft.ru/content/view/80/)
Посмотрите следующие ссылки:
http://www.linux.org.ru/view-message.jsp?msgid=672428
http://www.forum.mista.ru/topic.php?id=213429
Ответ отправил: Зайцев Александр (статус: Студент)
Ответ отправлен: 09.02.2007, 08:07
Оценка за ответ: 5
Комментарий оценки:
Спасибо, буду пробовать!

Отвечает: Шутяев Игорь
Здравствуйте, Munster!

Под 'nixами 1С непосредственно не работает. Но у них есть эмуляторы Windows, думаю, это единственный путь.
Ответ отправил: Шутяев Игорь (статус: 3-ий класс)
Ответ отправлен: 09.02.2007, 08:23
Оценка за ответ: 5
Комментарий оценки:
Спасибо!

Отвечает: Яна
Здравствуйте, Munster!
На Linux'е можно запустить только 8.1
Ответ отправила: Яна (статус: 5-ый класс)
Ответ отправлен: 09.02.2007, 08:39
Оценка за ответ: 5
Комментарий оценки:
Как я понимаю семерку под Linux не дождаться?

Отвечает: BigHard
Здравствуйте, Munster!
Многим бы этого хотелось, но вряд ли это возможно. 1с создана только для платформы Windows да и использование эмулятора Windows не поможет. Может когда нибудь и будет 1с под линукс.

---------
Чем отличается чайник от программиста: У чайника в одном килобайте 1000 байт, а у программиста в одном километре 1024 метра
Ответ отправил: BigHard (статус: 2-ой класс)
Ответ отправлен: 09.02.2007, 09:02
Оценка за ответ: 5
Комментарий оценки:
Очень хочется, особенно когда смотришь на цены, которые MS выставляет на свои ОС.

Отвечает: BuhCIA
Здравствуйте, Munster!
1C 7.7 под Linux обещает работоспособность Ethersoft (Wine@Ethersoft), но 400 рублей стоит лицензия только на локальную версию 1С, а на сетевую - цена почти равна цене Windows XP Prof, причем на каждый компьютер.
Другой вариант - ASP Linux, тоже недешево.
И там, и там глюков/багов можно ожидать постоянно...
Если хотите погрустить вместе, то см. http://buhcia.narod.ru "...Linux..."
Насчет 1С 8.1 под Linux - это фантастика, там под Linux обещают только серверы приложений, а компьютеры-клиенты все равно под Windows.
---------
Скажите, сколько времени? - (устало, показывая часы) Читайте, там же все написано!
Ответ отправил: BuhCIA (статус: Профессионал)
Россия, Москва
Организация: Бухгалтерия Центрального Исполнительного Аппарата (фирмы с филиалами) = БухЦИА
WWW: http://buhcia.narod.ru
----
Ответ отправлен: 14.02.2007, 00:00


Вопрос № 74.924
Здравствуйте! Имеется вид накладной РасходнаяНакл, которая оплачивается только по банку. В журнале РасходныеНакл сделала (на примере платежных поручений), чтобы выводилась пиктограмма если документ использован в Выписке. В журнале.РасходныеНакл создана графа «Оплата» куда хотелось бы чтобы ставилась сумма по Выписке. Но так как сделано у меня – не получается. Подскажите кто может пожалуйста…

Приложение:

Отправлен: 09.02.2007, 11:18
Вопрос задала: Darina (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Strawberry
Здравствуйте, Darina!
НЕпонятно зачем вот это :

// в процедуре ПриЗаписи() в РасходнаяНакл
...
If (ТекущийДокумент().Проведен()=1) Then
Оплата = глНайтиСуммуОплаты(Контекст);
EndIf;
..
//-----------------------------------------------------------
т.е. после того как проведены выписки банка вы должны зайти и провести расходную ??

в функции -
Функция глНайтиСуммуОплаты(Конт) Экспорт
ИтСумма=0;
Если Конт.Проведен() = 1 Тогда
ДокПодч=СоздатьОбъект("Документ");
ДокПодч.ВыбратьПодчиненныеДокументы(,,Конт.ТекущийДокумент());
Пока ДокПодч.ПолучитьДокумент()=1 Цикл
Если ДокПодч.Вид()="Выписка" Тогда
Если ДокПодч.ПометкаУдаления()=1 Тогда
Продолжить;
КонецЕсли;
ИтСумма=ИтСумма+ДокПодч.Приход;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если ИтСумма=0 Тогда
Возврат "";
Иначе
Возврат ИтСумма;
КонецЕсли;
КонецФункции

ИтСумма=ИтСумма+ДокПодч.Приход; - имеет смысл если в выписке реквизит "Приход" - реквизит шапки, если же это реквизит табличной части , то сначала необходимо спозиционироваться на нужную строку (найти в табличной части строку в которой наша расходная накладная) и потом уже присваивать - ИтСумма+ДокПодч.Приход;
---------
Мальчик-извращенец прочел деду Морозу с табуретки всего Пастернака!
Ответ отправил: Strawberry (статус: 3-ий класс)
Ответ отправлен: 09.02.2007, 13:46
Оценка за ответ: 5
Комментарий оценки:
Спасибо за пояснения! да неудобно будет перепроводить накладную после выписки :-)
значит как-то надо в графу Оплата (другую - текст) вставлять сумму, и как тогда сделать суммирование...

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

Если я Вас правильно понял, почему бы не поступить следующим образом:
1. В документе РасходнаяНакл (далее "РН") создаем реквизит "СуммаОплаты" (тип "число")
2. В банковской выписке (далее "БВ") создаем реквизит "ОплачиваемыйДокумент" (тип "Документ.РасходнаяНакл")
3. В модуле документа БВ в обработке проведения добавляем после движений по всем необходимым нам регистрам:
ВыбратьСтроки();
Пока ПолучитьСтроку()>0 Цикл
Если ОплачиваемыйДокумент.Выбран()=1 Тогда
ОплачиваемыйДокумент.УстановитьАтрибут("СуммаОплаты",ОплачиваемыйДокумент.СуммаОплаты+Приход); //может быть случай когда оплачивается частями
КонецЕсли;
КонецЦикла;
4. В модуле документа БВ в обработке отмены проведения добавляем:
ВыбратьСтроки();
Пока ПолучитьСтроку()>0 Цикл
Если ОплачиваемыйДокумент.Выбран()=1 Тогда
ОплачиваемыйДокумент.УстановитьАтрибут("СуммаОплаты",ОплачиваемыйДокумент.СуммаОплаты-Приход); //может быть случай когда оплачивается частями
КонецЕсли;
КонецЦикла;
5. В журнале "РасходныеНакл" в Вашу графу «Оплата» выводить значение реквизита документа РН - "СуммаОплаты".
6. С целью пресечь задваивание рекомендую запретить изменение проведенной БВ - в начало процедуры ПриОткрытии() добавить
Если Проведен()=1 Тогда
Предупреждение("Документ 'Банковская Выписка' редактируется только после снятия с проведения!",5);
Форма.ТолькоПросмотр(1);
КонецЕсли;
7. С целью пресечь задваивание при групповом перепроведении рекомендую создать некую глобальную переменную или лучше константу (например, глВыполняетсяПерепроведение, тип число, длина 1, неотрицательное), перед началом группового перепроведения присваивать ей значение равное 1 и тогда в модуле документа БВ вместо строк п.3 добавляем

Если глВыполняетсяПерепроведение=0 Тогда
ВыбратьСтроки();
Пока ПолучитьСтроку()>0 Цикл
Если ОплачиваемыйДокумент.Выбран()=1 Тогда
ОплачиваемыйДокумент.УстановитьАтрибут("СуммаОплаты",ОплачиваемыйДокумент.СуммаОплаты+Приход); //может быть случай когда оплачивается частями
КонецЕсли;
КонецЦикла;
КонецЕсли;

вместо строк п.4 добавляем
Если глВыполняетсяПерепроведение=0 Тогда
ВыбратьСтроки();
Пока ПолучитьСтроку()>0 Цикл
Если ОплачиваемыйДокумент.Выбран()=1 Тогда
ОплачиваемыйДокумент.УстановитьАтрибут("СуммаОплаты",ОплачиваемыйДокумент.СуммаОплаты-Приход); //может быть случай когда оплачивается частями
КонецЕсли;
КонецЦикла;
КонецЕсли;

Надеюсь, мой ответ Вам поможет. Удачи!
Ответ отправил: Gl0betrotter (статус: Студент)
Ответ отправлен: 09.02.2007, 15:32


Вопрос № 75.017
Здравствуйте эксперты! Документ СчетФактура вводится на основании РасходнаяНакл при нажатии на кнопку Действия (глДействия(Контекст, СписокДействий). Как мне описать, чтобы по РасходнойНакл может вводится только одна СчетФактура. Т.е. если уже записана, то выводится предупреждение, "что по данной РасходнойНакл уже есть СчетФактура". Подскажите пожалуйста...

Приложение:

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

Отвечает: Яна
Здравствуйте, Darina!
Сделать в РасходнойНакл реквизит СчетФактура, а при открытии формы новой СчетЯактуры проверку заполнен ли в ее основании этот реквизит, если заполнен, то не открывать форму, желательно при этом что-либо сообщить, например номер СчетФактуры, ранее введенной на основании данной РасхНакл.
Ответ отправила: Яна (статус: 5-ый класс)
Ответ отправлен: 09.02.2007, 23:23
Оценка за ответ: 4
Комментарий оценки:
спасибо!

Отвечает: svsrus
Здравствуйте, Darina!
Вообщем нужно делать так как сказала Яна, правда с добавлением реквизита в расходную накладную нужно быть осторожнее, т.к. может возникнуть ситуация, когда док Расходная накладная будет записан, а от записи счет-фактуры могут отказаться. Вообщем могут получиться довольно неприятные вещи. Наверное лучше сделать так: в процедуру глСоздатьДокументНаОсновании(Конт) или другой сделать запрос по счетам - фактурам, где проверять значение реквизита ДокументОснование, если он = ТекущийДокумент(), то возврат. Это может быть немного долговато, особенно если очень много счетов-фактур, но зато более надежно. Да и можно ускорить запрос, например сжатием временных интервалов и т.д.
Ответ отправил: svsrus (статус: 3-ий класс)
Ответ отправлен: 10.02.2007, 09:03
Оценка за ответ: 4
Комментарий оценки:
Спасибо

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Darina!
1. Общая болезнь всех стандартных конфигураций так это то, что все возможные варианты записываются в ГлобальныйМодуль, и процедуру глДействия тяжело редактировать. Малейшие неверные действия с этой процедурой затрагивают в непонятнейших вариантах другие документы. Вам от использования этой процедуры прийдется отказаться. Скопируйте ее в локальный модуль назовите ЛокДействия, уберите всю шелуху типа ненужных проверок на остальные документы.
2. Проанализируйте конфигурацию. Если счет-фактура подчинен РасходнаяНакл, то ответ напрашивается сам собой - нужно анализировать подчиненные документы.
Если ТекущийДокумент.Выбран()=0 Тогда //сам документ еще не записан, у него не может быть подчиненного счета-фактуры
Записать();// или Возврат, по настроению
КонецЕсли;
Док=СоздатьОбъект("Документ");
Док.ВыбратьПодчиненныеДокументы(,,ТекущийДокумент());
Пока Док.ПолучитьДокумент()=1 Цикл
Если Док.вид()="СчетФактура" Тогда//Есть счет-фактура. Откроем или не откроем - по настроению его форму
ОткрытьФормуМодально(Док.ТекущийДокумент());
Возврат;
КонецЕсли;
КонецЦикла;
//А вот здесь мы уверены, что счетФактура еще нет.
Создадим его любыми методами, какими захотим. Или непосредственно, типа ДокСчФ=СоздатьОбъект("Документ.СчетФактура");
ДокСчФ.Новый();
ДокСчФ.Основание=ТекущийДокумент();
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
ДокСчФ.НоваяСтрока();
ДокСчФ.ТМЦ=ТМЦ;
КонецЦикла
ДокСчФ.Записать();
Если ДокСчФ.Провести()=1 Тогда
...
Иначе
...
КонецЕсли

Или создавайте счет-фактуру интерактивно, я уже раньше подсказывал как, если что-то непонятно, то пишите, отвечу.

3. В корне откажитесь от использования процедуры глСоздатьДокументНаОсновании(Конт), это грубая и некачественная работа, лучше создавайте документ в специфической, тонко настроенной и продуманной процедуре ЛокДействия.

4. Если же счет-фактура не подчинен РасходнаяНакл,(то есть в счетеФактуре нет реквизита типа документ, который ссылается на РасходнаяНакл) то прийдется придумывать другой алгоритм, вплоть до того, что создать этот реквизит.
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Студент)
Ответ отправлен: 10.02.2007, 16:57
Оценка за ответ: 5
Комментарий оценки:
Спасибо в очередной раз за такие подробные комментарии!!! Счет-фактура подчинен РасходнаяНакл, но на основании последнего вводится ещё один документ... Вообщем, решила я ничего не менять, а решила свою проблему (видно что по данной накл уже выписана счет-фактура) по-другому


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.44 beta от 26.01.2007
Яндекс Rambler's Top100

В избранное