Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » 1C Программирование и поддержка

Модерирует : ShIvADeSt

ShIvADeSt (03-04-2009 02:03): Продолжение тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10256#1
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тема для программирования !!!
Это продолжение темы, предыдущие части доступны тут


ПРОГРАММЫ  1С:Предприятие 1C - 1C: Вопросы по конфигурациям

ВАРЕЗНИК   1C:Предприятие 7.7 - 1С:Предприятие v.8.x - 1C Диск ИТС - 1С: Совместимо 8.х

Топик 1C Ebooks
ЗДЕСЬ (обновлено 27.03.2009) - небольшая библиотечка (книги, документация, видео, утилиты) по 1С, финансам, бухучету и т.п.
Все рассортировано по версиям...

Для заблудившихся в трех соснах >>> FAQ по форуму RU.Board

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:30 06-02-2008 | Исправлено: vkramnik, 21:26 27-03-2009
octoberfest



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А мне надо и по складу

 
Док = СоздатьОбъект("Документ.ОтчетККМ");
Если Док.ВыбратьДокументы(Дата1, дата2)=0 Тогда
    Возврат
КонецЕсли
 
Пока Док.ПолучитьДокумент()=1 Цикл
    Если Док.Склад <> НужныйСклад Тогда
        Продолжить
    КонецЕсли;
 
    // обработка
 
КонецЦикла;
 
Или создай графу отбора "СкладККМ" куда добавь реквизит склад только из документа ОтчетККМ.  
И делай  
Док = СоздатьОбъект("Документ");
Если Док.ВыбратьПоЗначению(Дата1, Дата2, "СкладККМ", НужныйСклад)=0 Тогда
    Возврат
КонецЕсли;
Пока Док.ПолучитьДокумент()=1 Цикл
    ......
КонецЦикла;

Всего записей: 92 | Зарегистр. 27-02-2008 | Отправлено: 15:52 17-10-2008
Le_Cri



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
octoberfest
Спасибо большое за помошь)

Всего записей: 473 | Зарегистр. 11-06-2004 | Отправлено: 07:09 18-10-2008
octoberfest



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 
Возникла след. проблема.  
Я выполняю запись и проведение документа из модуля формы документа при нажатии на кнопку "Итог".  
Причем поместил вызов этих процедур ( Записать(), Провести() ) в тело транзакции.  
Если проведение завершено нормально - транзакция фиксируется, если нет - отменяется.  
Т.е. я не хочу что бы в случае неудачного проведения документа (например товара нет в нужном количестве) он сохранялся в базе.  
 
Приблизительно вот так:  
 
Код:  
НачатьТранзакцию()  
Транзакция = 1;  
 
Записать();  
 
Если Провести()=0 Тогда  
    Сообщить("(не проводится документ!)");  
    Транзакция = 0;              
КонецЕсли;  
 
Если Транзакция = 1 Тогда  
                 
    ЗафиксироватьТранзакцию();  
    Форма.Закрыть();  
         
Иначе  
 
    ОтменитьТранзакцию();  
 
КонецЕсли;  
 
 
 
Проблема такая.  
Если документ проводится нормально - все ОК.  
Но если товара не хватает, и выходит сообщение "(не проводится документ!)"  
то при следующем нажатии кнопки "Итог" программа закрывается с сообщением об ошибке.  
Что делать?  
1С 7.7 релиз 27 (пробовал на 25 - то же самое)

 
Никто помочь не может?

Всего записей: 92 | Зарегистр. 27-02-2008 | Отправлено: 11:07 18-10-2008
AJlBA



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
octoberfest, попробуй так
 
Попытка
   НачатьТранзакцию()  
     Записать();  
     Провести();
    ЗафиксироватьТранзакцию();  
    Форма.Закрыть();    
Исключение
    ОтменитьТранзакцию();  
КонецПопытки
 

Всего записей: 1 | Зарегистр. 17-10-2008 | Отправлено: 11:57 18-10-2008
An4eus



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
octoberfest

Цитата:
Т.е. я не хочу что бы в случае неудачного проведения документа (например товара нет в нужном количестве) он сохранялся в базе.  

документ можно провести только в том случаем, если он существует, т.е. СОХРАНЁН...

----------
Век живи - век учись!

Всего записей: 3768 | Зарегистр. 23-07-2007 | Отправлено: 14:09 18-10-2008
russtone

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
стал изучать 1с (8.1),  учу потиху по учебнику(М.Г. Радченко 8.0)
создал справочник >> непонравилась форма(элемент) создал форму что то напортачил и теперь как ее удалить? ругается что нельзя удалить:
"Объект "Справочник.Номенклатура.Форма.ФормаЭлемента54654" использован в:
Справочник.Номенклатура.ОсновнаяФормаОбъекта"
 
как просто удалить без пересоздания справочника... сбросить в по умолчанию.
 
и заодно вопрос что хотел исправить и что не получилось.

решил сделать список выпадающий сделал, но в нем нет данных из перечислений. А по F4-выбрать как было так и осталась возможность...
 
и еще где можно разобрать на исходник(встроенного языка стандартную форму т.е. посмотреть код создаваемый через визарды)
 

Всего записей: 24 | Зарегистр. 12-09-2006 | Отправлено: 01:29 21-10-2008
maderdux

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
deleted
разобралсо=)

Всего записей: 18 | Зарегистр. 17-09-2008 | Отправлено: 02:31 21-10-2008 | Исправлено: maderdux, 12:22 21-10-2008
octoberfest



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AJlBA
Зафиксировать транзакцию или нет зависит от результатов проведения документа.
Я не хочу что бы непроведенный документ сохранялся в базе.
 
An4eus
Так я и делаю, сначала записать потом провести.  
Только если первый раз произошел откат транзакции, то во-второй раз запись происходит нормально, а при попытке провести документ 1С вылетает (до модуля проведения дело даже не доходит)

Всего записей: 92 | Зарегистр. 27-02-2008 | Отправлено: 10:23 21-10-2008
tdr1225



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Le_Cri

Цитата:
По-моему ВыбратьПоЗначению работает только с объектом документ неопределенного вида. Т.е Док = СоздатьОбъект("Документ");  
ответил octoberfest
У меня та же история. Я сделал:

Код:
Док=СоздатьОбъект("Документ");
Док.ВыбратьПоЗначению(ВыбНачПериода,ВыбКонПериода,"Склад",ВыбСклад);
Пока Док.ПолучитьДокумент()=1 Цикл
  Если Док.Вид() <> "ОтчетККМ" Тогда Продолжить; КонецЕсли;
  // и далее обработка документа "ОтчетККМ"

 

Всего записей: 282 | Зарегистр. 07-12-2005 | Отправлено: 15:30 21-10-2008
octoberfest



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Новая проблема.
Есть 2 офиса.  
В головном офисе (О1) стоит сервер (Терминал+1С(файловый)) и АДСЛ модем с выходом в интернет.
Удаленный офис (О2) АДСЛ модемом подключен через VPN к О1.  
В О2 модем подключен к свитчу к которому подключено 3 рабочих компьютера работающие в 1С в терминальных сессиях на сервере.  
Скорость АДСЛ соединения в О1 4Gb (up) / 1 Gb (dn), в О2 - 256/256.
 
На сервере установлен Win2k3 sp2 и поднят Terminal Server.
Настройки и права пользователей одинаковы у всех пользователей.
 
Проблема - ни стого ни с сего на рабочих станциях закрывается 1С. При этом сама терминальная сессия и остальные приложения в ней (excel, outlook) продолжают работать нормально.  
 
Таким же образом подключено еще 3 других удаленных офиса - в них все работает ОК.
 
В чем может быть проблема?

Всего записей: 92 | Зарегистр. 27-02-2008 | Отправлено: 18:58 21-10-2008
maderdux

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите как быть
Конфигурация УТ
Добавляю элемент в документ Установка цен номенклатуры
в табличную часть этого элемента надо добавить строку в которой будет прописана оптовая и розничная цена
вот токая штука

Код:
 
Док=Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
Док.Дата = ТекущаяДата();
Док.НеПроводитьНулевыеЗначения=Истина;
 
Стр=Док.Товары.Добавить();
Стр.ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Оптовая");
Стр.Номенклатура=Справочники.Номенклатура.НайтиПоРеквизиту("Артикул","1254071");
Стр.Валюта=Справочники.Валюты.НайтиПоКоду("643");
Стр.Цена=Справочники.Номенклатура.НайтиПоРеквизиту("Артикул","1254071").Price;
Стр.ЕдиницаИзмерения=Справочники.ЕдиницыИзмерения.НайтиПоКоду("000000001");
 
Стр.Цена=Справочники.Номенклатура.НайтиПоРеквизиту("Артикул","1254071").RetailPrice;
 
СтрТипЦ=Док.ТипыЦен.Добавить();
СтрТипЦ.ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Оптовая");
СтрТипЦ=Док.ТипыЦен.Добавить();
СтрТипЦ.ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная");
 
Док.Записать();
 

Добавляет цену только в типцен "розничная",то есть в последний элемент тупо перезаписывая цену розничную на цену оптовую...
вопрос: как зафиксировать сначало оптовую, а потом уж розничную...

Всего записей: 18 | Зарегистр. 17-09-2008 | Отправлено: 01:57 22-10-2008
St01en

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
maderdux
А зачем так?  
 

Цитата:
СтрТипЦ.ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Оптовая");  

 
В справочнике есть реквизит соответствующий цене? Вот его и вставляй. Типа
 
СтрТипЦ.ТипЦен=Справочники.ТипыЦенНоменклатуры.ОптоваяЦена;
 
Ну и для того, чтоб бралась именно твоя цена, сделай проверку по Артикул или Код
 
octoberfest
 
1С какая? Если сетевая, то при работе юзеров на пользовательский комп перекачивается вся база, там обрабатывается и закачивается обратно. Скорей всего проблема в сети. Не тянет. Попробуй поменять свитч и модем(возьми с другого офиса и посмотри).

Всего записей: 292 | Зарегистр. 10-04-2006 | Отправлено: 09:05 22-10-2008 | Исправлено: St01en, 09:10 22-10-2008
octoberfest



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а не пробовал сначала типы цен добавить а потом строки в ТЧ Товары?

Всего записей: 92 | Зарегистр. 27-02-2008 | Отправлено: 09:31 22-10-2008
maderdux

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а не пробовал сначала типы цен добавить а потом строки в ТЧ Товары?

пробовал не помогает...
St01en
там такая штука...там 2 табличные части,Товары и ТипЦен
во второй типцен лежат

Цитата:
СтрТипЦ=Док.ТипыЦен.Добавить();
СтрТипЦ.ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Оптовая");
СтрТипЦ=Док.ТипыЦен.Добавить();
СтрТипЦ.ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная");  

а в первой данные по товару, и на сколько я понял чтобы положить нужную цену в нужную ячейку, надо указывать к какому элементу табличной части типыцен она относится...
Цитата:
Стр.ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Оптовая");
Стр.Цена=Справочники.Номенклатура.НайтиПоРеквизиту("Артикул","1254071").Price;  
 

 
или я не так понимаю?

Всего записей: 18 | Зарегистр. 17-09-2008 | Отправлено: 12:14 22-10-2008
St01en

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
maderdux
Честно говоря, не совсем понял. Где две табличных части?
 
Чтоб заполнить две разных цены - надо их получить. Т.е., нужно знать - что это именно твоя цена. Я так понял, ты в первую таблицу заносишь вот это?
 
 Стр=Док.Товары.Добавить();
Стр.ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Оптовая");
Стр.Номенклатура=Справочники.Номенклатура.НайтиПоРеквизиту("Артикул","1254071");
Стр.Валюта=Справочники.Валюты.НайтиПоКоду("643");
Стр.Цена=Справочники.Номенклатура.НайтиПоРеквизиту("Артикул","1254071").Price;
Стр.ЕдиницаИзмерения=Справочники.ЕдиницыИзмерения.НайтиПоКоду("000000001");
 Стр.Цена=Справочники.Номенклатура.НайтиПоРеквизиту("Артикул","1254071").RetailPrice;
 
Тогда где здесь розничная цена? Потом ты во вторую хочешь вставить только цены. Опять же, в первой части оптовая цена находиться или нет?  

Всего записей: 292 | Зарегистр. 10-04-2006 | Отправлено: 13:17 22-10-2008 | Исправлено: St01en, 13:28 22-10-2008
maderdux

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вот такая структура в конфигураторе
http://www.motockayt.ru/images/1c/scr1.JPG
 
вот так выглядит в 1с
http://www.motockayt.ru/images/1c/src2.JPG
 
как можно заметить на последнем скрине цена(да и все данные)стоят только в конце...

Всего записей: 18 | Зарегистр. 17-09-2008 | Отправлено: 13:36 22-10-2008
pa_dima



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Le_Cri
 
Цитата:
По-моему ВыбратьПоЗначению работает только с объектом документ неопределенного вида. Т.е Док = СоздатьОбъект("Документ");  
ответил octoberfest
У меня та же история. Я сделал:
 
Код:
Док=СоздатьОбъект("Документ");
Док.ВыбратьПоЗначению(ВыбНачПериода,ВыбКонПериода,"Склад",ВыбСклад);
Пока Док.ПолучитьДокумент()=1 Цикл
  Если Док.Вид() <> "ОтчетККМ" Тогда Продолжить; КонецЕсли;
  // и далее обработка документа "ОтчетККМ"
 
 

 
Сделай запросом и все будет работать  
 

Всего записей: 180 | Зарегистр. 22-09-2003 | Отправлено: 14:55 22-10-2008
maderdux

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
во, разобралсо...
мб кому пригодитсо:

Код:
 
Док=Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
Док.Дата = ТекущаяДата();
Док.НеПроводитьНулевыеЗначения=Истина;
СтрТипЦ1=Док.ТипыЦен.Добавить();
СтрТипЦ1.ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Оптовая");
СтрТипЦ2=Док.ТипыЦен.Добавить();
СтрТипЦ2.ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная");
 
Стр=Док.Товары.Добавить();
Стр.Цена=Справочники.Номенклатура.НайтиПоРеквизиту("Артикул","1254071").Price;
Стр.ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Оптовая");
Стр.Номенклатура=Справочники.Номенклатура.НайтиПоРеквизиту("Артикул","1254071");
Стр.Валюта=Справочники.Валюты.НайтиПоКоду("643");
Стр.ЕдиницаИзмерения=Справочники.ЕдиницыИзмерения.НайтиПоКоду("000000001");
 
Стр=Док.Товары.Добавить();
Стр.ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная");
Стр.Номенклатура=Справочники.Номенклатура.НайтиПоРеквизиту("Артикул","1254071");
Стр.Цена=Справочники.Номенклатура.НайтиПоРеквизиту("Артикул","1254071").RetailPrice;
Стр.Валюта=Справочники.Валюты.НайтиПоКоду("643");
Стр.ЕдиницаИзмерения=Справочники.ЕдиницыИзмерения.НайтиПоКоду("000000001");
 
Док.Записать();
 
 

Всего записей: 18 | Зарегистр. 17-09-2008 | Отправлено: 15:17 22-10-2008 | Исправлено: maderdux, 15:22 22-10-2008
jobrus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
Подскажите пожалуйста где можно прочитать про ограничение прав а 1с 7.70.027 упрощенная система налогообложения 157? Хотелось бы ограничить пользователя возможность выписывать счета, накладные, доверенности и просматривать связанные с ними журналы. Заранее благодарен за любую помощь.

Всего записей: 53 | Зарегистр. 03-11-2006 | Отправлено: 16:55 22-10-2008
sergey98765

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день.
 
Кто как бы решал такую задачу в 7.7?
 
1. Надо собрать данные с нескольких запросов - бух. запрос и запросы по регистрам
2. Сделать отчеты с горизонтальными (групировки по справочнику и еще разное) и вертикальными групировками (будут разные, счас и по периодам, сравнение с планом, разбивка по справочнику и подсчет по группам справочника).
 
Хочу разобраться имеет ли смысл выгружать данные запросов например в Аксесс, а там групировать, сортировать, получать сводную таблицу?
Если не имеет смысла с помощью каких средств можна получить возможности сводных таблиц (итоги по полям, вертикал. и горизонтальные поля т.д.) в 1С?
 
Прошу сильно не пинать, хочу разобраться как быстрей это делать с минимальными усилиями.

Всего записей: 33 | Зарегистр. 18-11-2005 | Отправлено: 17:06 22-10-2008
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » 1C Программирование и поддержка
ShIvADeSt (03-04-2009 02:03): Продолжение тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10256#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru